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

Parallelism is easy, Joint (on the same memory) Parallelism is hard; and you can't do it efficiently without a complex memory model so Erlang, Go and Rust are out of the picture.

Hell even C/C++ is going to have a hard time, you need a VM with garbage collector!

Goodbye Karma!



Which leaves us with what? Clojure?


Java or C# (if the non-blocking, concurrency and GC are good enough from M$, I wouldn't bet on it).

Coding without types is not productive if you want to do meaningful work.

Clojure does not exist without the Java VM.


>Java or C# (if the non-blocking, concurrency and GC are good enough from M$, I wouldn't bet on it).

I have a hard time seeing how these two languages could possibly be considered best-in-class for concurrency, or their memory models. Loads of concurrent code as been written in these languages despite their concurrency and (shared!) memory models, not thanks to it. Imperative, shared-memory concurrency is the hardest way to do concurrency. In that respect, Go at least provides some syntactic sugar to encourage good practices. Either we're talking past each other or one of us is missing something.

>Coding without types is not productive if you want to do meaningful work.

That's questionable. And not just because it's hand-wavy (what does "meaningful work" even mean, here?). It's trivial to come up with counter-examples to even the most charitable interpretation of "types are required for meaningful work". If your statement were true, Rails, Django, Clojure, JavaScript and hell, even PHP wouldn't be such raging industrial successes.

>Clojure does not exist without the Java VM.

That's false. It's a hosted language, yes, but it's specifically designed not to be JVM-dependent (see, for example: ClojureScript).

Are you expressing thoughts or sentiments, here?




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

Search: