Transcript for:
Overview of Elixir Programming Language

Elixir a dynamic general purpose programming language designed to build scalable concurrent applications with a beautiful functional syntax it was created by Jose velim and first released in 2012 and today it consistently ranks among the most loved programming languages it runs on top of the erlang beam virtual machine which itself is developed in the 1980s to scale the massive demands of phone switching which it did with extreme reliability and bolt tolerance Elixir was created to make this powerful technology accessible to the modern developer it's dynamically typed with a minimal ruby-inspired syntax making it more approachable than statically type functional languages like Haskell however because it's compiled to beam by code it delivers better performance and scalability compared to interpreted languages it's used by companies like Discord to handle massive amounts of concurrent users by Motorola to build fault tolerant communication systems by Pinterest to scale up their real-time notification system and The Elixir based Phoenix framework is responsible for thousands of full stack web applications to get started install erlang Andy Lex mixer then create a file ending in dot EXs to create a variable give it a name followed by a value it's Dynamic so no type annotations are necessary now print it to the standard output with i o puts and like Ruby parentheses are usually optional alternatively you might create an atom which is a constant whose value is its own name Anonymous functions can be created with the FN keyword which can then be assigned to variables or passed around to other functions and you can even simplify this expression further using the Ampersand shorthand when working with function Expressions you can use the pipe operator to pass the value of one expression to another without the need for a deeply nested function calls create a list of items with brackets or create a map to represent key value pairs the equal sign can be used to assign variables but it's actually called the match operator to support pattern matching features for example we might destructure a list into a set of variables if a pattern doesn't match it will raise an error and this Behavior can be used to implement Advanced control flow logic if and its inverse and less can be used for basic situations but the case keyword allow allows us to compare a value against many patterns until we find a matching one application code can be organized and shared with modules inside a module we can Define multiple functions but one of the killer features of this language is its concurrency model thanks to the erlang VM all code runs in processes that are isolated from each other which communicate by passing messages they are extremely lightweight and your application can run thousands of them simultaneously resulting in high performance fault tolerant execution this has been elixir in 100 seconds if you want to see more short videos like this hit the like button and subscribe thanks for watching and I will see you in the next one