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

Couple of times when somebody posted an OTP erlang update I had no clue what I was reading. Then I came back to HN and somebody broke down why some things are really useful/changed and it was mind blowing.

Can some erlanger explain why you are excited about certain things from the update?



Erlang may be the sturgeon of the software world. It has survived since the Triassic and yet is somehow prized for specific use cases and discerning tastes.

It is nowhere near as ancient as sharks, nor as vicious, but it employs some new physiology, and can survive just as long.

But that was a very different world and it sticks out like an outsider, when really it's been there the whole time.

(sorry, this analogy got away from me a bit).


the story I like to use is -- "imagine a world where java never happened, where servers were abstracted into HA clusters automatically by your programming language, and where horizontal scaling was automatic and free"


I usually blame nodejs. It came around and pushed out what little traction Erlang was gaining in the late 00s.


This is beautiful, and quite precise (imho). Thank you!


much of it is a lot of hard work getting to support TLS 1.3, which is nice. I have some TLS-dependent things in prod and let me say, it is really easy to do TLS in OTP. It's also easy to do TLS wrong in OTP, so I recommend watching all of Bram Verburg and Ingela Anderton Antin's videos first.

the socket library (if I am correct) is the beginning of redoing the entire network stack in a way that is more commensurate with the way that typical programmers expect (but with the right erlang-ey).

> Allow underscores in numeric literals to improve readability

This is great whenever a language does it.

> The embedded documentation is created as docchunks (EEP 48)

It looks like the erlang community is converging on the elixir strategy for documentation. This is fantastic, since elixir documentation is quite good, and it shows that the two languages are starting to put their friendly animosity aside and really working together.

> distributed named process groups is introduced

This is kind of huge. Sometimes you want a locking, fully consistent process management (so CRDTs are inappropriate), and you don't want a full raft/paxos under the hood.


What I appreciate about this update is how little code it breaks and how little future code is likely to be backwards incompatible. Or to put it another way, what I appreciate is the sameness of the programming environment. To a first approximation nothing needs to be rewritten and newly written code will look just like existing code. What I appreciate is OTP is better and there's nothing programmers have to do (to a first approximation) to get that betterness. Instead, rolling out the betterness is a system administration task.

Basically, what is exciting is how well engineered it is.


> What I appreciate about this update is how little code it breaks

Other than a bunch of code reliant on the stuff removed from erl_interface, of course. No idea how big of an impact that has on real-world projects, though.

The deprecation of erlang:get_stacktrace/0 also gave me a brief heart attack for one of my projects¹, but luckily I had the foresight to gate that to older OTP versions (and with newer versions the relevant code already removes dependence on that function), so I can rest at least a little bit easy.

----

¹: https://github.com/otpcl/otpcl/blob/73167c58771f700963cbd9f7...


I personally like a lot the help in the shell feature that is one of the awesome things in elixir's shell that is now on erlang.




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

Search: