6

Elixir, 7 steps to start your journey

 1 year ago
source link: https://www.erlang-solutions.com/blog/elixir-7-steps-to-start-your-journey/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

Elixir, 7 steps to start your journey

Ready to embark on a learning journey? Find out why it would be good to know more about Elixir and the other BEAM languages.

Read this post in Spanish.

Let’s talk about Elixir!

Elixir is a functional programming language created by José Valim to build concurrent and scalable systems. It is defined as:

“a dynamic, functional language for building scalable and maintainable applications”.

https://elixir-lang.org/

Its first version was released in 2012. Since then, new features and improvements have been added until its current version. It is a relatively young programming language that has established itself quickly due to its nice syntax and short learning curve. Also, it is supported by a technology that has been working since the eighties in production systems, the BEAM.

Elixir runs on the BEAM, Erlang’s virtual machine.  

In a later blog post, we’ll go into more detail about the virtual machine. For now, I want to mention a few features that make the BEAM a solid technology and a fantastic choice for system development. For example:

  • It simultaneously supports millions of users and transactions.
  • It has a mechanism to detect failures and define strategies that allow a system to recover from them.
  • It has all the necessary elements to develop a system capable of operating without interruptions or, failing that, with the minimum of them.
  • It allows system updates in real-time without stopping and in an “invisible” way for end users.

Elixir inherits all these properties from BEAM. Adding to it that-the language has a very nice syntax, it is easy to learn, there are many resources (blogs, podcasts, etc), and the community is very friendly. So creating a project from scratch to start practicing requires very little time and effort.

I was introduced to Elixir by chance in 2018. The project I learned it with made me suffer a bit because it was a different experience than what I was used to until then. But once I got into the rhythm, it became pretty enjoyable. Sometime last year, I wondered what would have happened if I hadn’t discovered it by coincidence.

Would Elixir have caught my attention on its own? Is it a recommended option for someone learning to program? Do you require previous experience?

So I posted a tweet asking other developers:

1.Elixir-Lorena.png

Here are some answers:

2.Elixir-Lars.png
3.Elixir-Guerra.png
4.Elixir-Dennis.png

It is not easy to reach a definitive conclusion since choosing this language, as the first option will depend on the tastes and experiences of the individual. Some of its advantages are mentioned in the tweet replies, which motivated me to write this series.

Without further ado, I welcome you to the series Elixir, 7 steps to start your journey.

Throughout seven chapters, we’ll talk a bit about history, relevant technical aspects and delve into why Elixir has quickly gained popularity. I will also tell you a little about my experience in the projects in which I have participated.

What topics will it cover?

  1. Erlang’s virtual machine, the BEAM
  2. Understanding processes and concurrency
  3. Libraries and frameworks
  4. Testing and debugging
  5. The Elixir Community
  6. Functional Programming vs. Object-Oriented Programming
  7. My first project with Elixir!

Who is this series for?

  • People with no experience in any programming language looking for an option to explore.
  • People with previous experience in other programming languages who want to experiment with Elixir.

Difficulty level: Beginner

Elixir official documentation:

In each chapter, I’ll share resources to dig deeper into the topics. You can find me on Twitter as @loreniuxmr to clarify questions or continue the conversation. You can also use the hashtags #MyElixirStatus and #Elixirlang  to find other Elixir developers.

The next post will be about Erlang’s virtual machine, the BEAM, and why it is so relevant when it comes to Elixir. See you!


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK