> Concurrency is hard and if you want M:N thread multiplexing (i.e. WEB SCALE CODE, where application threads aren’t pinned to pthreads) your options today are precisely Erlang, Go, .NET, and Perl 6. Putting aside the "web scale" jokes ( http://www.mongodb-is-web-scale.com/ ), this statement is still absurd. Every major language, or at least the ones that matter for backend development, has support for thread multipl…
Why I’m Learning Perl 6
41–50 of 380 posts
Re: Why I’m Learning Perl 6
#42Earlier quoted context omitted.
No need for the snark. This isn't fanboyism, though I gladly admit that I'm fond of Haskell. I'm not just namedropping Haskell "just because". He claims those languages are the only one that have green threads. He's wrong. I corrected that.
You're right, that was overly snarky, but your post does come off as use Haskell -> magic. The concurrency stories for Erlang and Go are front and center, very well defined, and obvious. How do you get similar functionality in Haskell (specifically, what libraries do what you are talking about)?
The article claim is so ridiculous it's not even wrong and you go on to snark about a Haskell counterexample. What a complete asshole.
Re: Why I’m Learning Perl 6
#43why is everybody saying they are put off by Go? Did we pass the "trend" phase and now it's cool to say go sucks?
Re: Why I’m Learning Perl 6
#44> Concurrency is hard and if you want M:N thread multiplexing (i.e. WEB SCALE CODE, where application threads aren’t pinned to pthreads) your options today are precisely Erlang, Go, .NET, and Perl 6. Putting aside the "web scale" jokes ( http://www.mongodb-is-web-scale.com/ ), this statement is still absurd. Every major language, or at least the ones that matter for backend development, has support for thread multipl…
I'd like to know why people are downvoting this.
Re: Why I’m Learning Perl 6
#45Earlier quoted context omitted.
No need for the snark. This isn't fanboyism, though I gladly admit that I'm fond of Haskell. I'm not just namedropping Haskell "just because". He claims those languages are the only one that have green threads. He's wrong. I corrected that.
You're right, that was overly snarky, but your post does come off as use Haskell -> magic. The concurrency stories for Erlang and Go are front and center, very well defined, and obvious. How do you get similar functionality in Haskell (specifically, what libraries do what you are talking about)?
GHC Haskell basically have the same concurrency story (since ghc 7.0.1 - 16 November 2010 [1]):
- You can start ten or even hundred thousands of threads
- Inside them you can program like having synchronous I/O
- And the runtime handles it efficiently (with epoll/kqueue/...)
The difference is that haskell is less opinionated on the high level concurrency primitives, so you have many choices (sometimes with multiple different library implementations) like: locking, explicit async code, transactional memory, channels... https://hackage.haskell.org/packages/#cat:Concurrency
[1] Release Notes: "On POSIX platforms, there is a new I/O manager based on epoll/kqueue/poll, which allows multithreaded I/O code to scale to a much larger number (100k+) of threads" https://downloads.haskell.org/~ghc/7.0.1/docs/html/users_gui...
Re: Why I’m Learning Perl 6
#46It's terrible that you put Erlang on a list with other languges/VMs. >There’s no GIL, so unlike Those Other Languages There is no GIL in EVM as well, but playing with the words you make it look like "all are the same". This does not deserve top HN and just stupid. If your Perl6 VM is _so_ great, why didn't you mention anything about what's really important like preemptive scheduling which has been Erlang's unbeatable…
Re: Why I’m Learning Perl 6
#47> Concurrency is hard and if you want M:N thread multiplexing (i.e. WEB SCALE CODE, where application threads aren’t pinned to pthreads) your options today are precisely Erlang, Go, .NET, and Perl 6. Putting aside the "web scale" jokes ( http://www.mongodb-is-web-scale.com/ ), this statement is still absurd. Every major language, or at least the ones that matter for backend development, has support for thread multipl…
I'd like to know why people are downvoting this.
Re: Why I’m Learning Perl 6
#48> Guess what it outputs? Nothing! Just kidding, you’ll see a lot of distressed messages from tasks that passed out wait for the phone to ring, and woke up wearing someone else’s OS thread. Well, as a matter of fact I really got no output at all :(
Re: Why I’m Learning Perl 6
#49Can Perl6 merge all of its generated VM code into one "package"? One of my favourite things about Go is that you can statically compile everything and then deployment basically becomes scp.
...and then deployment basically becomes scp. And security updates for your deployment become...what?
Re: Why I’m Learning Perl 6
#50No other reason, that's all. Just the syntax.