If what you want is an object-oriented, compiled, nominative strongly statically typed language with non-nullable reference types that supports detailed run-time type introspection, operator overloading, generics, method pointers, closures, class references, virtual constructors, exceptions, and direct memory manipulation, avoids function overloading, and has full mature Unicode support, a rich set of libraries, and a vibrant community, you are out of luck:
Language | Paradigm | Execution | Type-checking | Non-nullable reference types | RTTI | Operator Overloading | Function Overloading | Generics | Method pointers | Closures | Class references | Virtual constructors | Exceptions | Language support for enumeration | Direct memory manipulation | Automatic memory management | Native Unicode support | Community and libraries | Other notable failings |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
C | Procedural | Native | Nominative weak static | no | no | no | no | no | n/a | no | n/a | n/a | no | no | yes | None | no | Rich | Function pointers, strings |
C++ | Object-oriented | Native | Nominative weak static | unsound | very limited | yes | yes | yes | limited | yes | no | n/a | yes | yes | yes | Limited | limited | Rich | |
C# | Object-oriented | VM | Nominative strong static | unsound | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | limited | Garbage collection | yes | Rich | Controlled by Microsoft |
Dart | Object-oriented, functional | Yes | Nominative strong static | yes | no | yes | no | yes | yes | yes | no | n/a | yes | yes | limited | Garbage collection | limited | Rich | Controlled by Google |
FreePascal | Object-oriented | Native | Nominative strong static | no | yes | yes | yes | yes | yes | planned | yes | yes | yes | yes | yes | Limited | planned | Limited | One-based strings |
Go | Concurrent procedural | Native with runtime | Structural strong static | no | yes | no | no | no | limited | yes | no | n/a | limited | limited | limited | Garbage collection | yes | Limited | Case-for-visibility; controlled by Google |
Java | Object-oriented | VM | Nominative strong static | no | comprehensive | no | yes | limited | no | planned | yes | no | yes | no | no | Garbage collection | yes | Rich | |
JavaScript | Prototypes | VM | Implicit dynamic | no | comprehensive | no | no | n/a | no | yes | yes | yes | yes | limited | no | Garbage collection | limited | Rich | Extremely limited compile-time checking |
Perl 5 | Yes | VM | Implicit dynamic | no | limited | yes | no | n/a | no | yes | yes | yes | yes | no | no | Garbage collection | yes | Rich | Unmaintainable |
Python | Object-oriented | VM | Dynamic | no | yes | yes | no | n/a | yes | yes | yes | yes | yes | yes | no | Garbage collection | yes | Rich |
If you know enough about a language to add it here, let me know (ian@hixie.ch). I'm interested in adding Kotlin and Swift in particular.