Hello World em Elixir

Elixir é uma linguagem de programação dinâmica, funcional e construída sobre a máquina virtual Erlang (BEAM). Foi criada para ser escalável e manter sistemas de alta disponibilidade, tornando-se uma escolha popular para aplicações web, sistemas distrib…


This content originally appeared on DEV Community and was authored by João Paulo

Elixir é uma linguagem de programação dinâmica, funcional e construída sobre a máquina virtual Erlang (BEAM). Foi criada para ser escalável e manter sistemas de alta disponibilidade, tornando-se uma escolha popular para aplicações web, sistemas distribuídos e telecomunicações.

O que é Elixir?

Elixir é uma linguagem projetada para ser produtiva, com uma sintaxe elegante e moderna, enquanto aproveita a robustez e as capacidades de concorrência da máquina virtual Erlang. Criada por José Valim, um dos principais contribuidores do framework Ruby on Rails, Elixir combina o melhor de dois mundos: a simplicidade de Ruby e a potência de Erlang.

Por que usar Elixir?

  • Concorrência: Elixir facilita a escrita de código concorrente, aproveitando os processos leves da BEAM.
  • Escalabilidade: Ideal para aplicações que precisam lidar com um grande número de conexões simultâneas.
  • Alta Disponibilidade: Projetado para sistemas que precisam estar em operação constante, com tolerância a falhas.
  • Performance: Aproveita a eficiência da VM do Erlang, conhecida por sua baixa latência e alta taxa de transferência.
  • Comunidade Ativa: Uma comunidade crescente e acolhedora, com muitos recursos e bibliotecas.

Para instalar Elixir, recomendo a leitura deste procedimento na página da linguagem: Install. Caso deseje instalar no Fedora/Linux, escrevi um artigo explicando como instalar neste ambiente: Guia Completo: Instalando Elixir no Fedora/Linux.

Executando o IEx (Interactive Elixir)

Depois de instalar Elixir, podemos usar o IEx (Interactive Elixir), um REPL (Read-Eval-Print Loop) interativo que permite executar comandos Elixir em tempo real.

Para iniciar o IEx, abra seu terminal e digite:

iex

Você verá um prompt interativo onde pode começar a escrever comandos Elixir.

Saindo do IEx

Para sair do IEx, você pode:

  • Pressionar Ctrl + C duas vezes.
  • Digitar Ctrl + G, seguido de q e pressionar Enter.

Exemplos

Vamos explorar alguns exemplos para familiarizar-se com a sintaxe do Elixir.

Operações Básicas

Soma

Elixir permite realizar operações aritméticas básicas de forma direta. Aqui está um exemplo de soma:

IO.puts(1 + 2)

Saída esperada:

3

Subtração, Multiplicação e Divisão

Da mesma forma, você pode realizar outras operações aritméticas:

IO.puts(5 - 3)   # Subtração
IO.puts(4 * 2)   # Multiplicação
IO.puts(8 / 2)   # Divisão

Saída esperada:

2
8
4.0

Concatenar Strings

Em Elixir, você pode concatenar strings usando o operador <>:

IO.puts("Elixir " <> "é divertido!")

Saída esperada:

Elixir é divertido!

Pattern Matching

Pattern matching é uma característica poderosa do Elixir que permite extrair valores de estruturas de dados. Aqui está um exemplo simples:

{a, b, c} = {1, 2, 3}
IO.puts(a) # 1
IO.puts(b) # 2
IO.puts(c) # 3

Pattern matching pode ser usado em listas, tuplas e outras estruturas:

# Listas
[head | tail] = [1, 2, 3, 4]
IO.puts(head)  # 1
IO.inspect(tail) # [2, 3, 4]

# Tuplas
{:ok, result} = {:ok, 42}
IO.puts(result) # 42

Saída esperada:

1
2
3
1
[2, 3, 4]
42

Seu Primeiro Programa Elixir

Vamos criar um programa simples que imprime "Hello, World!" no console.

Crie um arquivo chamado hello.exs com o seguinte conteúdo:

IO.puts("Hello, World!")

Para executar o programa, use o comando:

elixir hello.exs

Você deve ver a mensagem "Hello, World!" impressa no console.

Principais Características do Elixir

  • Imutabilidade: Valores em Elixir são imutáveis, o que significa que não podem ser alterados depois de criados. Isso ajuda a evitar erros e facilita a concorrência.
  • Pattern Matching: Permite extrair valores de estruturas de dados de forma concisa e poderosa.
  • Funções de Primeira Classe: Funções são cidadãos de primeira classe em Elixir, permitindo passá-las como argumentos, retorná-las de outras funções, e armazená-las em variáveis.
  • Processos Leves: O modelo de concorrência baseado em processos leves permite criar milhões de processos simultâneos sem sobrecarregar o sistema.
  • Supervisores: Estruturas que monitoram e gerenciam processos, reiniciando-os em caso de falha, garantindo a alta disponibilidade do sistema.

Elixir é uma linguagem poderosa e moderna que oferece uma combinação única de simplicidade, produtividade e robustez. Com sua sintaxe elegante e capacidades de concorrência, é uma excelente escolha para uma variedade de aplicações. Neste artigo, cobrimos os primeiros passos com Elixir, desde a instalação até a execução de um programa simples.

Nos próximos artigos, vamos explorar mais a fundo os conceitos e funcionalidades do Elixir, ajudando você a se tornar um desenvolvedor proficiente nesta incrível linguagem.


This content originally appeared on DEV Community and was authored by João Paulo


Print Share Comment Cite Upload Translate Updates
APA

João Paulo | Sciencx (2024-06-20T20:06:46+00:00) Hello World em Elixir. Retrieved from https://www.scien.cx/2024/06/20/hello-world-em-elixir/

MLA
" » Hello World em Elixir." João Paulo | Sciencx - Thursday June 20, 2024, https://www.scien.cx/2024/06/20/hello-world-em-elixir/
HARVARD
João Paulo | Sciencx Thursday June 20, 2024 » Hello World em Elixir., viewed ,<https://www.scien.cx/2024/06/20/hello-world-em-elixir/>
VANCOUVER
João Paulo | Sciencx - » Hello World em Elixir. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2024/06/20/hello-world-em-elixir/
CHICAGO
" » Hello World em Elixir." João Paulo | Sciencx - Accessed . https://www.scien.cx/2024/06/20/hello-world-em-elixir/
IEEE
" » Hello World em Elixir." João Paulo | Sciencx [Online]. Available: https://www.scien.cx/2024/06/20/hello-world-em-elixir/. [Accessed: ]
rf:citation
» Hello World em Elixir | João Paulo | Sciencx | https://www.scien.cx/2024/06/20/hello-world-em-elixir/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.