Elixir: conhecendo a linguagem de programação funcional
Elixir é uma linguagem dinâmica e funcional, projetada para construir aplicações escaláveis e de fácil manutenção.
-
Funcional: paradígma de programação que utiliza o conceito de funções puras/retornos de dados que dependem apenas de seus parâmetros (stateless, imutável, composição de funções e high-order functions).
-
Distribuido: Divide-se uma aplicação em dezenas, centenas e até milhares de diferentes aplicações que se comunicam entre si e compartilham recursos (responsividade, eficácia, rapidez).
-
Orientado a processos: delimita a separação de dados e dos métodos que agem sobre eles. (paralelização mais eficiênte e organizada).
-
Concorrente: Diversas tarefas executadas num mesmo período de tempo (ex: 1 core, 2 processos).
-
O Elixir usa a máquina virtual do Erlang e a sua capacidade de criar aplicações distribuidas de baixa latência. (inclusive podemos usar funções do Erlang)
-
O elixir é escalável: o Elixir acompanha o crescimento da sua aplicação.
-
É tolerante a falhas: Se um nó morre, a maquina virtual do Erlang consegue cuidar disso para que não haja falhas na aplicação toda, o nó é restartado depois.
-
É uma linguagem funcional: isso garante que a concorrência seja um dos focos da linguagem.
-
É extensível: isso significa que conseguimos criar módulos novos de acordo com nossas necessidades.
Conhecendo o Mix
O mix é o gerenciados de projetos, tasks e dependências oficial da linguagem. Apesar de ser nova, a linguagem conta com várias bibliotecas open-source, e aumenta a cada dia. Praticamente tudo o que precisamos, podemos achar no Package Manager oficial.