Live data from Hacker News

Ten years without Elixir

blog.cretaria.com

91–100 of 144 posts

Re: Ten years without Elixir

#91
post #61
post #7

Erlang's VM is great, Erlang the language isn't imo. Elixir just did it better imo and this person seemingly can't stand that people seem to like it more. Let people like the things they like :P I'm really not sure this needed a blog post.

> Elixir just did it better imo and this person seemingly can't stand that people seem to like it more. The post does read more like venting than a structured critique, but a few of his points are still valid. Every time I hear someone praising Elixir, it's never about some Elixir-specific feature but usually about something that Erlang has provided for ages like pattern matching, lightweight processes, supervisors,…

Elixir code out there is much cleaner than erlang code bases. In terms of organization, picking names. And there's much more dedication to testing and documentation. I think these software habits are very important for newcomers, and so if you are truly dedicated to the craft of software you probably should want them to learn Elixir even if the language is 25% more cumbersome in the small. There is something about the terseness of erlang that I think carries over to a mentality of not writing tests and not documenting. It doesn't help that it is less of a part of the culture (probably since it's an older language, Elixir is a post-"software-testing-revolution" language; Erlang is a pre-testing-revolution language).

Re: Ten years without Elixir

#92

As someone who came to erlang at least in part because i hated ruby (and also rails/phoenix like frameworks) i can partially sympathise. I would however put pipe operators clearly on the pro side of elixir and also add the string handling to that list (no pun intended). I am ultimately really happy about Elixir giving BEAM some new popularity in otherwise unreachable audiences, even though i had really hoped for some…

What's the advantage that Elixir has over Erlang?

Re: Ten years without Elixir

#94
post #53

Earlier quoted context omitted.

I'd argue you're not commenting on any specific language at all here, but rather the sheer size of the community/user base for a given language.

> I'd argue you're not commenting on any specific language at all here, but rather the sheer size of the community/user base for a given language. Yes and no. A larger community will for sure help with filling in knowledge gaps, but those gaps stem from the documentation not covering something in enough detail. Maybe it's just me but whenever I read Elixir, Phoenix or Ecto's docs I can't really relate to them. It fee…

Elixir's docs and guides are quite thorough and overwhelmingly focused on practical applications, I'm sorry that you clearly haven't had a good experience personally.

Again, though, reading between the lines, it sounds distinctly like your complaint is with the ecosystem and its maturity, not anything to do with the language itself. "No, it's not that!" you say, as you go on to mention three very, very mature languages with massive ecosystems that I do agree are a very different world.

Python, Ruby, and PHP are all great! It's difficult to even think of a language that has a better wealth of guides and resources out there than any of those three (with the exception of maybe JavaScript). Elixir and Erlang, two fairly niche languages that are the actual topic of conversation for this overarching thread, simply aren't comparable in that regard.

Re: Ten years without Elixir

#95
post #7

Erlang's VM is great, Erlang the language isn't imo. Elixir just did it better imo and this person seemingly can't stand that people seem to like it more. Let people like the things they like :P I'm really not sure this needed a blog post.

> Let people like the things they like Does that include writing blog posts? Or, liking Erlang over Elixir? Or, bashing Elixir? How do any of those stop people from liking what they like? Unlike, what you did. I'm not really sure this needed a hypocritical comment.

"Unlike what I did" care to clarify?

Re: Ten years without Elixir

#96
post #74
post #66

Earlier quoted context omitted.

This reminds me of the attitude held by some Go developers (and Rob Pike) that the reason people want map/filter/reduce and similar generic functions on containers is because they want "less code", and the counter is that a for loop is "more explicit", "clearer", "less magical", and so on. But for someone who is used to languages where these constructs (or list comprehensions) are idiomatic, they are perfectly clear…

If you're interested in what the code is trying to achieve, then `map`, `filter` and the like is clearly more explicit. If you're interested in what actually gets executed (if you're trying to optimize for performance, say), then the `for` loop is clearly explicit than the abstract counterparts. It depends on what what you're looking for.

> If you're interested in what actually gets executed (if you're trying to optimize for performance, say), then the `for` loop is clearly explicit than the abstract counterparts.

In what language? GCC will happily not just optimize away your counter variable but perhaps even replace your whole loop with an SIMD operation; I suspect the Go compiler will do the same.

Also, if you're trying to optimize for performance then looking at what code gets executed is (to first order) useless; the dominant factor is cache efficiency and you can't see cache hits/misses by reading the code.

Re: Ten years without Elixir

#97

From the perspective of someone coming the other direction (a developer working almost entirely with Elixir that needed to jump to Erlang docs occasionally), it's interesting to see the note on docs, and honestly the vibe I get from this blog post feels related to my personal overall gripe with the Erlang community. To be blunt, I really dreaded needing to jump to the Erlang documentation, largely because of a percei…

This is my experience with OCaml docs too. Basically just type signatures/function signatures. I typically use Elixir's docs as one of my go-tos for a "Gold Standard". I mentioned this in the ReasonML community too. Whatever you do, do NOT adopt the OCaml way. Their API docs seem to be getting better.

Re: Ten years without Elixir

#98
post #78

As someone who came to erlang at least in part because i hated ruby (and also rails/phoenix like frameworks) i can partially sympathise. I would however put pipe operators clearly on the pro side of elixir and also add the string handling to that list (no pun intended). I am ultimately really happy about Elixir giving BEAM some new popularity in otherwise unreachable audiences, even though i had really hoped for some…

Can you expand a bit more on what you mean by Ruby culture poisoning Elixir? I've never used Ruby in my life and that part was entirely lost on me.

The most obvious example is thinking in classes and then mixing in behaviour from "magic" modules through inheritance and multiple mixins.

Phoenix for example uses the "use" macros like in my post above to mimic this horrible behaviour. In an erlangish approach you would mainly explicitly import and export functions from clearly specified modules.

If you specify a -behaviour (i know its not a perfect analogy but illustrates the point) that would not magically add extreme amounts of code paths but only force you to export the correct functions for what you try to do.

Re: Ten years without Elixir

#99
post #53

Earlier quoted context omitted.

> I'd argue you're not commenting on any specific language at all here, but rather the sheer size of the community/user base for a given language. Yes and no. A larger community will for sure help with filling in knowledge gaps, but those gaps stem from the documentation not covering something in enough detail. Maybe it's just me but whenever I read Elixir, Phoenix or Ecto's docs I can't really relate to them. It fee…

Elixir's docs and guides are quite thorough and overwhelmingly focused on practical applications, I'm sorry that you clearly haven't had a good experience personally. Again, though, reading between the lines, it sounds distinctly like your complaint is with the ecosystem and its maturity, not anything to do with the language itself. "No, it's not that!" you say, as you go on to mention three very, very mature languag…

When Ruby and Rails were first getting popular in the English-speaking world, around 2008 to 2011, the documentation and community really were excellent for their size, which was a substantial contributing factor to the growth of the language. PHP, on the other hand, was pretty appalling.

Elixir inherited some of the Ruby history and contributors, and has some of the same strengths.

Re: Ten years without Elixir

#100
post #60

As someone who came to erlang at least in part because i hated ruby (and also rails/phoenix like frameworks) i can partially sympathise. I would however put pipe operators clearly on the pro side of elixir and also add the string handling to that list (no pun intended). I am ultimately really happy about Elixir giving BEAM some new popularity in otherwise unreachable audiences, even though i had really hoped for some…

Do you have actual criticisms of LiveView as a technology or are you just upset about macros?

: ) Don't get me started on LiveView, i was only talking about mimicking rails mixins with the "use" macro in phoenix.

But now that you ask: The LiveView Idea to use websockets in general purpose web applications to achieve "reactivity" is an abomination, we have SSE and HTTP2 and also SPAs for that matter, which are from an operational and reasoning standpoint 1000% simpler and actually made for this kind of thing.

Websockets are for things like multiplayer shooters or collaborative drawing, why would someone think it is appropriate to use it to react to clicking a button.

Post reply on HN