RedDot Ruby Conf 2014

Combinando Erlang y Ruby gracias a Elixir

Benjamin Tan  · 

Presentación

Vídeo

Transcripción

Extracto de la transcripción automática del vídeo realizada por YouTube.

hello hi my name is Benjamin tan and I will do so this guy is Tim O'Reilly he's the same guy behind all the o'reilly books so he once gave a talk titled watching the alpha geek in it he said and I quote this is how we get most of our good ideas

that orally we look at people who seem to be doing magic and we ask them how they do it they're always there always seems to be people in any field that seems to be the most clue in to the deeper strength who seem to be playing with all the colors stuff

and have their finger in everything before even anyone knows about it that was what I was observing when I was playing around with elixir so this is josey Valley you might know him from his rails contributions and gems such as device but nowadays he's

also known as the creator of elixir a new programming language built on the Erlang virtual machine so a couple of months ago Josette did a pic screencaps couple of weeks after that books started pouring out the pragmatic bookshelf did a book Manning did a

book and also the rally guys did a book so this is dave thomas you might know him he is one of the guys behind pragmatic publishing so death has always been a advocate for ruby and for reals in fact he is often credited as one of the guys who brought ruby

into the english-speaking world but nowadays he's doing the same thing for elixir so this is joe armstrong this is one of the inventors of a length he wrote about his one wing experience with elixir and suffice to say it is safe to say that he liked it

so what the heck was going on the language hasn't even hit 1.0 yet yeah there was all these smart people raving about this language so I decided to investigate so the more I place elixir the more I liked it I was hooked so a polyglot is somebody who knows

and can use multiple languages similarly a polygon programmer can use multiple programming languages so this talk I want to encourage you to look beyond Ruby I won't try to convert you away from Ruby because that would be a huge mistake coming the Rubicon

and doing that kind of stuff but I might persuade you to add elixir in there to set so what is elixir and what exactly makes it special elixir is a functional metaprogramming aware language that builds on top of the online virtual machine it focuses on tooling

to leverage Alliance capabilities to build fault-tolerant concurrent and distributed applications so one of the reasons I was attracted to elixir is because of its current currency because it is a concurrency oriented language so the main concurrency primitives

in elixir is the process the process is not like the process we are used to in operating systems instead the old processors in elixir are controlled by the Erlang virtual machine elixir programmers create processors just like Ruby programmers create objects

in fact a single aligned virtual machine can support up to 13 million processors so elixir processors can run on a single CPU and across multiple CPUs with very little overhead here we have a uniprocessor machine with a single a language Oh machine but if

we have multiprocessor hardware the Erlang runtime can distribute all the work across all the cpu cores without any changes in a program the only way to communicate between assessors is true sending and receiving of messages as long as you know the process

ID you can send a processor message and this is an important point a process a cannot modify the memory of process be directly the only way to potentially do that is to send a message so messages are sent asynchronously much in a fire-and-forget fashion I

love that so we all see this in action soon this is the Ackermann function the function takes in two arguments mnn both of which must be more than zero the first two cases are pretty straightforward but I would like to draw attention to the third case if you

look at the third case in the second argument is a recursive call to itself so this makes the entire computations that grow really quickly and mix well very nice and computationally intensive example so this is the Ackermann function written elixir elixir

[ ... ]

Nota: se han omitido las otras 2.048 palabras de la transcripción completa para cumplir con las normas de «uso razonable» de YouTube.