Live data from Hacker News

If you can't make a language fast, make it parallel

blog.cyll.org

1–10 of 33 posts

Re: If you can't make a language fast, make it parallel

#3
post #2

I'm not convinced that parallelism is something that needs support at the language level. The only languages that do this are Go and Erlang (off the top of my head). Others like Clojure and Scala have more support at the standard library level.

It might not need language level support, but anything to make it easier to leverage is a plus in my book. If the programmer doesn't have to concern themselves with extra parallelism-specific library calls and is still able to write a binary that can take advantage of multiple cores, that seems like a good idea to me.

Re: If you can't make a language fast, make it parallel

#4
post #2

I'm not convinced that parallelism is something that needs support at the language level. The only languages that do this are Go and Erlang (off the top of my head). Others like Clojure and Scala have more support at the standard library level.

?

Clojure has deep language support for concurrency - from syntactical constructs to it's core performant immutable data structures.

Re: If you can't make a language fast, make it parallel

#5
post #2

I'm not convinced that parallelism is something that needs support at the language level. The only languages that do this are Go and Erlang (off the top of my head). Others like Clojure and Scala have more support at the standard library level.

Erlang gets a lot of good mileage out of it, though. You start to really miss the OTP system when you try to write actually-important code in any other language. And there are some aspects that are hard to get right at a later time when it's not in the language from day one, cross-process messaging in particular, which is a primitive used to build a lot of other features. I do not know where Clojure or Scala have a generic cross-process messaging ability, and I'm not saying it's impossible by any means, but it's much easier if you start from scratch with that in mind.

Re: If you can't make a language fast, make it parallel

#6
post #2

I'm not convinced that parallelism is something that needs support at the language level. The only languages that do this are Go and Erlang (off the top of my head). Others like Clojure and Scala have more support at the standard library level.

? Clojure has deep language support for concurrency - from syntactical constructs to it's core performant immutable data structures.

But the beauty is that because it's a Lisp, it's all implemented in terms of macros - Clojure's complete set of concurrency tools could be written as a library.

The only exception is the deref reader macro "@", since Clojure doesn't allow user-defined reader macros by default.

Re: If you can't make a language fast, make it parallel

#8
post #2

I'm not convinced that parallelism is something that needs support at the language level. The only languages that do this are Go and Erlang (off the top of my head). Others like Clojure and Scala have more support at the standard library level.

True, the nice things about libraries is that they can compete and make your ecosystem stronger. But the nice thing about building it into the language is that it becomes a common layer of compatibility.

We've gotten comfortable enough with our concurrency model, that we felt it deserved to be in the language.

As an aside, some features that benefit parallelism can be tricky to add retroactively, although possible (like an N:M threading model).

Re: If you can't make a language fast, make it parallel

#9
post #2

I'm not convinced that parallelism is something that needs support at the language level. The only languages that do this are Go and Erlang (off the top of my head). Others like Clojure and Scala have more support at the standard library level.

? Clojure has deep language support for concurrency - from syntactical constructs to it's core performant immutable data structures.

He probably meant "distributed". Erlang has a better "distributed" story than Clojure.
Post reply on HN