Earlier quoted context omitted.
I disagree with the "require" specialized deployments – we have hosted our elixir apps for years as stateless web apps, just like any other architecture. In fact, you can build a release that's just a zip file which also contains the full elixir/erlang runtimes, that can be deployed on a barebones server (assuming the same libc, etc). It's not "single-executable" nice like Go/Rust/.NET but it's much simpler than it u…
Just losing the while loop was a big one for me. I miss it often. I know the cost of calling something recursively. It's never going to be as cheep as a while loop.
Ask HN: Why isn't Phoenix/Elixir more mainstream?
121–130 of 130 posts
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#122And when you get a bit further in, since there’s no classes and inheritance in Elixir, you have to get into macros or other really complicated patterns if you want to avoid code duplication.
So while I love the language, it is a challenge that I you can’t use the patterns you’re used to from other languages, but have to learn new (arguably better) ways to do things. And not everyone wants to be challenged this way.
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#123Honestly, after years of writing python I have now gotten to a point where I fear dynamic typing. The fact that Erlang and Elixir do not have static typing, outside of a voluntary type checker, makes me worry about using them. And yes, the approach to error handling in Erlang and Elixir is "let it crash" etc. The runtime debugging tools are excellent. There's approaches to design which ensure that even if there's som…
Although most elixir code I've worked with was written by guys coming from ruby/java, and they just couldn't resist abusing macros for emulating inheritance, or overusing macros per se, once you switch your mind and clean that shit up, elixir is more maintainable than golang, for example (working for go company now). It has more tools to manage complexity and boilerplate, while nearly all golang code is complex/boilerplate itself.
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#124Earlier quoted context omitted.
> JavaScript, Python, and Ruby are all counter-examples. Erlang and Haskell might as well. I would say that only Python is a counterexample, and possibly Ruby although its super-success wasn't long-lasting. Erlang and Haskell have been hovering at under 1% for several decades. > For example, on GitHub language stats [1], only three languages have more than 10% I meant 10% as a symbol. Languages very rarely double the…
> Erlang and Haskell have been hovering at under 1% for several decades. I am well aware that I am nitpicking at this point, but putting a restriction on your metric that rules out 99% of programming languages makes the comparison quite limiting. :D You are ultimately only speaking about languages that are already quite popular, because even languages like Kotlin, Dart, and Swift (all endorsed by billion dollar compa…
And again, the 5%/10% numbers were symbolic. 10% was meant to represent Go/Kotlin levels of success.
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#125for me its hard to justify betting on something without a compelling edge computing (eg cf workers) story in 2023. i could not even think of a case where beam would be the right fit for a webapp/webpage except maybe a static rendered status page for something that runs on beam anyways. and i say this as a diehard erlang fan who would love to have a justification to use it more. of course there are plenty of services/…
> for me its hard to justify betting on something without a compelling edge computing (eg cf workers) story in 2023. fly.io? https://news.ycombinator.com/item?id=28621478 > i could not even think of a case where beam would be the right fit for a webapp/webpage except maybe a static rendered status page for something that runs on beam anyways. LiveView / the "PETAL stack" are my first choice for web applications due t…
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#126Earlier quoted context omitted.
It also goes the other way. If you're a savvy dev and a search like: https://www.itjobswatch.co.uk/default.aspx?q=Elixir%2C+Rust%... comes up with zero for Elixir, you don't sink time into it. If nothing else, you know that the low job availability puts you in a very weak bargaining position.
This is the kind of attitude that would have seen Java jobs proliferate lol
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#127Earlier quoted context omitted.
Consultant.
how do you find your customers? do they use elixir already and need help, or are you doing new projects where you are able to choose/propose elixir to implement it?
Usually my customers are already established companies, small sized, and they find me by word of mouth. Or, I have a lull between projects and I get in touch with companies I worked for in the past or that know me, and I find one that needs help. It's usually either Rails or Django.
Re: Ask HN: Why isn't Phoenix/Elixir more mainstream?
#128Anecdotally, I think Elixir/Erlang are too difficult/esoteric compared to other languages. That makes it hard to come back to after not touching it for a while, which means it'll be incompatible with a lot of devs that use other languages. When I come back to Golang, I can pick it up almost immediately, so I often use it for personal projects. It also has great concurrency primitives, which is one of Elixir's biggest…
I do everything with Go and Node+TS. All API services, real time / notifications, and crunchy stuff happens with Go. Node+TS handles anything else for either 3rd party things (usually the node sdk is far superior in terms of documentation and support) or one off scripts.
I've tried phoenix. End of the day I don't want to work with something which is built on something else which I don't know/understand to an even bigger degree. And fwiw, I don't see the point of deep diving into erlang/beam when Go basically does everything plus more, within its boundaries. Reminds me of JVM, you can code all day in Scala (like any junior engineer) but at some point either when shit hits the fan or incompatibility strikes, you need to learn Java and JVM internals.