Not about Elixir specifically, but don't people get tired of switching languages? What, people will now have to port all Ruby libraries to Elixir (or, at the very least, relearn them), and then a few years down the line to the next thing? Isn't this a huge waste of effort? Not to mention the poor CTO who gets a job at such an early-adopter company in 15 years, and finds out the codebase is made up of 7 different lang…
> Are all the new languages such huge advances over older ones that they do that? I don't know about other languages, but having personally migrated from Perl and Ruby to Erlang/Elixir, I at least believe that to be the case in that particular circumstance. A big part of it is that parallel programming is starting to catch on as mainstream rather than something to be shunned or avoided; whereas in the past folks were…
Elixir – The next big language for the web
41–50 of 85 posts
Re: Elixir – The next big language for the web
#42Earlier quoted context omitted.
> Erlang's module system means that a chunk of the raison d'etre behind language-specific package managers is already alleviated. Sure, modules provide a way to "package" functions, but that is 5% of what a package manager does. Being able to distribute, fetch and do dependency resolution is certainly the bulk of it. I definitely prefer my deployments to rely on packages than fetching git repositories from Github and…
Rebar does not even guarantee repeatable builds I think you're setting the bar a little high there. Reproducible builds is something that most package managers, OS and language-specific alike, struggle with to this day. Only Nix and Guix have complete solutions, I think.
Re: Elixir – The next big language for the web
#43Earlier quoted context omitted.
> Not about Elixir specifically, but don't people get tired of switching languages? Are you a developer because you don't want to keep learning? Maybe you walked into the wrong room? ;) > What, people will now have to port all Ruby libraries to Elixir (or, at the very least, relearn them), and then a few years down the line to the next thing? Isn't this a huge waste of effort? In this case, Elixir actually has a sell…
> Are you a developer because you don't want to keep learning? Maybe you walked into the wrong room? ;) Don't you rather be learning new concepts rather than new syntax/APIs? Not that Elixir doesn't bring new concepts to Ruby developers (it does), but even so, I think switching a language for production code has a terrible cost/benefit ratio compared to learning a new algorithm or even a new approach without switchin…
> Don't you rather be learning new concepts rather than new syntax/APIs?
I ran out of new things to learn in Ruby, around the time I wrote a fizzbuzz implementation using pure functionals without any conditionals. And the mutability issue was bothering me in a very real way (I spent a month, A MONTH, tracking down a dropped-session issue which ended up being a stray mutation of the gigantic ENV variable in the middleware stack... That class of bug would not exist in Elixir/Erlang). Elixir/Erlang provided very brand-new things to learn... pattern-matching instead of complicated nested logic, explicitly passing around state instead of holding it everywhere, macros, OTP, I mean pretty much everything underneath is different except for the syntax. ;)
You can't learn something like macros in Ruby, at all. If certain things aren't core language features, it's just difficult to learn them, period.
Re: Elixir – The next big language for the web
#44Earlier quoted context omitted.
> Are you a developer because you don't want to keep learning? Maybe you walked into the wrong room? ;) Don't you rather be learning new concepts rather than new syntax/APIs? Not that Elixir doesn't bring new concepts to Ruby developers (it does), but even so, I think switching a language for production code has a terrible cost/benefit ratio compared to learning a new algorithm or even a new approach without switchin…
If we would all just have used Lisp from the get-go, then none of this would have even been necessary. ;) > Don't you rather be learning new concepts rather than new syntax/APIs? I ran out of new things to learn in Ruby, around the time I wrote a fizzbuzz implementation using pure functionals without any conditionals. And the mutability issue was bothering me in a very real way (I spent a month, A MONTH, tracking dow…
I am not a Ruby developer, but if Ruby is Turing complete I can think of a great many things you can learn. Have you implemented a B-Tree? Edmonds-Karp? Linear programming algorithms? Dynamic programming?
Why are you limiting your learning to different styles of implementing a trivial algorithm? That's pretty much the same as learning new languages, and programming language concepts occupy a tiny, tiny bit of computer science (like, 4% tops).
The programming language or the style you're using -- imperative, pure-functional, whatever -- is just something to express an algorithm. To me, what you said sounds like: "I've learned all I could about writing with pens -- I've tried all the colors to write 'the quick brown fox'-- so now I must switch to pencils".
Re: Elixir – The next big language for the web
#45Earlier quoted context omitted.
> Not about Elixir specifically, but don't people get tired of switching languages? Are you a developer because you don't want to keep learning? Maybe you walked into the wrong room? ;) > What, people will now have to port all Ruby libraries to Elixir (or, at the very least, relearn them), and then a few years down the line to the next thing? Isn't this a huge waste of effort? In this case, Elixir actually has a sell…
> Are you a developer because you don't want to keep learning? Maybe you walked into the wrong room? ;) Don't you rather be learning new concepts rather than new syntax/APIs? Not that Elixir doesn't bring new concepts to Ruby developers (it does), but even so, I think switching a language for production code has a terrible cost/benefit ratio compared to learning a new algorithm or even a new approach without switchin…
Re: Elixir – The next big language for the web
#46Given some were touting Go as the next big language what - 12-18 months ago - can anyone enlighten me why Elixir would be different to Go. Or where Go didn't live up to its promises?
Some of this is opinion, but I looked at Go and didn't like its exception model (or total lack thereof). Checking for errors after every possible bit of code that could go wrong seemed like an ugliness to me (disclaimer: beauty is in the eye of the beholder, and I'm certain a Go guy will chirp up here in its defense... which is fine!). Elixir/Erlang almost couldn't be more different in this regard, which basically em…
> Again, there's taste and opinion here, of course. Coding has become awfully fashion-driven, of late.
I agree and that's a really enlightened view. But I'm quite glad - it means the ecosystem is maturing if we now can be fashion driven, rather than having to care about "does it work?"
Re: Elixir – The next big language for the web
#47Given some were touting Go as the next big language what - 12-18 months ago - can anyone enlighten me why Elixir would be different to Go. Or where Go didn't live up to its promises?
Can there only be 1 next big thing at a time?
And looking at the state of competing and ever-growing landscape of Javascript frameworks, I'm not convinced multiple big things is better.
Re: Elixir – The next big language for the web
#48Given some were touting Go as the next big language what - 12-18 months ago - can anyone enlighten me why Elixir would be different to Go. Or where Go didn't live up to its promises?
I would like this answer as well. Both boast on their ability to handle concurrency. The main differences I see is that: 1. elixir is less strongly typed than go 2. elixir is more purely functional 3. elixir has a smaller community and is less backed
[1] http://jlouisramblings.blogspot.com/2013/01/how-erlang-does-...
Re: Elixir – The next big language for the web
#49I think part of it is that with Erlang it is not as easy to get up and running with a new website. I'm doing this at present and there is no special difficulty. And things like package management, build tools, meta-programming, unicode handling and web frameworks are not as straight forward as in languages such as Ruby. Erlang's module system means that a chunk of the raison d'etre behind language-specific package ma…
> Erlang's module system means that a chunk of the raison d'etre behind language-specific package managers is already alleviated. Sure, modules provide a way to "package" functions, but that is 5% of what a package manager does. Being able to distribute, fetch and do dependency resolution is certainly the bulk of it. I definitely prefer my deployments to rely on packages than fetching git repositories from Github and…
Please God the Erlang/Elixir community don't invent another package manager. Pip, easy_install, gem, npm, composer, bundler, bower, maven and all the others I don't know about - we've got enough as users to remember the variations in syntax for. Let alone the duplication of effort in developing and maintaining the package managers, when their clever creators could be working on other problems.
Re: Elixir – The next big language for the web
#50Earlier quoted context omitted.
Some of this is opinion, but I looked at Go and didn't like its exception model (or total lack thereof). Checking for errors after every possible bit of code that could go wrong seemed like an ugliness to me (disclaimer: beauty is in the eye of the beholder, and I'm certain a Go guy will chirp up here in its defense... which is fine!). Elixir/Erlang almost couldn't be more different in this regard, which basically em…
Thanks, that's a really helpful answer. > Again, there's taste and opinion here, of course. Coding has become awfully fashion-driven, of late. I agree and that's a really enlightened view. But I'm quite glad - it means the ecosystem is maturing if we now can be fashion driven, rather than having to care about "does it work?"
I really like this language, I've met Jose Valim and he's a super nice, super smart guy, as is Chris McCord. So I feel naturally motivated to promote it. Also, it's just lots of fun to work with!
> it means the ecosystem is maturing if we now can be fashion driven, rather than having to care about "does it work?"
Well in my case, as I said, I got tired of certain classes of Ruby bugs, and certain, shall we say, "uglinesses" which presented themselves, but only after (sigh) YEARS of working with Ruby. In a way that's an argument FOR Ruby! It will only start to look ugly years after you work with it. ;) More than can be said for MANY other languages!
So far I haven't seen too much "ugly" in Elixir (which is good, as it should be in the "beautiful bouncing baby" phase!). In fact, in some ways it's even more Rubylike than Ruby is, such as with being able to define your own sigils: http://elixir-lang.org/getting-started/sigils.html And of course the macro facility is pretty much the ultimate definition of Ruby's oft-touted "metaprogramming." Chris McCord already has a book out on it, actually: http://smile.amazon.com/Metaprogramming-Elixir-Write-Less-Co...