3 ms·
I would imagine that language like that would be one of the best you could hope for. I hope this language will fit all the bullets. - C# syntactic sugar - As
by romanovcode 13y ago
I would imagine that language like that would be one of the best you could hope for. I hope this language will fit all the bullets.
- C# syntactic sugar
- As fast as C++
- Does not require .NET
- Runs on Windows/Linux/Unix with no problems
- leifus 13y agoSounds a lot like D (http://dlang.org/ http://dlang.org/)...
- munchor 13y agoOr Vala (https://wiki.gnome.org/Projects/Vala/Tutorial https://wiki.gnome.org/Projects/Vala/Tutorial).
- thirdsight 13y agoSounds like Java 8!
- deletes 13y agoDoesn't Java still require an instalation of JRE, which is an analogue to .NET? edit: If it somehow didn't need it, I would start considering it as my next language to learn.
- thirdsight 13y agoNo. The JRE can ship with the app. The CLR ships with the OS.
- catnaroek 13y ago> - C# syntactic sugar No, we need better foundations. > - As fast as C++ I think it is not so much about raw speed (although this is certainly important) as it is about reliability. Raw speed (and, in general, runtime efficiency) is usually a corollary of elegance in design. Now that we have programming languages with linear types and static lifetime management (Rust), I think it is fair to say garbage-collected systems have "duck-typed lifetimes" and languages with raw pointers have "untyped lifetimes". And here is the catch: The principle that duck typing adds overhead (unacceptable for systems programming) does not only apply to values (in the form of the "type tag" that every value must carry), it applies to lifetimes as well (in the form of garbage collection pauses)! Furthermore, I strongly suspect the aforementioned principle applies to anything worthy of being expressed statically. Off of the top of my head: validity of indices for sequential containers and keys for associative containers, which requires dependent types to be expressed statically, and whose duck typing counterpart is throwing something like .NET's ArgumentOutOfRangeException or KeyNotFoundException.