5 ms·
Quick question: If you recommend to start learning Erlang now, it's better to play with normal one (I actually don't like syntax since I'm used to semicolons an
by kornakiewicz 12y ago
Quick question: If you recommend to start learning Erlang now, it's better to play with normal one (I actually don't like syntax since I'm used to semicolons and other C-influenced stuff) or Elixir, which looks pretty neat?
- loxs 12y agoBoth. Elixir is the future, but mostly, you write the same thing with a different (better) syntax. No way you will write Elixir without understanding Erlang
- coldtea 12y agoIs that so, or is that old wives tales? Because in most "layered" languages, you can go quite far without understanding the base language, as long as you understand the semantics of the higher level language. I don't need to know Java to write Scala for example -- I just need to know the relevant semantics of Scala's object system and interoperability.
- thisishugo 12y agoThe semantics of Elixir are a superset of the semantics of Erlang, so by learning the former, you're learning the latter anyway. Plus, you'll be calling a lot of Erlang libraries from Elixir, so understanding how Erlang works is extremely beneficial to using Elixir.
- mononcqc 12y agoI don't see Elixir being the future, or ever killing Erlang entirely. I do prefer Erlang's syntax to Elixir's too (along with a bunch of other stuff). I expect what is going to be more of a dynamic where Elixir will grab a bunch of new developers, some of which will go to the Erlang side of thing eventually, whereas Elixir had its jumpstart by draining some of the Erlang developers who were unhappy with the language. If Elixir does catch on, it could have a spectacular rise, but I'd only expect it to trickle more people into Erlang, which already had its newcomer wave many years ago and has stabilized since then.
- lostcolony 12y agoHow comfortable are you with functional programming, and concurrent programming? I ask because my experience (and as always, YMMV) was that in languages that had 'familiar' syntax, new paradigms and concepts were a lot harder to pick up. I tried to learn functional programming in Scala, but it didn't take; I could still write things in a Java like way, which was what I was accustomed to, and it took a lot of extra effort to try and write them idiomatically. As a for instance, one of the most confusing (and thus, unused) structures in Erlang is the if structure. Why? Because it looks like something every developer already understands, while behaving in a completely different manner. That tinge of familiarity is a detriment for it.
- rssaddict 12y agoI started learning Elixir a few months ago, and the few times I've had to dive into reading some Erlang source code to figure out an issue with a library I was using I've been surprised at how easy I find it to read. Even though the syntax is quite foreign, having learned the general ideas of pattern matching, etc. in Elixir makes it a lot easier to read Erlang code. I don't think I'd ever set out to write a new project in Erlang: for me Elixir has all the advantages and none of the drawbacks. There's nothing you can do in Erlang that you can't do in Elixir, and you get the benefit of a much more expressive syntax and powerful metaprogramming. But there are a lot of quite mature Erlang libraries out there, and I don't see the point of replicating them all in Elixir, so I can see myself contributing patches to Erlang projects. Have a play with both, stick with whichever one feels better to you. Since you're just learning, you want whichever one will make you more excited about learning, and make it quicker to pick up the concepts. Once you've got a solid grasp of it, you can familiarize yourself with the few syntactic differences and make a more informed decision about which one you want to keep working with.
- rdtsc 12y agoI would suggest Erlang. I rather like the syntax. If anything, semicolons and C-like similarity is deceiving because other things don't work like C. There are probably more examples at the moment in Erlang. Watch some of the Erlang Factory talks, those are good. Try http://learnyousomeerlang.com/ http://learnyousomeerlang.com/ that is a fun and great resource. Joe's books are great. But Elixir is fantastic too. You can call into Erlang from it. But it is still a bit new. Maybe spend a couple of hours with both or pick a small project and try to do it in both and see how you like the feel of both.