If what you want is an object-orientated, compiled, nominative strongly statically typed language that supports detailed run-time type introspection, operator overloading, function overloading, generics, method pointers, closures, class references, virtual constructors, exceptions, direct memory manipulation, 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 | 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 | n/a | no | n/a | n/a | no | no | yes | None | no | Rich | Function pointers, strings |
C++ | Object-orientated | Native | Nominative weak static | very limited | yes | yes | yes | limited | yes | no | no | yes | yes | yes | Limited | limited | Rich | |
C# | Object-orientated | VM | Nominative strong static | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | limited | Garbage collection | yes | Rich | Controlled by Microsoft |
FreePascal | Object-orientated | Native | Nominative strong static | 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 | yes | no | no | no | limited | yes | no | n/a | limited | limited | limited | Garbage collection | yes | Limited | Case-for-visibility |
Java | Object-orientated | VM | Nominative strong static | comprehensive | no | yes | limited | no | planned | yes | no | yes | no | no | Garbage collection | yes | Rich | |
JavaScript | Prototypes | VM | Implicit dynamic | 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 | limited | yes | no | n/a | no | yes | yes | yes | yes | no | no | Garbage collection | yes | Rich | Unmaintainable |
Python | Object-orientated | VM | Dynamic | yes | yes | no | n/a | yes | yes | yes | yes | yes | yes | no | Garbage collection | yes | Rich |