A busca pela perfeita linguagem fullstack – Introdução

Por que não existe e qual é o mais próximo

Massimiliano Bertinetti 15 de dezembro A busca pela perfeita linguagem fullstack é como a busca do Santo Graal …..

Algum tempo se passou

Minha última história tem mais de um ano.

Em todo esse tempo muitas coisas mudaram. Eu me tornei um programador profissional em uma grande empresa. Eu não trabalho mais sozinho, mas com muitos colegas. Eu percebi backend, frontend e código móvel, tornando-me o que é conhecido como "fullstack programador".

A linguagem que eu mais usei foi javascript.

Eu não gostei disso no começo… e nem mesmo no final!
Agora eu sou proficiente com isso e aprendi muitas coisas sobre Node e Express, Angular e React, Appcelerator e React Native.
Eu usei isso em projetos Salesforce Commerce Cloud e Endless Aisle Projects (não em software de código aberto) para alguns clientes de comércio eletrônico muito interessantes.

A única coisa certa sobre isso é que me dá a flexibilidade de me mover rapidamente entre os projetos e rapidamente se tornar produtivo.

Por isso, abandonei a ideia de aprender muitas línguas para uma área específica, mas quero generalizar o meu conhecimento para ser hábil nas três áreas em que trabalhei este ano.

Eu não gosto do ecossistema que se torna bagunçado muito rápido, ele quebra com muita frequência e você acha difícil alavancar o código em um estilo uniforme, especialmente trabalhando em equipe, para que todos os seus pontos fortes se tornem suas piores fraquezas…

Mas as dimensões de sua comunidade criam a efervescência contínua que dá vida a muitos projetos interessantes e, claramente, o JavaScript, por enquanto, ainda é essencial para o desenvolvimento de interfaces web.

No ano passado, experimentei programação funcional (com o Elixir) e apreciei a eficiência e a qualidade do código que consegui criar.

Infelizmente não é possível escrever aplicativos móveis com o Elixir.

Eu tentei o Clojure, mas não gosto da sua sintaxe.

Do que li e gostei muito de “ Domain Modeling Made Functional ” por Scott Wlaschin , então eu tento F # e vejo que está muito perto do que eu preciso mas não estou completamente convencido (é lento em compilar e juntar todas as peças nem sempre é simples).

Quando eu usei o React Native em nosso último projeto, gostei muito. Eu aprendi que o React não nasceu com o javascript em mente, e seu criador @jordwalke também foi o criador do ReasonML , uma nova sintaxe para o antigo, eficiente e rápido idioma OCaml para ser mais confortável para alguém que chega do Javascript.

Ele pode compilar e usar o ecossistema de Javascript (com o Bucklescript muito eficiente) ou em código nativo (por exemplo, para desenvolver código de backend rápido).

O javascript gerado é indistinguível daquele criado manualmente por um programador, por exemplo a função fatorial em Razão:

Torne-se assim, compilado pelo Bucklescript:

Isso permite que qualquer empresa introduza gradualmente o ReasonML, obtendo sua eficiência e as vantagens derivadas dele, como sua poderosa inferência de tipo seguro, o que significa que você raramente precisa anotar os tipos, mas tudo é verificado para você.

Você pode usar o Modelagem de Domínios como descrito no livro de Scott Wlaschin , ter que escrever menos testes e ganhar código seguro e profissional.

Esse é o caminho que quero seguir em 2019, no trabalho quando possível e para meus projetos paralelos.

Eu estou olhando para todo o recurso disponível:

Explorando ReasonML e programação funcional pelo Dr. Axel Rauschmayer

Desenvolvimento Web com ReasonML por J. David Eisenberg

Comece com o Reason e com Nik Graf

Razão bootcamp por Vladimir Novick

A comunidade é muito amigável e você pode encontrar ajuda e outros recursos no Canal Discordado dedicado.

E agora um importante scriptum.

Este ano também estudei outra língua que acho que terá algo a dizer nos próximos anos… Dart .

A linguagem evoluiu e é moderna e eficiente, mas a Flutter está absorvendo todos os seus esforços e atenções. O Google também deveria ter trazido energia para o backend.

Não me entenda mal: Flutter é espetacular! Se eu tivesse a oportunidade de me concentrar apenas no desenvolvimento de aplicativos móveis ou apenas no frontend (olhando como a plataforma está evoluindo), certamente seria minha primeira escolha.

Texto original en inglés.