# Linguagem

ir é uma linguagem dinâmica e funcional. Ela foi projetada para a construção de aplicações escaláveis e de fácil manutenção, possuindo um cinto de utilidades moderno e uma base cientifica refinada.&#x20;

Dito isso, podemos ressaltar que foi criado pelo brasileiro [José Valim](https://twitter.com/josevalim) que está sempre atualizando o progresso da linguagem e fazendo lives na [twitch](https://t.co/8zKj1end4a), sendo um bom recurso de aprendizado.

Uma das principais aderências da linguagem é o seu suporte a concorrência. Veremos mais adiante nos tópicos avançados, o que isso significa e como podemos utiliza-la. Caso tenha curiosidade, fiz um video na prática de como podemos usar elixir para aumentar a performance em [importar uma grande quantidade de dados no banco de dados PostgresSQL](https://youtu.be/w_Z6BL9_59w). Você não precisa entender tudo do que foi feito ali ainda, você vai chegar la, mas é legal para dar uma ideia do que  o aguarda.

Também precisamos entender alguns conceitos da linguagem. Porém, pode se tornar complexo por tudo por aqui, então para simplificar as coisas, você pode seguir os estudos e quando sentir necessidade (ou eu avisar que será de extrema importância), vá ate a seção de [Conceitos](/conceitos/imutabilidade.md) do livro para se aprofundar mais nos detalhes.

O primeiro conceito (e que na maioria das vezes confundi quem vem de orientação a objetos) é a [imutabilidade](/conceitos/imutabilidade.md).  Escrevi ali de forma simples para se tornar mais fácil o entendimento e evoluirmos mais rapidamente.

Caso não entenda os conceitos, revisite sempre que quiser e sempre faça exemplos, pratique muito, mude as coisas, quebre as coisas e as arrume, so assim você vai entender como o elixir funciona. Não se limite a fazer o aplicativo perfeito, eu já desisti disso a muito tempo.

### Empresas que usam elixir em produção

<table data-view="cards"><thead><tr><th></th><th></th><th></th></tr></thead><tbody><tr><td><img src="/files/BPWOniA5iHK8DN5PQyqL" alt=""></td><td></td><td>embedded, nervers</td></tr><tr><td><img src="/files/5cnyT9QAIVPE3nwemSBS" alt=""></td><td></td><td>paas, phoenix</td></tr><tr><td><img src="/files/LGfcPg0ihBZvy3p0CjSU" alt=""></td><td></td><td>real-time, genstage, otp</td></tr><tr><td><img src="/files/VHEL0aVFuoGaO9YseiLe" alt=""></td><td></td><td>social, broadway</td></tr><tr><td><img src="/files/iaLFhIIUS1oAYySiihMD" alt=""></td><td></td><td>collab, phoenix, otp</td></tr><tr><td><img src="/files/6VjPSf4NOK3Iw9Uz6BIv" alt=""></td><td></td><td>biz-intelligence, phoenix</td></tr></tbody></table>

Bons estudos.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://aprenda.cafecomelixir.com.br/primeiros-passos-em-elixir/linguagem.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
