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

And thus does the javascript ontogeny finally finish recapitulating phylogeny, and we arrive at the inevitable end point: The Erlang/Go way is the best way to do this stuff after all.

If you still end up using Javascript at the end of the process, hey, great, go nuts, but after years of swaggering optimism in the JS community about how somehow their stuff was so much better than anybody else's despite "event-based code" being extraordinarily well-trodden ground since the 1990s (as in being the default programming model for all serious code and entire major dominant operating systems), it might be worth people taking a moment to consider whether some more listening at the beginning of the process might have cut some years off this journey of discovery. The Javascript community has not been leading the charge of writing asynchronous code... they just caught up.



The erlang/go concurrency model is the most overrated paradigm ever.

Sure, the abstraction isn't leaky... Because there is barely an abstraction at all. Synchronizing state between independent processes is a very real, very unfun problem when all you have is the actor model.

For what it's worth, all of Facebook.com fetches its data with async/await (effectively promises+data) which is a nice sweet spot and a lot better to work with than actors.


Go uses CSP concurrency, which is distinct from the Actor model. They're often conflated since the difference is small, but the distinction is relevant here because it directly addresses your complaint. Namely, synchronization is much easier in CSP since communication is synchronous, so you don't have to build additional abstractions for syncing on top of your asynchronous message passing.


CSP is better for sure, but message passing is still a pretty primitive model, synchronous or no.

FWIW I like CSP, but promises are great for e.g. fetching data


Also ClojureScript core.async uses the same CSP model.


Erlang processes (actors) are synchronous as well.


SO are we talking about server side Javascript? I guess so, because Erlang/Go are not an option on the client side ...


At this point, for all the work that has been sunk into JavaScript, we could have embedded a superior language in the browser, many times over.


Amen to that.


Wow, what a mean-spirited comment. You should seriously think about why you hate a community as bad as you obviously do.


That was not a mean-spirited comment, especially if you imagine someone with a bit more experience seeing the same thing recur needlessly. Grouchy with a touch of get-off-my-lawn, yes. Mean-spirited, no.

Over-exuberance sometimes requires admonishment, especially when there is such a colossal waste of energy and effort like in the JavaScript "community" (OP's word, but still...). If JavaScript programmers spent more time listening and reading and less time posting "so I wrote my own" blogs we might have had things like Reactive libraries for JavaScript years ago.

Throwing a word like "hate" around tells me you're likely too young to really understand what that means.

Also, you picked on his tone and let the Go comment slide? Really?

In short, get seasoned, dude.


Thank you, thank you, thank you.

Even I, (young, unseasoned) know that criticism, admonishment and even a little "I told you so" do not equal hate.

Ugh, that word.


If you can't tell the difference between opinionated and mean-spirited you may be reading in the wrong venue, here.




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

Search: