Hacker News new | ask | show | jobs
by steeleduncan 1259 days ago
> Go is a pretty good async runtime

I think the author is in many ways right, but has missed how important the runtime is to the average programmer.

At the time of release Go made it easy to write evented IO servers, in a way that Rust, despite its superior language design (IMHO), still hasn't. This is why people continue to use it.

Other examples are PHP, a car crash of a language, but suddenly it was easy to dynamically generate a webpage, or early versions of Java, widely derided for language design, but programmers were happy to trade the virtues of elegance and efficiency for the ease of the standard library, the GC, and portability.

Give the programmers the ability to do easily something they weren't able to do prior to using your language, and they'll use it, whether PL enthusiasts are happy about that or not.

3 comments

This is also why NodeJS got so popular. Concurrent programming is made so damned easy in it, that of course it blew up in popularity.

Most folks just need concurrent code, not parallel code. NodeJS was able to provide that.

> PHP, a car crash of a language

That car crash of a language can imitate the general characteristics and typing style of any language and provide for using any pattern/anti-pattern in computer languages by just modifying its ini files to however you want it to work. That's why its 80% of the web.

Which is just as much of a curse, see lisps’ flexibility.
I am not a fan of async/await paradigms.

It is yet another example of making easy things easy.

It is not hard to write non blocking code. No harder than remembering to insert a keyword "await".

Event loops are very useful, I agree. I just do not see how a new syntax makes them "easier".