4 ms·
I guess the reason is enough people upvote it? HN is pretty popular for nichier tech like Clojure, Julia etc. It gets as many votes as Java I think because the
by joelbluminator 5y ago
I guess the reason is enough people upvote it? HN is pretty popular for nichier tech like Clojure, Julia etc. It gets as many votes as Java I think because the community in general likes reading about exotic stuff.
- ralmidani 5y agoAre Erlang/Elixir really that exotic? I interpret exotic in our context to mean a language aimed at academics and very advanced programmers but lacking mainstream appeal. Erlang/Elixir strike me as very pragmatic and, compared to Haskell/Lisp/Clojure/Scala/Julia/etc., they seem more beginner-friendly.
- joelbluminator 5y agoI don't think Erlang/Elixir is many people's first language, no. It's advanced. Someone who is doing their 1st programming project would be better off choosing javascript / php / ruby if they are building for the web. It's quite unlikely their first use cases will be 2 million concurrent web sockets. So given it's not mainstream and it has the advanced aura I think it's fair to call it exotic or " language aimed at academics and very advanced programmers but lacking mainstream appeal" as you just said.
- sergiomattei 5y agoI don't think Elixir is aimed at academics, though. It's very clear that it tries to be as pragmatic as possible.
- joelbluminator 5y agoYeah agree, you can erase academics from that sentence. Academics mostly use Python and R and Python is actually super pragmatic.
- ralmidani 5y agoTo clarify, by “aimed at academics” I meant CS academics, not researchers in other fields.
- ralmidani 5y agoI honestly don’t see why a beginner couldn’t learn Elixir. You can start with if/else, and later learn how to do things more elegantly with pattern matching. You don’t have to use processes and GenServers right away (and even afterwards, you can use a library/framework which provides an abstraction). The ecosystem has many advanced features and use cases, but simple programs are not much harder to write than they are in Python or Ruby. In some ways, getting programmers to start out thinking about “everything as an expression” and immutability-by-default might help them write elegant and robust code earlier in their journeys.
- joelbluminator 5y ago> but simple programs are not much harder to write than they are in Python or Ruby. Even if they are just a bit harder it makes it a questionable choice for a beginner. And let's not forget the huge amount of Stackoverflow answers a stack like Python/Ruby have. > immutability by default I don't know that beginners should think about that stuff.
- dnautics 5y agoThere was a class aimed at middle school? Iirc Students where they were taught erlang and by the end of two classes they had built a crude networked chat system, which, believe it or not, gets their attention. You can't really do that so easily in any other language system. > I don't know that beginners should think about [immutable by default]. Yeah. Beginners should not have to think about mutability. So, immutability by default is the right choice. Details like "why don't integers mutate when passed to a function versus a dict" should not ever have to be answered to a beginner.
- joelbluminator 5y agoRight, no one has ever built a chat system with Node or PHP or Python...just super hard. Like importing a library and 10 lines of code hard.
- 5y ago