Executando verificação de segurança...
3

JavaScript não presta?

"JavaScript não presta" é uma frase comum em conversas com desenvolvedores mais experientes, que geralmente conhecem várias linguagens e têm bastante experiência. Mas será que isso é verdade? Por que o JS não seria bom? E se ele realmente fosse ruim, por que estaria sendo tão amplamente utilizado?

Para começar, na verdade não! O JavaScript não está sendo amplamente utilizado, pelo menos não como você pensa. De acordo com dados recentes, o PHP ainda é responsável por cerca de 77% dos servidores web, enquanto o Node.js representa apenas cerca de 2% do total. Isso mostra que, apesar do crescimento do JavaScript no desenvolvimento full-stack, o PHP ainda domina grande parte dos servidores ao redor do mundo.

Startups Modernas e Node.js

Mas é preciso reconhecer um fato: o JavaScript está crescendo rapidamente. Muitas startups modernas optam por soluções baseadas em Node.js, e é cada vez mais comum ouvir frases como "nossa API é feita em Node". Mas por que o Node.js vem tendo toda essa adoção pela comunidade e pelas novas startups?

Essa adoção está acontecendo porque o JavaScript pode ser utilizado em diversas camadas do desenvolvimento. No back-end, temos o Node.js, que permite que os servidores sejam implementados usando a mesma linguagem do front-end. No front-end, frameworks como React proporcionam uma experiência de desenvolvimento dinâmica e altamente interativa. Além disso, o JavaScript também é utilizado em outras áreas, como na criação de e-mails com frameworks como o JSX Mail.

Para as startups, essa abordagem é extremamente vantajosa, pois reduz a necessidade de contratar desenvolvedores especializados em diferentes linguagens. Basta contratar alguém que saiba JavaScript, e ele terá uma curva de aprendizado menor para trabalhar em diferentes partes do projeto. Isso contrasta com o que acontece ao usar linguagens mais segmentadas, como C#, que exigem equipes com habilidades distintas para back-end e front-end.

Use JavaScript no seu SaaS

Se você está desenvolvendo um SaaS (Software as a Service), o JavaScript pode ser uma excelente escolha por diversas razões. A principal vantagem de utilizar JavaScript é a capacidade de desenvolver tanto o back-end quanto o front-end utilizando a mesma linguagem, o que traz uma enorme eficiência para o projeto. Com o Node.js no back-end, você pode criar APIs e serviços robustos, enquanto frameworks como React e Vue.js no front-end oferecem uma experiência interativa e envolvente para os usuários.

Além disso, se você utilizar frameworks como o Next.js, é possível construir toda a aplicação em um único monolito, facilitando o desenvolvimento e a manutenção do código. Esse modelo unificado reduz a complexidade e permite que desenvolvedores tenham uma visão completa de todo o fluxo da aplicação, sem precisar alternar entre diferentes tecnologias.

Nem tudo são Nodes

Embora JavaScript e Node.js apresentem várias vantagens, especialmente em projetos menores ou startups, é importante destacar que nem tudo são benefícios, principalmente quando se fala de projetos maiores e mais complexos.

Um dos principais pontos negativos do JavaScript é sua performance. Sendo uma linguagem interpretada e de alto nível, ele acaba sendo mais lento em comparação com linguagens de baixo nível, como C ou C++. Essa lentidão se torna um problema significativo quando se trabalha com aplicações que exigem alta performance e eficiência. O JavaScript simplesmente não consegue competir com a velocidade e otimização que outras linguagens, mais próximas do hardware, podem oferecer.

Além disso, a ideia de usar uma única linguagem para todo o desenvolvimento — algo que parece ser uma grande vantagem — pode se tornar um problema em projetos de grande escala. Monolitos escritos inteiramente em JavaScript, por mais convenientes que sejam para startups, podem ser difíceis de manter e evoluir à medida que a aplicação cresce. Problemas de acoplamento de código, dificuldade em escalar partes específicas da aplicação e falta de especialização são pontos que podem comprometer o desenvolvimento a longo prazo.

Outro ponto é a própria natureza do JavaScript como uma linguagem dinâmica e de tipagem fraca, o que pode levar a muitos erros em tempo de execução, especialmente em aplicações grandes, onde o controle e a previsibilidade do código são fundamentais. O TypeScript existe para mitigar esses problemas, adicionando tipagem estática ao JavaScript, mas é fato que ele não chega nem aos pés da tipagem rigorosa que linguagens como Rust oferecem. Linguagens como C# e Java, com tipagem estática e compilação rigorosa, também oferecem mais segurança e controle, reduzindo as chances de erros inesperados durante a execução.

Portanto, embora o JavaScript seja uma excelente escolha para muitas situações, ele não é a solução ideal para todos os casos. Projetos grandes e que demandam alta performance, previsibilidade e manutenção facilitada podem se beneficiar mais de outras linguagens, que trazem características mais adequadas para esses requisitos.

Carregando publicação patrocinada...
9

Falando aqui, como alguém experiente em JS e também manetenedor de um framework grande.

Muito se fala como piada, mas uma pessoa que queria fazer uma aplicação enterprise ou que finaceira deve ser um louco.

Javascript tem muitos erros de design e débitos técnicos na sua implementação, mas nunca serão corrigidos porque isso quebraria compatibilidade com tudo que existe.

Trabalhar com as APIs vanilas do browser também é muito deselegante, existe muita coisa antiquada sem atenção, quem usa react, vue e angular não sabe as gambiarras que os frameworks precisam para fonrecer interfaces bonitas.

Também os pacotes NPM são em suma maioria mau feitos, o pessoal publica muita coisa repetida e sem testes, apenas frameworks grandes tem atenção a isso praticamente e muitos deles tem notas pessimas em linters e SASTs.

mas é uma boa linguagem para prototipar.

1

É complicado a opinião de alguns sobre javascript, porque os próprios comentários falta aprofundamento sobre a linguagem. Eu fiz um comentário aqui meio ácido sobre a opinião desse cidadão mas foi deletado, eu só acho meio revoltante a pessoa não ter conhecimento suficiente sobre a tecnologia e dizer algo como isso. Node js é usado por grandes empresas, juntamente com typescript que nada mais é do que um javascript com mais recursos, mas na minha opinião não deixa de ser javascript, então sim, o javascript se tornou uma linguagem "Enterprise" de alta escala. É só pesquisar e ver as big techs que usam tanto no frontend quanto no backend. O pior é que tem aos montes gente assim que detona o javascript se mais nem menos, e alguns iniciantes caem nesse hate que o javacript é saturado, javascript é ruim e bla bla. É preciso estar atento para refutar essas falácias para que outras pessoas não se prejudiquem com opiniões sem fundamento

1

Só uma correção, javascript não pode ser usado para aplicações Enterprise, pois não possui ponto fixo, é um recurso estritamente necessário para aplicações sérias e quando uma empresa precisa de um sistema robusto e acaba optando por node é um erro dos liders técnicos.

1

Meu querido isso não existe! para de falar besteira meu amigo! procura estudar antes de dizer coisas sem fundamento! SUgiro voce dizer isso ao Waldemar NEto Especialista em Node js que liderou Diversos projetos EnterPrise usando node. Custa pesquisar antes de falar o que não sabe

Conteúdo excluído
1
1

boa parte do mercado pensa assim, não cria nada só quer usar algo existente em beneficio proprio,so tenho que te lembrar que uma tecnologia linguagem de programação precisa de uma boa experiência de desenvolvimento/comunidade nao so de benchmarks vive uma linguagem, coisa que o go ainda esta bem longe nesse quesito.

1

Eu concordo com você e com a sua opinião, mas Go tem, e muito, uma experiência de desenvolvimento/comunidade boa Docker, Kubernetes, Terraform, Grafana vivem disso. (Terraform mudou a licença deles, então acho que está mais fechado agora). Em Go, você tem como criar API de forma nativa, testes nativos, tem apenas um package manager para você, tem o próprio lint e formatter para você e, como você mesmo disse, "não só de benchmarks que vive uma linguagem". E realmente isso é verdade se não, C/C++ e Rust estariam no topo hoje. Mas Go te entrega simplicidade com performance, compila super rápido, tem cases de empresas que trocaram Java por Go e tiveram uma redução dos custos na sua infraestrutura, além de lidar melhor com multithread (isso é fato, basta pesquisar sobre a runtime dele e o que são goroutines). No entanto, Node tem a maior comunidade, e isso não vai mudar. É uma ótima tecnologia que tem muito tempo aí para gastar também, mas Go não vai ficar para trás, e acredito que talvez possa ser uma dessas linguagens do "futuro".

1

Sim GO e uma excelente linguagem, inclusive todos esses recursos de lint, testes etc etc o Deno tem e foi copiado do GO. GO será ainda maior com o tempo na verdade eu não tenho problemas com GO, acho uma linguagem fantastica, o que me chateia e esse esforco em pessoas que dizem usar javascript meter o pau na linguagem com baixo embasamento, o que eu vejo atualmente é um monte de "especialista" de YouTube dizendo porque não se deve comecar com javascript e bla bla e porque o mercado frontend esta saturado, toda uma balela, esses tais "gurus" que criaram cursinho de dev de 6 meses ganharam a grana agora vem criando essa onde de hate que eu já percebi o quanto esta fazendo diferenca nos jovens aspirantes e o quanto isso é nagativo e isso que eu nao pretendo deixar barato, eu acredito que cada um tem a capacidade de definir o que é bom pra si mesmo sendo iniciante não precisa de um fulaninho depreciando uma linguagem tao importante apenas por birra pessoal. Node Js pode ser utilizado sim em aplicações em larga escala ele foi criado pra isso. Essa onda de hate e de opiniões com baixo embasamento a meu ver é uma tremenda falta de respeito com as pessoas que são evangelistas da linguagem, eu falo evagelistas de verdade, pessoas que utilizam a tecnologia a décadas passaram por diversas dores e agora precisam competir com esses "especialistas" em nada que só falam bobagens. Tem muitos por ai! um que dava aulas de javascript ninja, ganhou muita $$ agora fala em matar o js! e bla bla, outro gringo generalista, que "seleciona" o que dá engajamento e "view" um pseudo sabichão chamado ThePrimeAgen, é esse tipo de gente que hoje dia não agrega nada, so bagunça a mente de quem ta começando.

1

Você acredita que possa ter um lobby a respeito disso? Porque o mercado inflou de gente, aí eles querem brecar a chegada de muita gente para dizer que o mercado falta profissional e voltar a vender cursos de novo? Eu realmente me pergunto isso kkkkk.
Adorei sua visão nesse comentário, sério, eu penso muito igual!

4

eu trabalhei nos últimos 6 anos em uma empresa que cresceu atendendo milhões de clientes, e toda a stack foi feita em JS/TS, mesmo com meus 8 anos anterioes trabalhando na maior parte do tempo com Java e secudariamente com Ruby, digo com tranquilidade que o ecossistema JS vai muito além de uma prototipagem.
Typescript possui o melhor sistema de tipos da atualidade, tanto que seu criador, Anders Hejlsberg, é uma figura importante no desenvolvimento de linguagens:
"He was the original author of Turbo Pascal and the chief architect of Delphi. He currently works for Microsoft as the lead architect of C#[1] and core developer on TypeScript.[3]" Wikipedia

O trabalho dele foi tão bem feito que outras linguagens fracamente tipadas estão absorvendo mecanismos de tipagens inspirados no TS. E a falta de tipagem que era uma dor no JS deixou de existir.

Em relação à performance, a empresa que trabalho é a prova de que o node atende. E dizer que C# é mais performático, é equivalente a adotar Assembly porque é mais performático.
Vale lembrar que a runtime do JS é normalmente em C++, e que as partes mais pesadas computacionalmente não são executas no JS. A rinha de backends que rolou há uns meses provou que a performance das aplicações eram muito semelahtes pq os reais gargalos não estão na linguagem em si.

JS, Java... todas essas linguagens possuem débitos técnicos que sempre terá uma outra linguagem "trazendo a solução", mas trazendo outros problemas. O nosso papel é se manter atualizado e saber avaliar o que vai entrefar o que sua empresa precisa.

A real é que JS é uma das linguagens mais simples, o event loop tira a complexidade de concorrência; a tipagem do TS te dá a robustez (e até mais poderes, ex.: Union Types) sem comprometer sua produtividade; e é o ecossistema mais amplo e rico da atualidade. Por isso tem JS pra todo lado.

A AWS possui maior parte das suas soluções dando suporte primariamente ao ecossistema JS, como as lambdas e o CDK (que é feito em TS, dando suporte a outras linguagens através de wrappers).
O Github Actions tem quase tudo feito em JS.
React, Angular, Vue, Svelte, NextJS etc. a web respira JS.
O pacote Office da Microsoft tem apps como Skype e Teams feitos em React Native.
Daria pra listar milhares de cases com JS e empresas escalando com Node sem problemas.
Achar que JS é ruim e não performático é raso demais.

6

Seu comentário é simplesmente sensacional.

Lembro de um curso que fiz uma vez em que ele dizia que boa parte das pessoas que reclamam do javascript na verdade nao sabem nem como ele é implementado ou como deve ser usado. As pessoas que programam fazendo gambiarra, nao o javascript.

Depois disso ele passou por algumas coisas que aparentemente nao faziam sentido e mostrou o algoritmo das operações do javascript, demonstrando que na verdade faziam sentido.

4

Desenvolvo com javascript ja ah alguns anos, mas recentemente passei a adotar o Typescript justamente pela tipagem.
Um monolito que desenvolvi todo em javascript passou a ficar muito complicado de manter, justamente por conta dos tipos. Tivemos de apelas para comentários e definições esquisitas, que na verdade usavam o TS.

Agora so desenvolvo usando TS e é muito melhor. JS puro pra mim so oara scriots simples e para rodar no browser.