HomeArticlesLive Fazendo exercícios – Ep 01 – Learn Functional Programming with Elixir
Live Fazendo exercícios – Ep 01 – Learn Functional Programming with Elixir
August 11, 2019
Hey folks! It’s my first time streaming here a true streaming *giggles*
on Twitch We’re going to start with Elixir The idea of the streaming is *giggles* …doing the exercises of the book We’re going start from chapter 01 through chapter 07 or until I give up I’ve been playing Monster Hunter, and it’s consuming a lot of my free time but I’m gonna try doing this streaming every Wednesday I’m gonna try do one chapter in one hour at maximum Then I hope it will not consume much time from you and from me. We’ll try to finish the exercises in time limit, if we finish, if not, patience I’m gonna try to explain and also provide tips But, which book are we talking about? Let me show you Here Learn Functional Programming With Elixir It’s a book about that you can learn Functional Programming… ..with Elixir! Well, the book’s name say that. How wonderful! The book’s title is self explanatory
*giggles* The author of the book is… Ulisses Almeida In that case, it’s me! It’s me
*giggles* What’s more? The publisher is The Pragmatic Bookshelf You can access the book purchase link in the video description *mumble* *rumble,mumble*
If you want to buy, for now we don’t have a discount, but I’ll give you some spoilers… soon Elixir Brasil is coming I’m talking the organizers and Probably a book discount and free copy lottery will come at same time of the Elixir Brazil event that will happen in May May? Or April? I don’t know Follow Alda Rocha on Twitter if you want more information about the Elixir Brasil You find her username of Twitter in the video description. Please follow her. Then, maybe, we gonna have Elixir Brasil, a book discount and a book copy giveaway Then, if you don’t want to watch all these videos, you’ll have the chance to have the book and learn in your peace That’s enough of conversation maybe not Let’s talk more Why Elixir? I used to code in Ruby **reading the chat messages, lol**
Watching the videos is cheaper than buying the book indeed *lol* Why Elixir? I used to love Ruby, Rails… I used to love build websites with… Ruby on Rails and now I’m building websites with Elixir Why I changed my main programming language? Well, the first reason of change was because of the company, if you don’t I know, I used to work at Plataformatec.
It’s a company… I have been working there for 5 years That company is well known for consultancy services in Ruby on Rails and also well known for gems like Devise and SimpleForm.
The company also had Rails core members and… The company got little bit famous and at same time The Elixir creator, Jose Valim, that is also a member of Plataformatec He’s was building the Elixir.
I joined Plataformatec on 2013… I watch the childhood of Elixir and… The company was building this programming language I decided to be a good employee and let’s support the company in this initiative *giggles*
I’m not silly then was like that,
and I ending up loving this language It wasn’t just because of company reasons I ended up, really, loving Elixir *mumble* You can pronuciate Elixir anyway you want I ended up liking a lot
For me.. was…
The functional programming, The concurrency model of Erlang.
For me… It was super cool And, for me, it has lot of meanings I used a lot Ruby on Rails, but honestly, I think I didn’t understand what was going on.. but now.. with Elixir… I think I had some idea of what’s going on in Phoenix, or in Elixir Looks like a little bit more simple, in my opinion But, to each his own Now, why? You’re there Using your Java, or your .Net, or… or using your Ruby.
Why will you start learn Elixir? Why are you gonna move from your comfort zone? I think, the first reason, learning new things is cool. Sometimes you get tired of always learning new things, but most of the times, learning new and different things is cool. When we think about Erlang it’s a VM and their universe is completly … different from what the mainstream programmers are used to, like Java or Ruby, looks like a tribe that we didn’t knew but they come now the world found about them now and
*giggles* It’s so different, then it has some weird stuff and it also has some cool stuff, and there are some stuff that isn’t cool too *giggles* Then… because of being so different, I feel more motivated to learn it I think it’s funny to learn something different Another reason for learning Elixir or Functional Programming Functional Programming is a trend in the last years You will gonna see that many concepts of Functional Programming are present int the mainstream languages then, you’ll see these concepts origins and I think it’s cool You learn more about how things works then, it helps you work daily basis Even though, you ain’t gonna use Elixir in your work daily basis You gonna learn more about Functional Programming How approach to problems in a functional way It can bring you new ideas in how to solve your own problems using other languages The last reason why you should learn Elixir In my opinion… The Erlang VM(BEAM) It’s a really good VM Specially when we talk about concurrency.
The VM has processing scheduling that’s prevents your code to generate a chaos For example If you have a infinite loop in your codebase Your infinite loop will not destroy all the VM(your system) Your infinite loop will not impact other users Or other requests
*mumble* Or other commands, or procedures They will not stop to work They will keep working as usual It happens, because the Erlang VM can do something like: “Hey, this process…” “…doing a infinite loop…” “…but it will not use all the space…” “…every process must have a similar chance and time to run…” Then… Even if you have an error in your code, like a infinite loop, or something similar It will not… explode your machine Your system will keep running and serving the users or the users that’s not touching the problematic part of your system Of course, in theory, If you have a problematic infinte loop in your software If many users start to access it You will get in trouble
but In theory The VM(BEAM) is well protected against these kind of problems(bad processes) Let’s forget about infinite loop, for example, if you have only one request that’s taking a lot of time That request will not, or operation, command, or routine
the long request will not use all the processing tiume It will not take time from the other … processes that are also trying to do something The VM will try Give a equal processing time opportunity between all processes With that, we have big difference and Specially when you wanna build applications with high concurrency scalable resilience then The VM has very interesting mechanism Of course, this VM has also its problems too, It might have some bottlenecks In theory, most of time works well I think that’s it These are some reasons you might want to learn Elixir and and that’s it