Elixir is a dynamic, functional language designed for building scalable and maintainable applications.(elixir-lang.github.com, 2019)
Elixir leverages the Erlang VM, known for running low-latency, distributed and fault-tolerant systems, while also being successfully used in web development and the embedded software domain.
That was my first understanding of the language Elixir. I started using Elixir after it was recommended to me by my supervisor to learn it for web development. Before Elixir I had been only used to using PHP for web development. As I was learning Elixir I would frequently compare it with PHP as that was there closest language I could relate it to.
After about a week of playing around with Elixir and the Phoenix framework, I have decided to write a post to summarize my thoughts :
- How Hard is Elixir to learn?
- What I loved about Using Elixir.
- What I disliked about Using Elixir.
how hard is ELixir to LEARN
I believe that elixir syntax, elements, and modules were fairly easy for me to learn because I already had experience working with other programming languages. My favorite module so far is the enum module because unlike in other regular programming languages where you would usually have to write loops (for loops, while loop, etc) elixir makes this much easier for us with the Enum module. As for finding resources and help online, I felt like it was much harder for me than other programming languages. I feel this is because Elixir is still a fairly new language and not a lot of people have discovered its usefulness.
I found it really interesting learning about the design patterns of elixir. I am more familiar to working with object-oriented languages and working with a functional programming language has been a little bit different for me. Although it different I am enjoying functional programming more because it makes my code easier to understand.
WHAT I LOVED ABOUT ELIXIR
- Like I have mentioned before I really like the Enum module as it gives the convenience of looping without having to write so many lines of code.
- I really enjoy using phoenix because it makes my life much easier, with commands such as mix phx.gen.html and mix phx.gen.web would create a fully functioning web application automatically for you.
- I am also impressed with the MVC architectural pattern of Pheonix. It automatically helps me organize my code better and know where look to handle specific development aspects of my application.
WHAT I DISLIKED ABOUT ELIXIR
- One thing that made me feel really uncomfortable was immutability in Elixir. I am used to assigning data to variables and them updating them however in elixir I cannot do this. However, piping and the enum module solves this problem as I can easily solve any long problem all at once.
- I also do not like the fact that it is harder for me to find online help resources but I still think it is a good thing as it helps me master the language knowing that I can’t always get help online.
- I am enjoying working with Postgres but I would have would also have preferred it if Pheonix had more database options.