Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

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



> - 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.


Sounds a lot like D (http://dlang.org/)...



Sounds like Java 8!


Doesn'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.


No. The JRE can ship with the app. The CLR ships with the OS.


> No. The JRE can ship with the app. The CLR ships with the OS.

Yet you still need the JRE for Java.


The fact that the JRE can ship with the app doesn't change the fact that it stills need a VM runtime with all the overhead that it implies.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: