Top 1,000 Features Creators Resources Blog Explore Download
GitHub icon

All Features

A list of 166 features found in programming languages.

title pseudoExample yes no percentage
Comments # Hello PLDB 623 4 99%
Line Comments # Hello PLDB 524 21 96%
Strings "Hello PLDB" 363 0 100%
Print() Debugging print "Hello PLDB" 317 1 100%
MultiLine Comments /* Hello PLDB */ 221 19 92%
Integers 80766866 157 1 99%
Floats 80766866.0 135 0 100%
Booleans pldb = true 116 3 97%
Hexadecimals 0x4D06792 106 1 99%
Conditionals if (isTrue) printPldb() 72 3 -
Semantic Indentation line0 if true line1 print "Hello PLDB" 65 517 11%
Octals 0o464063622 52 2 -
Assignment name = "PLDB" 51 1 -
While Loops while (pldb.pop()) loop() 48 2 -
Binary Literals 0b100110100000110011110010010 48 1 -
File Imports import pldb 43 2 -
Functions function computePLDBRanks() {} 42 1 -
Operator Overloading def __add__(): doSomethingDifferent() 33 12 -
Classes class PLDBFile {} 30 4 -
Type Inference imAString = "pldb" 26 0 -
Macros #define pldbItems 4000 25 9 -
Constants const name = "PLDB" 25 1 -
Switch Statements switch animal: case dog-buy; case cat-sell; 24 1 -
Case Insensitive Identifiers pLdB = "PLDB" 23 53 -
Exceptions throw new Error("PLDB uh oh") 22 3 -
Pointers int *pldb 20 5 -
Lists [2, 3, 10] 19 1 -
Inheritance class PLDBFile extends File 19 1 -
Directives use strict; 19 2 -
Case Sensitivity pldb != PLDB 18 8 -
Access Modifiers class PLDBFile { public title } 18 3 -
Garbage Collection var iDontNeedToFreeThis 17 8 -
Lispy (+ 1 2) 15 1 -
Constructors PLDBFile { constructor() {} } 15 4 -
Scientific Notation 8076686.6e1 14 0 -
Multiple Inheritance extends parentWhichExtendsSomethingElse 14 5 -
Multiline Strings hello = """Hello\nPLDB""" 12 1 -
Message Passing "get pldb" 12 1 -
Static Typing int pldbRank = 100 10 0 -
Module Pattern module PLDB {} 10 0 -
Bitwise Operators 3 == (2 | 1) 10 1 -
Single Dispatch person.run() 9 1 -
Regular Expression Syntax Sugar /pldb/ 9 6 -
Pattern Matching fib 0 = 1; fib 1 = 1 9 1 -
Increment and decrement operators i++ 9 2 -
Here Document `A big multliline text block` 9 1 -
Zero-based numbering firstItem = pldb[0] 8 3 -
Threads thread1(); thread2(); 8 1 -
Mixins extends pldbFile, diskFile 8 1 -
Homoiconicity (list ()) 8 1 -
Enums colorsEnum { "red", "white", "blue"} 8 5 -
Ternary operators true ? 1 : 0 7 7 -
Structs struct pldbFile { int rank; char *title; }; 7 0 -
Namespaces namespace PLDB {} 7 2 -
Iterators for lang in pldb() 7 1 -
Infix Notation 1 + 2 7 0 -
Function Composition o = (f, g) => x => f(g(x)) 7 1 -
Fixed Point Numbers 80766866.00 7 2 -
Type Casting (float)pldbRank; 7 0 -
Disk Output write("pldb.csv", "...") 7 4 -
Variadic Functions args.map(doSomething) 6 0 -
Units of Measure 42cm 6 4 -
Partial Application add5 = num => addNumbers(10, num) 6 0 -
Maps {name: "PLDB"} 6 0 -
Manual Memory Management malloc(4); 6 1 -
Interfaces interface PLDBFile 6 1 -
Generics function identity<T>(arg: T): T 6 1 -
hasForLoops 6 0 -
hasForEachLoops 6 0 -
Anonymous Functions () => printPldb() 6 0 -
Shebang #! /run 6 0 -
Polymorphism a + "b"; 1 + 2 5 1 -
Pipes ls pldb | wc 5 1 -
Null uhOh = null 5 0 -
Expressions (1 + 2) 5 0 -
Doc comments // param1: A comment about the first param 5 0 -
Dependent types pldbSortedList // a list where is sorted is true 5 1 -
Default Parameters Pattern say(message = "Hello PLDB") 5 0 -
hasContinue 5 0 -
hasBreak 5 0 -
Async Await async downloadPldb => await getFiles() 5 3 -
Assert Statements assert(isTrue) 5 1 -
Union Types any = string | number 4 0 -
Unicode Identifers 未 = 0.00001 4 1 -
Unary Operators count++ 4 0 -
Typed Holes 2 + _ => 2 + [int|float] 4 0 -
Templates template TCopy(T) {} 4 2 -
Symbol Tables SymbolName|Type|Scope;bar|function,double|extern 4 0 -
Single-Type Arrays const pldbRanks: int[] 4 0 -
Sets {"pldb", "PLDB"} 4 1 -
Range Operator 1 ... 10 4 0 -
Prefix Notation + 1 2 4 0 -
Postfix Notation 2 3 4 + 2 - 4 0 -
Multiple Dispatch collide_with(x::Spaceship, y::Spaceship) 4 3 -
Gotos goto 10 4 4 -
Generators yield 2 4 0 -
Function Overloading add(string: str, string2: str) 4 4 -
Destructuring {title, rank} = pldbFile 4 0 -
hasSymbols 3 0 -
Streams echo 123 | 123.txt 3 0 -
hasSelfOrThisWord 3 0 -
hasReservedWords 3 2 -
Operators 1 + 1 3 1 -
Methods pldbFile.downloadWebsite() 3 0 -
Magic Getters and Setters get(name) => obj[name] 3 2 -
Lazy Evaluation print(range(1000000)[2]) 3 0 -
Labels mainFn: 3 1 -
hasIfs 3 0 -
hasIfElses 3 0 -
hasGlobalScope 3 0 -
hasFnArguments 3 0 -
First-Class Functions [2.1].map(Math.round) 3 0 -
hasEscapeCharacters 3 1 -
Dynamic Properties pldb.score = 50 3 2 -
Duck Typing length() // makes me an iterator 3 2 -
Dispose Blocks Pattern with pldb: do computeRanks() 3 1 -
Characters char character = 'P'; 3 0 -
Breakpoints debugger; 2 0 -
Merges Whitespace result = 1 + 2 2 0 -
Letter-first Identifiers pldb100 = "OK" // 100pldb = "ERROR" 2 0 -
hasVoidFunctions 2 0 -
Virtual function virtual FetchPLDBFile(); 2 0 -
Variable Substitution Syntax name = "PLDB"; print $name 2 10 -
hasUserDefinedOperators 2 2 -
Type Parameters function identity<T>(arg: T): T {return arg} 2 0 -
Type Annotations score: number 2 0 -
Traits use redBorder 2 0 -
hasTimestamps 2 0 -
hasStringConcatOperator 2 0 -
Static Methods static downloadPldb() {} 2 0 -
Statements print "Hello PLDB" 2 0 -
hasStatementTerminatorCharacter 2 0 -
Source Maps {file: 'pldb.min.js',sources: ['pldb.js'], mappings: 'CAAC,IAAI,IAAM'} 2 0 -
Runtime Guards f x | x > 0 = 1 | otherwise = 0 2 0 -
hasRequiredMainFunction 2 0 -
References fn(objPointer) 2 0 -
hasMemberVariables 2 0 -
Map Functions pldbFiles.map(downloadFilesFn) 2 0 -
Implicit Type Casting console.log("hello " + 2) 2 0 -
Implicit Arguments shout(implicit message: string) 2 0 -
hasExports 2 0 -
hasDynamicSizedArrays 2 0 -
Decimals 0.80766866 2 0 -
hasBuiltInRegex 2 2 -
hasBoundedCheckedArrays 2 0 -
Binary Operators 1 + 1 2 0 -
hasArraySlicingSyntax 2 0 -
Algebraic Data Type garageContents = empty | vehicle 2 0 -
canReadCommandLineArgs 2 0 -
Zippers pldbCursor.moveLeft() 1 0 -
hasValueReturnedFunctions 1 0 -
hasTryCatch 1 2 -
Triples Javascript isListedIn PLDB 1 0 -
S-Expressions (+ 1 1) 1 3 -
Refinement Types evenInt where int % 2 = 0 1 0 -
Processor Registers eax 2 1 1 -
Pairs (pl . db) 1 0 -
Monad g >>= f 1 0 -
hasMethodOverloading 1 1 -
Method Chaining pldbFile.toString().length 1 0 -
hasIds 1 0 -
hasDynamicTyping 1 0 -
Clobs class PLDBFile {} 1 0 -
hasBlobs 1 1 -
Abstract Types abstract class PLDBFile {} 1 2 -
canUseQuestionMarksAsPartOfIdentifier 1 1 -

View source

- Build the next great programming language About Acknowledgements Extensions Day 624 feedback@pldb.io