3 ms·
Erlang devs wish it was as popular as Javascript when it used XMLHttpRequest. It's less popular than Lua today, which has no package manager. That means somethi
by Supermancho 3y ago
Erlang devs wish it was as popular as Javascript when it used XMLHttpRequest. It's less popular than Lua today, which has no package manager. That means something is very wrong.
> The main objection is familiarity: “It doesn’t look like Java!” I think the point is somewhat moot.
It doesn't matter what the zealots think. It's not moot, because there are people born every day that will think it. This will be a response to the language, every day, until we're both long-dead. It matters enough that it drove people to dedicate time to develop entirely new syntax (eg elixir), as mentioned. Given the myriad of languages that use a functional style, Erlang is just not special, excepting the unique syntax which makes it unfamiliar and elixir that just makes a bit more user friendly. Maybe, just maybe, it is partly about the syntax.
The Erlang tooling is primitive. I don't want to develop another toolchain and have to do with the gaps, thx. Yes it's a chicken-vs-egg thing, but without support for a new language, you wont see a lot of adoption.
The semantics are less efficient. Now the context needs to be carried around or in another set of terms, or worse another event queue, or worse overloaded fns? When a for-loop has to be broken up into 2 fns, you've made things worse at the smallest scale. I then have to communicate the naming and choices to future developers? This makes debugging, design and code reviews harder/more divisive.
I can read through a couple functions and understand what a c-like program does, even if it's in Python or PHP or Java or C (most of the time). Saying they are different in details, is missing the point. I don't have to know how data is split up because everything is either a structure or a scalar, serially processed and in static locations for reading...until you hit a DB. Hitting a single async store is complicated enough that it has caused developers headaches for decades. Introducing easy queues as a solution, is handing out footguns. The complexity introduced into event-driven applications, limits the practical complexity of application development in practice, by orders of magnitude (bottlenecks and race conditions).
Sloppy programming is jr friendly. Raising the developer performance expectations higher, is worse for adoption. Perl died on this hill.
Years after I last used Erlang to replace a Java chat client from 5000 lines to single page Erlang module, then got a job writing it (2009), I would not recommend it to anyone. I did try cracking open another person's project in 2012ish and that was not fun. At least we have Kafka.
- drekipus 3y agoThis is my take as well (adding erlang to my list of things along with python/kotlin/go/lua). Some things are just a little *too* different. There's no for-loop, it's just recursion. Pattern matching on the function signatures are nice, but then I have to dig around a lot more to find what I need. That being said, I do want to try it and learn about it more; the promises it makes about concurrency and event driven programming looks nice, i do really want to try it.
- stanmancan 3y agoI haven't looked at Erlang much but I've been using Elixir for a couple of years now and it's been the most enjoyable language I've used to date. I don't miss having a for-loop, recursion works but the Enum module is great and easy to use. When done right, pattern matching on function signatures is nice and clean. If you find it's actually more difficult to find what you're looking for it's a sign somethings probably off.
- stanmancan 3y agoThis is a pretty outdated take considering all of the experience you've referenced is 10+ years old now.
- Supermancho 3y agoI find this statement, unconvincing. Elixir and the improvements to the VM were the last big leaps. None of these things affected the issues that keep Erlang from being relevant. Erlang is some inexplicably sacred cow on HN, among the few other forums who still discuss it. Making sweeping changes is going to be required, to get the adoption that some are seeking...specifically the authors of these kinds of posts. Waiting another couple decades for the killer app to catapult it, will never happen.
- lvass 3y agoNah, this take would be as bad in 2009 as it is today. I mean, it's evidently clear they can't wrap their head around functional programming, which is absolutely fine, until you jump to generalizing conclusions like this.