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

This is still very alpha, but I'm submitting this because I really hope this succeeds. Erlang is really powerful and provides more modern paradigms for concurrent programming that just are not easily implemented in other VMs. However, Erlang's prolog inspired syntax is a big turnoff to many programmers. This could be a breakthrough.



Voting you back up to 1, after you had predictably been downvoted...

You're not alone here.

I gave erlang more than one shot and really, really wanted to like it. It promises to simplify and robustify some of the most thorny distributed programming problems that I'm dealing with nearly every day, in ruby and python.

But, just like you, I couldn't get over the syntax. It's ugly. It's error-prone. It's ugly.

And that's a dealbreaker. The most powerful VM doesn't help when you have to work uphill against arcane syntax all day long. Nobody wants to do that. That's why ruby is so popular, despite the trainwreck that is MRI.


Don't cheat yourself...Erlang itself is not that hard once you understand the core principles. I will say that OTP can be overwhelming, but with tools like rebar taking care of the bulk of it for you now, it's much more accessible to beginners. The learnyousomeerlang.com guide as well as the "Erlang and OTP in Action" book are really great resources for starting out. Stick with it, you'll be glad you did.


While the Erlang syntax is certainly a bit unusual I suspect that the greater adoption of Erlang is hampered more by other things.

For instance, there is tool support. As with any language that isn't very widely used there aren't that many tools for the language. It makes it more difficult to get up and going in a short manner. This is especially true if you're on Windows since many Erlang projects don't work on Windows (even though the VM itself has Windows support).

Beyond that, Erlang uses a model of programming and concurrency that isn't commonly used elsewhere. While you can get many of the features of Erlang in other systems, you are generally making an intentional effort to do so. Things like messaging passing, processes and hot code swapping are at the core of the language and getting used to things like this can be a bit overwhelming.

On top of that many of the Erlang projects I've worked with have extremely sparse documentation. There are many cool projects out there like Mochiweb, Nitrogen, etc. but getting up and going with them can at times be an exercise in frustration.

I think these things combine to make a barrier to entry that is much larger than people's syntax preferences.


I think Efene/Ifene is better for this task (just different syntax for Erlang, without changing Erlang semantics). No performance overhead.

Reia has completely new semantics and run in interpreted mode over BEAM (Erlang VM).

I personally think, that if programmer can't adapt to new syntax, it will be much harder to her/him to adapt to new semantics.

Erlang's syntax is ugly comparing to modern languages like Ruby. The simple things are hard to do in Erlang and simple in Ruby, but complex thing are easy in Erlang and impossible in Ruby.

Erlang is pragmatic choice for today. Maybe in 5-10 years Erjang,Scala,Go,Rust or some other new language will be a better choice, but until then use Erlang/OTP.


Reia isn't "interpreted" in any manner different from the Erlang language itself. It's somewhat similar to CoffeeScript in that it uses parse transforms to produce Erlang parse trees which are then compiled by the Erlang compiler just like any other Erlang source code. However, it's a bit more like JRuby in that it ships a runtime, core types, and a standard library.

It's slower than Erlang, not because it's executed in a different manner than Erlang, but because it supplies a separate late binding mechanism for dispatching methods to their receivers.


sorry, my mistake


I guess I'm weird but I actually like Erlang's syntax. To me it's part of the language's personality.


Yeah, I don't mind it either. Syntax is not a big deal to me, I care more about the unique capabilities of a language are. But I have heard other developers say they hate it.


I was mostly using Ruby when I switched to Erlang full time 5 years ago and I really struggled with the syntax.

I have got to start writing Ruby again now (to use the OLE libraries which I ain't going to reimplement). Ruby looks like line noise now.

The key thing about switching to Erlang is that it is not a programming language choice. Erlang/OTP is an Application System that runs on one or more computers. We stick with Operating Systems (including super-ugly ones like the Unices) because of the benefits of knowing that your unwritten software can write to disk, speak to a network, use a GUI etc. Once you have started writing to an Application System where your unwritten software knows how to fail over to a new machine, you ain't going back.

The syntax could be nicer? Who cares? Love the one your with is my experience - oh and I really do heart the mighty Erlang.


Me too. i actually miss the syntax when i'm doing something in python now .




Consider applying for YC's Fall 2025 batch! Applications are open till Aug 4

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

Search: