Live data from Hacker News

Erlang/OTP 24 highlights

blog.erlang.org

11–20 of 103 posts

Re: Erlang/OTP 24 highlights

#12
post #4

I love the new error messages. Rust seems to have started that trend, Python also added better errors recently.

Rust was inspired by Elm, if I’m not much mistaken.

People around here give Elm way too much credit for inventing things it didn't invent or wasn't even the first to ship useable versions of, but I think its fair to give Elm full credit for elevating the quality of error messages one can expect from a language or framework.

Re: Erlang/OTP 24 highlights

#14
post #4

Earlier quoted context omitted.

Rust was inspired by Elm, if I’m not much mistaken.

Rust was started in 2010, and Elm in 2012. https://en.wikipedia.org/wiki/Rust_(programming_language) https://en.wikipedia.org/wiki/Elm_(programming_language) That said, the concepts in question are all much older. If you're ever bored, check out the "Influenced by" sections of the Wikipedia pages on programming languages. It's amazing how old so many of the "new" ideas really are.

> Rust was started in 2010, and Elm in 2012.

That doesn’t preclude learning from younger langages in any way.

The trend of providing really helpful and valuable error messages (especially compilation) really started with Evan’s “compilers as assistants” and “compiler errors for humans” from 2015, although there had been forays into improvements to e.g. error localisation from clang.

And Rust’s improvements absolutely come from there, as acknowledged by Jonathan Turner’s 2016 “shape of errors to come”: https://blog.rust-lang.org/2016/08/10/Shape-of-errors-to-com... as well as his “new error format” proposal / rfc which eventually lead to the change: https://github.com/jonathandturner/rust_proposals/blob/maste...

Re: Erlang/OTP 24 highlights

#15
post #4

I love the new error messages. Rust seems to have started that trend, Python also added better errors recently.

Rust was inspired by Elm, if I’m not much mistaken.

clang also played that game around that time (these are the two I had in mind when thinking of this)

Re: Erlang/OTP 24 highlights

#16
post #4

Earlier quoted context omitted.

Rust was inspired by Elm, if I’m not much mistaken.

clang also played that game around that time (these are the two I had in mind when thinking of this)

True, Evan actually mentions Clang (noting that he’d met people who’d switched from gcc to clang due to the error messages) in “compiler errors for humans”.

Re: Erlang/OTP 24 highlights

#17

I love the new error messages. Rust seems to have started that trend, Python also added better errors recently.

expressive diagnostics was one of clang's early selling points: https://clang.llvm.org/diagnostics.html

Clang was released 2007 and was usable 2009/2010-ish. Rust dev started 2010.

I'm not saying the trend of having good diagnostics was started by clang, but it's a more believable than the claim that it was started by Rust.

--

Rust-the-language is nice, but the Rust community feeling the need to mention Rust on every unrelated thread is a bit of a turn-off for me.

Re: Erlang/OTP 24 highlights

#18

Earlier quoted context omitted.

Rust was started in 2010, and Elm in 2012. https://en.wikipedia.org/wiki/Rust_(programming_language) https://en.wikipedia.org/wiki/Elm_(programming_language) That said, the concepts in question are all much older. If you're ever bored, check out the "Influenced by" sections of the Wikipedia pages on programming languages. It's amazing how old so many of the "new" ideas really are.

> Rust was started in 2010, and Elm in 2012. That doesn’t preclude learning from younger langages in any way. The trend of providing really helpful and valuable error messages (especially compilation) really started with Evan’s “compilers as assistants” and “compiler errors for humans” from 2015, although there had been forays into improvements to e.g. error localisation from clang. And Rust’s improvements absolutely…

I remember Ada always having very precise and helpful error messages like this one:

literal_string.adb:5:33: warning: wrong length for array of subtype of "Standard.String" defined at line 5 literal_string.adb:5:33: warning: "Constraint_Error" will be raised at run time

then when you run the app it behaves as advertised

$ ./test

raised CONSTRAINT_ERROR : literal_string.adb:5 length check failed

There are many others and when I saw llvm improving error messages for C and C++ (which I saw happening before Rust was a thing) I always thought it was inspired by Ada and it's helpful messages like:

expected private type "" defined at ...; found type "" defined at ...

"" is undefined (more references follow); possible misspelling of ""

and the many others that were just there when I first tried Ada around 2008/2009.

Re: Erlang/OTP 24 highlights

#19
post #17

I love the new error messages. Rust seems to have started that trend, Python also added better errors recently.

expressive diagnostics was one of clang's early selling points: https://clang.llvm.org/diagnostics.html Clang was released 2007 and was usable 2009/2010-ish. Rust dev started 2010. I'm not saying the trend of having good diagnostics was started by clang, but it's a more believable than the claim that it was started by Rust. -- Rust-the-language is nice, but the Rust community feeling the need to mention Rust on every…

Template errors with g++ vs clang++ are what made me abandon the gcc toolchain for my dev environment (I still build against both compilers in my CI/CD though).

Rust wasn't even a thing (not as hype and mature) at that time.

Rust is nice, but the hype train is toxic (and that's true for every language/technology).

Post reply on HN