
Elixir concepts for Go developers - jaxondu
https://texlution.com/post/elixir-concepts-for-golang-developers/
======
sanderjd
Something this article misses a bit (which is fair, because it's about the
_language_ ) is that the Elixir community has already put together a very
impressive amount of tooling for such a young language. For package
management, hex seems mature and well-designed, and I've found their task /
compilation management tool, mix, to be a dream to work with. José Valim spent
a lot of time talking about the entire ecosystem in his recent keynote at
ElixirConf 2015[0].

[0]:
[https://www.youtube.com/watch?v=9RB1JCKe3GY](https://www.youtube.com/watch?v=9RB1JCKe3GY)

------
illicium
Looking forward to the forthcoming "NextTrendyNewLang concepts for Elixir
developers" article.

In all seriousness, if you want to learn Elixir, learn Erlang.

~~~
marcstreeter
_In all seriousness, if you want to learn Elixir, learn Erlang._

Couldn't we have said the same thing about Objective-C with regard to C? I'm
not trying to be confrontational, just trying to understand why anyone would
say that one should learn the foundation instead of the abstraction? It would
be nice to have some concrete reasons delineated or even referenced. I have
been searching to find them because I've more than once come across the above
criticism, but I've never been able to find anything besides gut reactions. If
there are any real obstacles the smarter among you perceive then I'd like to
know to avoid them.

~~~
thibaut_barrere
_why anyone would say that one should learn the foundation instead of the
abstraction?_

Again just one data point (not trying to generalize!), but since I started
programming (circa 1985), this has always been a common confrontation point in
the various (diverse) communities I've been part of.

In the demo-making world for instance, some people considered that Assembler
was the only way to implement something "properly" ("real programmers use
asm"), vs people picking C, C++ or even TurboPascal which could still optimize
a given loop with Assembler when needed only.

It happens that some (but not all!) programmers with a long experience (15y+)
end up considering that without knowing exactly how things work underneath in
detail, you won't be able to ship anything.

I think it's a mixture of "fear to be obsolete" and other psychological
factors. Despite this I've personally seen a couple of people with 1 to 2y of
programming experience ship viable products.

Not everybody needs to know Ralf Brown's interrupt list by heart today :-)

------
phamilton
> in proper functional languages data is immutable. Once you have set a
> variable you can not change it.

Immutability != single assignment. Two separate concepts, often confused.
Elixir is immutable but allows variable shadowing, in which a new variable
with the same name is created and the old variable is tossed.

------
sgt
Although I have nothing against Erlang, I regularly see claims such as "Erlang
is powering around 50% of telecom networks.", also stated in this article. Is
this correct, though? Or was this the case only many years ago?

~~~
yessortof
Not sure where 50% is pulled from, however, Erlang is currently used in some
of Ericsson's flagship telco. products (along with other programming
languges). About 50% of Ericsson SGSN-MME is written in Erlang (control
plane), the rest being C++. Also Erlang is extensively used by the Ericsson
RAN products (RBS 6000 family). This is for GSM, WCDMA, and LTE. People
sometimes bring into discussion the AXE (AXD301) and how this was the only
Ericsson product that used Erlang (I have seen "stillbirth" associated with
Erlang due to this), however, this is not true and Ericsson still use Erlang
today in a lot of products, both in production and for testing purposes. I
believe the main distinction was that AXE was (almost) entirely programmed
with Erlang as opposed to the products above which use Erlang for what it
shines at and other languages for drivers, etc.

All the information above is public information that I have collected from
various sources around the web. First source that comes to mind is this:
[https://www.youtube.com/watch?v=HyiSYHfESX4](https://www.youtube.com/watch?v=HyiSYHfESX4)

