Measures Concepts
GitHub icon

All Features

A list of 166 features found in programming languages.

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

View source

- Build the next great programming language Search Add Language Features Creators Resources About Blog Acknowledgements Queries Stats Sponsor Day 605 feedback@pldb.io Logout