Javascript realmente é isso mesmo ? Ou os vendedores de curso tão acabando com a imagem da linguagem?
Venho estudando JavaScript tem um bom tempo, tentando ao maximo nessa caminhada de aprendizado aprender todos os conceitos teoricos e praticos de forma solida pra ter um andamento decente. Porem, eu me pergunto porque a linguagem se tornou alvo de todo 'dev' (que muitos as vezes nem trabalham com ela como sua principal linguagem) que quer ganhar dinheiro com cursos.
Pra quem de verdade trabalha com ela, realmente é uma linguagem considerada mais facil para iniciantes ? Se sim porque ? E porque de verdade só parece que é um marketing surreal encima dela pra maluco metido a dev querer ganhar grana ?
Como metodo pessoal de vida eu tendo a ir contra oque as massas costumam fazer porque sei que na maioria das vezes é bait. Sou tecnico de TI e estudo porque quero futuramente migrar ainda dentro da mesma empresa para a area de desenvolvimento. Assim, não é por não conseguir aprender, mas sinto uma frustração absurda quando vejo uma penca de gente aprendendo essa lingua e gente falando que estudou a 2 anos e não consegue vaga e sei la oque, sei que primeiro pode ser mentira até porque sinceramente eu não acredito que alguem faça um estudo sobre qualquer coisa pro 2 anos e nao consiga nem sequer provar se é 'incompetente' ou não.
Eu ando pensando em migrar pra uma linguagem mais solidificada e mais focada em desenvolvimento mobile, games tipo Java. Porque eu não consigo mais procurar pessoas pra falar sobre JS e toda vez que acho um forum seja no reddit, twitter ou youtube etc ... e ver cara que parece um mar de gente mediocre que simplesmente não estão dividindo curiosidades nem mesmo procurando soluções sobre codigos ou sequer procurando dividir projetos web.
Olha provavelmente vai ter gente falando que eu não sei de nada, podem estar certo, mas eu que sou de fora, não tenho amigos dev's, estou procurando estudar de verdade nem ficar nessa de projetinho estatico só consigo ver uma linguagem inflada, cheio de gente mediocre e maluco querendo ganhar grana encima de geral que tem vontade de entrar na area. Se alguem tiver algo pra comentar e debater eu ficaria feliz em ler cada comentario de vocês. obrigado pela atenção.
JavaScript, uma linguagem 'forasteira' em que o mundo todo utiliza, e esse cenário não tende a se reverter tão facilmente, pelo menos nos próximos anos. Sua dúvida é saber o porquê javascript vem sendo tão difundido e propagado no meio há quase 10 anos? Então a resposta que eu lhe darei pode ser meio frustrante.
Já experimentou ou teve curiosidade em olhar para códigos - bem escritos - em linguagens mais 'antigas'/consolidadas, como java, família C, ou até em Assembly? Acontece que programação não é, e talvez nunca seja fácil. A linhagem de evolução das linguagens em todo o mundo sempre seguiu princípios que a comunidade global sempre adotou e impôs como prática 'obrigatória', JS fugiu disso. Uma linguagem criada em menos de 2 meses, não teríamos como esperar tipagens fortes, compilações diretamente no hardware, segurança e afins.
JavaScript é realmente, muito mais fácil que todas as linguagens mais utilizadas no mercado hoje, tanto para aprender, manipular e desenvolver. Ela te deixa preguiçoso, não segue princípios básicos, te 'limita' a más práticas e te 'liberta' de maneira exacerbada - Preguiça. Más Práticas. inconsistência. Liberdade exagerada.
JavaScript se tornou a porta para muitos desenvolvedores engrenarem na área, seja gostando ou não ($$$) por fugir das abstrações, da ORIENTAÇÃO A OBJETOS(ou outros tipos de orientação), de entender como a linguagem se relaciona com o SO, como não só pensar e desenvolver soluções como em desenvolver uma solução eficiente e eficaz. Felizmente, a comunidade se tornou muito grande, JS melhorou e MUITO nos últimos anos, chega a ser absurdo comparar a linguagem hoje com o que era a talvez 8 ou 10 anos atrás, mas algo é regra, e não excessão: Quem inicia com Javascript/'aprende' como a 1ª linguagem, DIFICILMENTE irá usar outra. Não, você que iniciou por javascript há 1/2/3 anos ou quer seja não vai querer mudar de linguagem, não existe você sair disso para ir programar orientado a objetos em java, onde com 100 linhas em JS viram 10 classes, com gerenciamento de pacotes, cada classe com 100 linhas, entidades, modelos, padrões e padrões e PADRÕES. JS fugiu disto - e observando da maneira correta isso é INCRÍVEL.
Ao meu ver, o principal problema do JS não está na linguagem, pois todas tem seus problemas, e sim no que ela te proporciona, a simplicidade. Não é de se estranhar existirem tantos supersets/ferramentas de JS pra compilar ele do lado do servidor(dino, bun, NODE) convenhamos que pra o node função com a engine do google é uma gambiarra excepcional , ou frameworks front-end, os programadores da última decada procuraram soluções mais simples do que estavam acostumados, e isso é incrível, mas acontece, que enfiaram JS guela abaixo e agora é a linguagem mais utilizada do mundo, e sempre, na base da GAMBIARRA.
Poderia listar problemas do JS que existem realmente, mas assim como todas as outras linguagens pois nenhuma é perfeita.
- Liberdade de ';' - causa confusão nos statements
- Liberdade de criar CALLBACK(isso é incrível, mas como a preguiça os matou, criam 25 callbacks sendo que poderiam criar 5 funções e reutilizá-las, percebe como o JS deixou os programadores mais 'preguiçosos' e talvez os que iniciam, com um defícit no racícinio lógico - e jajá vou falar de TS)
- tipagem fraca e dinâmica
- Ambiguidade em alguns recursos como o this
- controle de escopo péssimo
- permissão demais que foge do controle e sempre apela as gambiarras
Programar em JS não vai te tornar um desenvolvedor apto a todas as mudanças técnológicas que o mundo vem enfrentando, não te abrange para todas as áreas possíveis e afins, mas é uma linguagem expecional. Você pode ficar confuso com tanta crítica mas ao mesmo tempo elogios a linguagem, entendo que a linguagem é muito boa, mas usada do modo correto. E o problema? O mundo/google/microsoft empurrou JS para tudo. Ferramentas erradas nos lugares errados, esse é seu PROBLEMA. TypeScript consertou isso de certa forma, (basicamente JS tipado e orientado a objetos). Grandes projetos, sempre será utilizado TypeScript, sem excessão. Mas para alguem que iniciou no Js aprender Ts pode não ser tão simples. O google tentou engrenar com o dart/fluter que é incrível mas também tem lá seus problemas.
No geral, JS é uma linguagem muito boa se usado da forma correta, trabalho com JS e TS há anos, mas nunca recomendaria como primeira linguagem para alguém. Podem me criticar, mas quer iniciar? Java ou C#. Sem mais. Tu vai virar programador. A partir deste ponto, podes migrar, JS é excepcional pela quantidade de coisas que faz, e querendo ou não, você vai usar. Eu realmente gosto de JS, mas odeio a forma que tentam lhe empurrar e vender JS(fácil, simples, vai ganhar dinheiro,etc). Bom, fazer gambiarras no JS é legal, é mais fácil, mas até que ponto.
Talvez tenha sido mais um desabafo, mas é minha visão geral sobre o JS. Talvez entrar no mercado com ela seja relativamente mais fácil e aprender JS é mais fácil em comparação com outras linguagens, analise as possibilidades e veja o que te deixa mais perto do seu propósito, que você tenha sucesso e espero que isso te de um norte, mesmo que mínimo. Mas lembre-se: Se você iniciar por JS e caso algum dia precise usar outra linguagem, você terá que aprender a programar de verdade, e praticamente do negativo, já que terá de perder manias e costumes que a liberdade do js te dá. Ademais? Comece com java ou C# para APRENDER A PROGRAMAT; Com python se quer 'simplicidade' no início mas uma vasta área profissional - python is beatiful Com js se quer trabalhar na web, tanto front, como server-side. ABs
Ela é relativamente fácil para iniciantes. Inclusive eu tendo a indicar ela no lugar de Python para as pessoas se a cobrinha for a opção, mas não sou radical nisso, não é uma mudança da água para o vinho.
Para a pessoa que só quer aprender uma tecnologia e sair trabalhando (se conseguir emprego) ela é ótima. Python pode ser melhor para cientistas de dados e outras tarefas que não são desenvolvimento de software mesmo. Mas também é útil.
Quem tem dificuldade de aprender porque a sintaxe da linguagem tem isso ou aquilo, esquece, a pessoa não tem futuro bom na área, vai aos trancos e barrancos. Uma pena e espero que a pessoa consiga reverter isso, embora possa ser difícil porque algumas pessoas podem não ter talento para aquilo (eu não tenho para a maioria das coisas) ou pode faltar educação básica, que é mais fácil reverter, mas quase ninguém faz, porque é trabalhoso demais, é quase desmoralizante e pode nem conseguir começar fazer certo depois do estrago que, lamentavelmente, a pessoa teve na escola que não cumpriu seu papel.
Por isso eu prefiro indicar uma linguagem difícil, porque já avalia se a pessoa tem futuro bom ou não. Uma fácil dá algum futuro, a difícil abre a porta para qualquer coisa.
Se o objetivo da pessoa for ser um excelente profissional de desenvolvimento de software, que consiga pegar todas as oportunidades, incluindo aquelas que não conseguem ser preenchidas por falta de profissional qualificado, eu indico C, mesmo que a pessoa nunca trabalhe com ela. É só para aprender a mágica por baixo dos panos. C nem é difícil de aprender, é simples e concreta. É difícil trabalhar com ela em coisas complexas (mas dá, veja o kernel do Linux). Mas não precisa chegar nessa parte. Ela é mais simples que Python quando você precisa aprender todos os conceitos abstratos, até porque C só tem os mecanismos mais básicos. Também é em relação a JS.
E se a pessoa se perde por causa da tipagem estática de alguma linguagem, está complicado também. A pessoa tem que aprender sobre tipagem, a diferença é só se a variável pode ter mais de um tipo ou não. Não poder trocar o tipo é até mais simples. Se a pessoa chama mais simples fazer o que nem deveria, ela vai aprender tudo errado.
Ela é mais "fácil" porque ela aceita fazer gambiarra. Então funciona, mesmo não estando certo. òtimo para motivar quem precisa ver o resultado aparecendo, mas péssimo para ensinar bem.
Como a maioria das pessoas querem se sentir bem e os cursos querem algo que a pessoa ache que o curso é bom, e isso se confunde com se sentir bem, é melhor ensinar algo que dê essa sensação, mesmo que cause estrago na formação da pessoa. Só verá lá na frente, ela nem percebe que foi culpa do curso que está se ferrando.
Não precisa ir contra as massas, mas é uma boa filosofia. É comum, mas não certo, que as massas fazem escolhas erradas. Se ouvir as massas, irá pelo caminho errado. Hoje até uns famosinhos levam as pessoas pro caminho errado. Pode levar para algo certo em um sentido, mas não para o melhor, não para dar as melhores chances para a pessoa. O "bom" é que o mercado aceita bastante o profissional mais ou menos. Só não aceita, especialmente nas épocas de vacas magras, quem nem isso consegue. O que eu sugiro mesmo é fazer outra coisa, pode estar desperdiçando um enorme talento, pode até ganhar mais fazendo dancinha no TikTok ou outra coisa (é sério, não estou tirando).
O fato de todo mundo aprende a mesma coisa, satura mesmo. Mas os melhores ainda se darão bem. O curso quer vender o que a pessoa fica babando, algo que ela "vê" que vai dar bom, mesmo que possa acontecer o oposto. Então isso explica, a pessoa não tem o pensamento para perceber a furada que é o curso, como ela vai desenvolver softwares bem?
Que bom que falou que as pessoas mentem aos montes na internet. Eu não vou falar que a pessoa está mentindo sem provar isso, mas tem muitos casos que parece estar. Em geral ninguém percebe, eu mesmo não percebo a maioria. Em geral nem é sacanagem, não é pra se dar bem, é vergonha, é pra fazer as pessoas se consternado com ela, é infantilização ou sei lá o que.
A visão que eu tenho é que jogos e celulares está até pior, mas posso estar enganado. Porque tem bem menos gente, mas a demanda é bem menor (celular muita gente caiu na real que não deve ter app para tudo).
Eu acho que você está acima da média (tem uns pontos que poderia melhorar, mas nem falo porque cansei e ficam bravos). Quem está abaixo fica bravo com o que eu falo (algumas pessoas não, porque sabem que é só questão de tempo elas estarem melhor). Hoje estou soltando o verbo mesmo :D Vou soltar muito mais ano que vem em vídeo :)
Faz sentido para você?
Espero ter ajudado. Em geral estou à disposição na plataforma (sem abusos :D)
Farei algo que muitos pedem para aprender a programar corretamente, gratuitamente. Para saber quando, me segue nas suas plataformas preferidas. Quase não as uso, não terá infindas notificações (links aqui).
Olá,
Vou tentar esclarecer algumas dúvidas sobre JavaScript através de um breve histórico. JavaScript é, de fato, uma linguagem excelente, mas, como todas, tem seus problemas. Um aspecto fundamental do JavaScript é sua disponibildiade exclusiva nos navegadores. Inicialmente, era a única opção disponível para interação web, e conforme a internet se expandiu, o JavaScript evoluiu junto. Embora tenha sido considerado uma linguagem problemática em seus primeiros dias, tornou-se essencial para todos os desenvolvedores profissionais, pois, cedo ou tarde, você terá que desenvolver algo para a web. Hoje existem alternativas, mas o fato da API de manipulação do DOM só existir em JS, ainda garante ao JavaScript uma posição de muito destaque na Web.
O problema surge quando as pessoas começam a acreditar que JavaScript é a única linguagem necessária para tudo, o que definitivamente não é verdade. Não existe uma única ferramenta que resolva todos os problemas. Assim, o problema não é o JavaScript em si, mas a insistência em usá-lo para tudo. Se o seu trabalho envolve navegadores, o JavaScript é, sem dúvidas, a melhor opção, embora não seja a única hoje em dia. Fora disso, exceto em cenários muito específicos, há pouca ou nenhuma razão para usá-lo.
É importante reconhecer que, embora muitos desenvolvedores precisem aprender JavaScript em algum momento devido à sua ubiquidade na web, isso não deve ser o fim da jornada de aprendizado. Assim como o JavaScript é a linguagem nativa dos navegadores, o C é a linguagem nativa de sistemas Unix e tem uma importância prática muito mais significativa. Mas muitos param no JavaScript, como o fim do caminho, quando ele deveria ser apenas o começo. E sinceramente eu não sei porque e gostaria de saber. Sem qualquer medo, apostaria toda minha fortuna que a Web morre antes do Unix. Então se quiser ser programador profissional aprenda JavaScript, mas também aprenda C.
Rapaz, se vc quer algo sólido, vai pro java... Java tá aí desde a década de 90 e sempre vem se modernizando. Sem falar que a curva de aprendizado é maior no início, o que afasta muitos aventureiros..Se quiser mobile nessa linha, uma boa pedida é o Android nativo com o kotlin.
JS é linguagem nativa dos navegadores. Por aí você entende que é uma linguagem focada na web, principalmente front end. Existem boas soluções JS para back, móbile, mas é isso. Eu particularmente já tentei aprender JS, não gostei muito. Sou mais adaptado a C# e a plataforma .NET tanto para front, quanto back ou até móbile. O que eu não gosto de JS é a forma como o ecossistema tem se desenvolvido. Eu não senti que seja algo organizado e bem planejado, é meio caótico, uma disputa entre frameworks que usan a linguagem. A linguagem em si parece meio limitada, dá muita margem para erro. Até tentaram corrigir muita coisa com TS, mas sempre tem cara de gambiarra.
Compreendo suas frustrações em relação ao cenário atual de aprendizado de JavaScript e programação no geral, o que se alinha com um post que fiz sobre "Como os vendedores de curso vão dominar as bolhas dev de 2024". Se você está ponderando a possibilidade de migrar para uma linguagem mais sólida e direcionada ao desenvolvimento mobile e games, eu recomendaria explorar Java.
disclaimer: eu uso JS desde 2013, que foi quando me apaixonei por NodeJS e web. Atualmente, meu time usa Typescript + NodeJS em produção para serviços críticos que servem milhões de clientes
meus dois centavos sobre js: uso bem pouco, não abro mão de Typescript nos projetos. Acho loucura desenvolver aplicações em JS puro com um time maior do que uma pessoa.
o motivo? a falta de tipagem abre margem pra muitos errinhos bestas. usamos e abusamos de testes, linter e formatters e usamos Typescript apenas no modo strict, com typechecking requerido para merges. opiniao forte, mas acho que essa é a base pra ter sucesso com JS (TS?) em produção.
eu tambem uso e abuso de TS pra ter type safety em tudo. os tipos que usamos na API sao os tipos que usamos nos nossos background workers, filas e afins. as aplicações sao monorepos com todos os serviços e codigos compartilhados. isso mantem o repo coeso e os tipos próximos. novamente, TS em modo strict e linters e testes automatizados pra todo o lado.
usamos de arquitetura de codigo e de design de sistemas pra ter aplicações robustas. acho que isso é a base do sucesso na real.
evitamos ter dependências desnecessárias, e se podemos copiar algo para o projeto ao inves de adicionar uma dependencia, é o que fazemos.
em resumo: js é uma boa linguagem se vc aplicar os fundamentos e usar ES6 ou mais. TS escala muito melhor em times grandes, JS escala melhor em projetos pequenos ou times pequenos.
eu tambem odeio js. o ecossistema anda fragmentado, com muitas runtimes, ESM vs CommonJS, e sinceramente irrita quem quer resolver problemas. boas alternativas modernas são Rust e Go, embora eu particularmente goste mais de Go.