iex(42)> IO.puts "Hello World!"
Hello World!
:ok

If you are new to programming, you may not know that "Hello World" is the canonical "do this first" example of a program, going all the way back to The C Programming Language, the seminal book from 1978 by Brian Kernighan and Dennis Ritchie of Bell Labs:

printf("hello, world\n");

I mention this for a couple of reasons: First, the top example is "Hello world" in Elixir (so: "Welcome to Elixir"), followed by the original "Hello world" in C.

Second, the C programming language is still widely used today (mostly under the covers, in the form of language interpreters) by many popular languages (like Python, Perl, Ruby, Lua), and several other languages were created as direct descendants of C (including C++, C#, Java). Unix (the original commercial operating system out of Bell Labs that is the foundation of macOS and all flavors of Linux) was written in C, and many languages use C-like syntax. 

To be clear, I am not advocating learning C; there is no need to, because many languages provide a far better programmer experience while using C under the covers to make that language performant.

My real point here is that this foundational stuff (C and Unix) was invented at telecommunication firms, where the ability to handle billions of transactions and millions of concurrent sessions (phone calls) drove the need to create robust and performant software tools. Then telecommunications software engineers created the Erlang programming language (first released in 1987) to make telephone switching systems even faster, more fault-tolerant and robust.

*What I Have Been Yearning For

Right. Sorry; I'm nerding out here. That history may be interesting, but it's not what brought me to Elixir.

What I have been yearning for is a delightful programmer experience that revolves around the escape from dependency Hell. Dependency Hell is the modern-day version of DLL Hell that Microsoft created in the 90's, so I blame them for creating that pattern. (Look it up if you have the urge to chew off your arm.) 

Speaking of such urges, you will have them when being tortured by the dependency Hell of the Node.js stack, Ruby on Rails, and most other web development frameworks. The teams behind these (especially Rails) are working hard to reduce this agony, but it is much easier to start from scratch.

That's what some of the core maintainers of Rails decided around 2011. I will not attempt to describe the full history here; my point is that the result is the Elixir programming language (built on Erlang) and the Phoenix web application framework (built on Elixir), and they come very close to avoiding the dependency vortex that is responsible for the loss of so many developer limbs. I acknowledge that complete escape from dependencies is neither practical nor desirable, but I'm delighted so far.

It's the Community, Stupid

I was getting to that; I was saving the best for last.

I know this is going to sound trite, but here goes. The whole Elixir/Phoenix community is incredibly welcoming, patient, and lemme tell ya, phenomenally smart. We're talking about the actual genius bar here. But actually, it's more than that. Maybe their true genius is in emotional intelligence.

Whatever the (wait for it ...) magic elixir may be, this community is truly awesome, and I feel privileged to be joining them.