↓ Ir para o conteúdo principal

← todas as notas

📎 Webclip

Programação funcional e escalabilidade: o que uma coisa tem a ver com a outra?

O texto apresenta a programação funcional como um paradigma que evita estado e dados mutáveis, e afirma que isso ajuda a testar, depurar e escrever programas concorrentes e paralelos. A partir daí, relaciona essa abordagem à escalabilidade, especialmente em sistemas multicore e em contextos distribuídos.

Fichamento
#

  • A programação funcional trata a computação como avaliação de funções matemáticas e evita estado e dados mutáveis.
  • Por depender menos de estado compartilhado, o código tende a ser mais fácil de testar e de depurar.
  • A ausência de variáveis compartilhadas facilita a escrita de programas concorrentes e paralelos, porque reduz a necessidade de semáforos, deadlocks e outros efeitos colaterais.
  • O texto liga paralelismo à escalabilidade ao comentar a entrada de processadores multicore e a dificuldade de aproveitar todo o processamento disponível.
  • Em sistemas distribuídos, o texto diz que a passagem de mensagens é uma alternativa quando não há compartilhamento de variáveis entre máquinas.
  • O Erlang é apresentado como uma linguagem funcional e orientada à concorrência, criada na Ericsson para aplicações de telefonia.
  • O texto destaca o hot code swapping como recurso que permite alterar o código sem parar o sistema.
  • A comunicação entre processos no Erlang é descrita como assíncrona e sem compartilhamento de estado.
  • O texto afirma que o Yaws, escrito em Erlang, atingiu cerca de 800 KBps e suportou até 80.000 conexões simultâneas, enquanto o Apache morreu em torno de 4.000 conexões.
  • O post se coloca como uma introdução ao tema e diz que pretende abrir discussão e produzir mais textos sobre linguagens de programação e escalabilidade.