A list of 66 features found in programming languages. View all features.
We also have a page of all keywords and all file extensions.
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 | - |
Pattern Matching | fib 0 = 1; fib 1 = 1 | 9 | 1 | - |
Namespaces | namespace PLDB {} | 9 | 4 | - |
Manual Memory Management | malloc(4); | 9 | 1 | - |
Here Document | `A big multliline text block` | 9 | 1 | - |
Fixed Point Numbers | 80766866.00 | 8 | 5 | - |
Disk Output | write("pldb.csv", "...") | 8 | 11 | - |
Gotos | goto 10 | 7 | 4 | - |
Function Overloading | add(string: str, string2: str) | 7 | 5 | - |
Units of Measure | 42cm | 6 | 5 | - |
Variable Substitution Syntax | name = "PLDB"; print $name | 2 | 18 | - |