Live data from Hacker News

Ten years without Elixir

blog.cretaria.com

111–120 of 144 posts

Re: Ten years without Elixir

#111

I once tried web framework after web framework, anything I could find, for Erlang. Many were outdated and I could no longer get them running. I was not an Erlang pro, so perhaps they did still work, but no instructions on how to get them working. Some offered documentation and I followed every single step, until something did not work any longer, like adding certificates. Simply could not make it accept the certifica…

Build It with Nitrogen: https://builditwith.com/nitro

This is a really excellent book, and a great introduction to Erlang with a mature web framework.

And it's refreshing to have an alternative to the 'Rails' way.

Re: Ten years without Elixir

#112
post #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?

Beyond the very subjective syntax, docs and whatnot I would say adoption. At this point there are a lot of Elixir libraries and frameworks that are built with Elixir and are quite popular that might not work from Erlang. Elixir is a steadily growing language with a strong enthusiastic following. Erlang is super cool but on comparison does seem to remain quite niche.

Some would say the Elixir advantage is marketing. I think there is more to it with an approachable web framework, an interesting DB library, pushing into current trends around SSR with LiveView even before Rails got Hotwire.

There's a lot of interesting work around Elixir, I've blogged about why it has me hooked a few times. Things like the Nerves project, Membrane Framework and Scenic are very cool in my book.

Re: Ten years without Elixir

#113

Earlier quoted context omitted.

Is it to its detriment? What's really at stake here? Elixir's pipe operator takes a stance, and I love that. It enforces consistency. I feel it's a lot better than having the "sometimes first, sometimes last" that Erlang and Clojure have.

IME it is. Many Elixir apis end up forcing an unnatural parameter order just so that the entire body can be piped through. Clojure is way more consistent in this regard: - thread first (->) when operating on maps. - thread last (->>) when operating on sequences. - as-> "choose your own adventure".

Huh? Almost always the parameter order is "the type of the module first" (except builders bla bla). This is super easy to remember, and this convention also encourages good code organization and module naming.

The only place where pipe order bristles is Enum.reduce, but I'd bet if I counted I'd have wanted it the normal way more often than the backwards way.

Re: Ten years without Elixir

#114
I thought this was an interesting perspective. I'm a big enthusiast about Elixir and I'm always curious to see how the die-hard Erlang people feel about it.

Elixir makes me want to know more Erlang but I don't think I'll ever move to Erlang for my day-to-day use.

Appreciate this author making a post commemorating Elixir with a fairly nuanced sentiment.

Re: Ten years without Elixir

#115
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…

I totally agree with you. I started learning Python about 14-15 years ago before its current popularity and its seemed to have a focus on clarity and ease of getting started. The Elixir docs less so but still ok. Ecto docs was where it started to really annoy me though.

However, after a year of developing and learning elixir I am dropping it. Just did not like it in the end, I prefer other languages and everything I like about Elixir was basically Erlang.

Re: Ten years without Elixir

#116
post #78

Earlier quoted context omitted.

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 illu…

While “use” resembles mixins, it is a much restricted version of whatever you can do in Ruby thanks to lexical scope, closed modules (via open classes), and immutability.

In practice “use” is closer to Ruby’s refinements, which is something that never caught in Ruby because they were too restricted.

You are right that you don’t see this in Erlang but you don’t see similar high level frameworks in Erlang either. Many don’t care for them but many also find such tools an essential part of their toolkit.

Re: Ten years without Elixir

#117

Earlier quoted context omitted.

> Without active pushback from a dedicated member of the core team, such things usually end in utter chaos. That may well be true, but Erlang is actually the opposite of utter chaos, it is extremely well designed, organized and implemented and battle hardened to a degree that would put most FOSS projects to shame.

My reading was that they were saying the documentation would end in utter chaos, not the project as a whole.

Erlangs documentation is fine. It's not 'modern', but it is actually quite good. There is a lot of it though and it isn't newbie friendly, which is a niche filled by some excellent books out there, for instance the (free!) Learn You Some Erlang website/book: https://learnyousomeerlang.com/

Re: Ten years without Elixir

#118
post #60

Earlier quoted context omitted.

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

I love Elixir (former Ruby dev) but I do find many Ruby devs will turn to macros when regular functions will do. I haven't tried LiveView but it looks very interesting.

To add a data point: Ruby and Elixir developer here (and Python and JS). I never wrote a macro in Elixir. All that weird quote / unquote stuff is too complicated. I get the idea (code running at compile time) but the syntax is just unwelcoming. Furthermore macros tend to make code opaque and onboarding difficult. I could wake in terror if I dream of my coworkers implementing some new functionality by adding macros instead of functions.

Re: Ten years without Elixir

#119
post #8

This might, impressively, be the worst Webdesign I ever saw

Are we looking at different sites? It's a column of text with a couple of headers...

What made it so bad for you? Genuine question, I don't find it offensive, or noteworthy at all.

Re: Ten years without Elixir

#120
post #61

Earlier quoted context omitted.

> 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,…

I legitimately could not get passed the choice of syntax, module organization etc. I believe many people feel the same way. Verbosity is good imo, languages are read more than written and Erlang is too terse for me. I love Erlang conceptually and I love that Elixir made it accessible to me because I otherwise would have just avoided the Erlang ecosystem all together and would have gone with Go, the thought of which m…

It's curious how these matters can be subjective. It's Erlang the verbose one for me: the commas at the end of the lines. Of course Elixir has all those do/end and commas in the with statement (I wish it was part of the language and not a macro). Maybe I was just too happy to do without the trailing ; when I moved to Ruby and Python from C and Java.
Post reply on HN