7 ms·
Sure, Erlang has an issue with gaining forward momentum, but I feel like people are really overstating the momentum Elixer has. It is easy to gain huge percent
by aaron-lebo 12y ago
Sure, Erlang has an issue with gaining forward momentum, but I feel like people are really overstating the momentum Elixer has.
It is easy to gain huge percentages of momentum (if you could ever measure that) when you have little to start with. That's the case with Elixir. That's the same situation languages like Factor and even Haskell saw seven years ago. The former is more or less dead and and the latter still never "broke out".
When Elixir is competing library-wise and ecosystem-wise with the likes of existing languages like Python, Ruby, Java, Javascript, and then some of its major selling points are in competitors like Go (though not 100%) or Clojure/Scala (which can leverage the JVM), it really, really has to distance itself.
As great as Elixir is, it is hard to make a bet on it ever crossing the threshold of "this is really cool" to something you can goto because library x y and z are available.
- arca_vorago 12y ago"I feel like people are really overstating the momentum Elixer has." I think the real problem is overly broad generalizations about languages in general. I'm just a sysadmin, so I have to keep up with the big picture overview of things, and one thing I have learned is that certain languages have momentum in certain areas of application where they don't in others. The devs in one area see language A as awesome and language B as sucky for their work, while the devs in another see it the opposite. Elixir/Erlang for example has concurrency that is only challenged by a small set of languages like Go. (Henning Diedrich got 877k TPS with Erlang and VoltDB. ) Anyway, my point is that for those of us more specialized and deep instead of jacks of all trades, we need to keep in mind our biases when we speak so broadly about languages. Also, when it comes to momentum, some languages can pull others behind them. For example, I am recently fascinated with Racket, which seems to me a perfect way of pulling Scheme (SICP) into a modern setting. Elixir may have enough momentum that it brings Erlang with it, etc.
- jtittsler 12y agoHave you explored Lisp Flavored Erlang (LFE)? http://lfe.io/ http://lfe.io/ It is another way to participate in the BEAM ecosystem and might align well with your Racket interest.
- arca_vorago 12y agoI have not but I'm looking at it now and am very interested. Thank you very much for the link!
- steveklabnik 12y ago> the latter still never "broke out". Crossing the Chasm strikes again. In general, grabbing the early adopters doesn't inherently mean you'll be successful. (Not that everyone wants to cross said chasm. Haskell's motto has been 'avoid success at all costs' for a while now, if I remember correctly.)
- tel 12y agoTo be clear, SPJ has apparently clarified that to "avoid 'success at all costs'". :)
- david-given 12y ago...surely that should be "avoid $ success at all costs"?
- Hemospectrum 12y ago> That's the same situation languages like Factor and even Haskell saw seven years ago. The former is more or less dead and and the latter still never "broke out". Kind of a nitpick, but "breaking out" was never a goal of the forces behind Haskell, and in fact contrary to their stated desires. Much of Haskell's value was always (and continues to be) its variety of tools for expressing the semantics of the problem the code tries to solve — features which we now see spreading rapidly among mainstream languages. The rest of its value (and its primary purpose) was as a research tool for developing such features. There's still a lot of work to be done in exploring that frontier.
- hawkice 12y agoThe canonical phrasing in the Haskell world is "Avoid success-at-all-costs." [If you don't mind me adding the disambiguating hyphens.]
- metaphorm 12y agoI thought the more prevalent attitude was "speak to developers like the wretched ignorant peasants they are." followed closely by "A monad is just a monoid in the category of endofunctors, what's the problem?".
- davidw 12y agoAnecdote: I was at a dinner with Simon Peyton Jones once, and he was about as nice and kind and polite as could be, despite me not holding a candle to him in the computer science field. He was genuinely curious about my job as a consultant "in the trenches", selling coding time for money. I came away extremely impressed with him as a person. Hopefully some of that attitude gets passed on throughout that community.
- dukerutledge 12y agoSPJ is certainly a bodhisattva.
- 12y ago
- hnfemtard1 12y agoThe reason Elixir will take off is that the rails muppets will flock to it, run a few magic commands from the pavlovian rails blog in five minutes training and then tell the world they are developers. Except they will not understand a damn thing about what is really running or how. Erlang rewards developers who take the time to learn the how, why, where, but this naturally excludes the ADD riddled rails developer who just wants to get a site up and keeps pressing buttons till it happens.
- kyllo 12y agoI don't think you're giving Haskell enough credit. I just went to a Haskell meetup last weekend and was very impressed by the attendance and engagement level, it was a very lively and interactive group. A lot of software companies are using Haskell now, I know Microsoft has Haskell code in production and I think Facebook does too. I really feel like the language is gaining steam lately.
- qubitcoder 12y agoGoogle also uses Haskell for Ganeti, their cluster-based virtualization management software. [0] Why does Ganeti use Haskell? Ganeti first used Haskell as an experiment when we needed a compiled language that could perform fast computations on cluster metadata. Eventually, we found that Haskell had advantages in its type safety that made it easy for us to develop better code with fewer common errors without having to write extensive “type-specific” unit tests. At this point, we decided to expand our use of Haskell. As of January 2014, we plan to convert only “infrastructural” code (job queue, locking) that was already very complicated in Python to Haskell. We’ll continue to use Python for Logical Units, backend RPCs, and hypervisor, storage, and networking implementations. There are two main reasons why Haskell constitutes a low barrier: - Haskell doesn’t have any runtime dependency on the target systems. - For setup, Haskell only requires a development environment. [0] https://code.google.com/p/ganeti/wiki/GanetiFAQ#Why_does_Ganeti_use_Haskell?_What_are_Ganeti’s_plans_with_resp https://code.google.com/p/ganeti/wiki/GanetiFAQ#Why_does_Gan...
- istvan__ 12y agoExactly, Erlang is a highly concurrent distributed system out of the box but this does not mean too much for Rails developers, on the other side the syntax is kind of hard to get used to. I think this is primarily why Elixir was created. I think if we see the usage or Erlang in the world it has enough momentum already and it proved itself with empowering startups like WhatsApp. On the top of that, the Erlang community is absolutely amazing. I guess I don't understand what the author means in terms of momentum. Is Erlang popular on Github? Certainly not. Should we use this to measure momentum? I don't think so.
- alxndr 12y agoJosé Valim has repeatedly said that he did not create Elixir to be a whitewash of Erlang's syntax. http://devintorr.es/blog/2013/06/11/elixir-its-not-about-syntax/ http://devintorr.es/blog/2013/06/11/elixir-its-not-about-syn...
- MCRed 12y agoNo, but it is part of the reason for its popularity. I think it's silly that we have a generation of programmers who are unwilling to learn a language without a C or Ruby like syntax. But I must admit that I find Elixir easier to read and more comfortable than Erlang.
- josai 12y ago>> I feel like people are really overstating the momentum Elixir has I don't think so at all. I see elixir gaining a groundswell of momentum very much like the early days of rails and node. Of course it's the beginning, but I see a whole different crowd of people interested in elixir - the "gets things done" crowd rather than the "this is cool/elite" crowd I see playing with factor or haskell (sorry, but it's true). Elixir does not compete with Python, Ruby or JS - it solves a whole different problem, which is the "massively multiplayer" requirement the apps world is obviously moving towards. No-one I know likes Go or Scala. Clojure is a genuine competitor, you are right about that, but it lacks the ruby community spirit showing itself in elixir. Say what you want about ruby but its community moves mountains. It's early, yes, but I know a lot of good rails devs who are embracing elixir and they're all "smart and gets things done" types. A lot of torque is building behind taking elixir mainstream, and there's excitement in the air. Time will tell, but it's a bet I'm increasingly ready to make.
- lighthawk 12y ago> Elixir does not compete with ... Ruby ... I think it does, actually, though not intentionally. José Valim was a Rails core dev and as far I can tell he took on Elixir to address concerns with performance. In http://elixir-lang.org/blog/2013/08/08/elixir-design-goals/ http://elixir-lang.org/blog/2013/08/08/elixir-design-goals/ he says, "Given my previous background in Ruby, it is natural that some of the constructs added were borrowed from Ruby. However, those additions were a by-product, never a language goal." He follows this with a comparison of Ruby code to Elixir. I'm heavy into Ruby but looking forward to Elixir gaining strength.
- josai 12y ago> I think it does, actually You may be right, but what I meant is that every rubyist i know looking into elixir is after massively persistent connections. Websocket, basically, to thousands or more clients. They are leaving ruby because it simply cannot offer that (I don't care what DHH says. No-one big is doing EM WS in production, nor should they). Phoenix has a steeper learning curve than rails but is addressing the new paradigm of persistent duplex connections. Rails remains unapologetically a request-based framework, ActionCable notwithstanding. That is fine. 99% of today's apps don't that. Right tool for the job! But to me, the future is very clear. I'm heavy into ruby too, but speaking pragmatically, it and elixir are playing different games in different ballparks. That's why I said they don't compete.