Executando verificação de segurança...
Em resposta a [Não disponível]
38

Corajoso você :) Aqui é composto na maioria de programadores JS.

Vou colocar o que eu penso. Antes de mais nada quero dizer algo que não é para dar carteirada, mas dar um parâmetro porque muita gente acha que eu tiro essas coisas do nada. Calma que vou responder, mas é necessário para quem justamente é apressadinho (o que pode não funcionar, mas aí mostra a limitação extrema da pessoa e tanto faz porque ela não vai dar certo em nada que exija qualificação, uma pena, mas #FicaADica para mudar). Se quiser pula, azar o seu, por isso patina na vida. Eu falo para quem deseja aprender, os malas podem me xingar, vão fazer com tudo que não atendam seus desejos. Hoje estou em modo bem sincerão.

Tenho mais de 40 anos de experiência na área. Tenho minhas limitações, algumas maiores do que de outros, mas sempre fui extremamente comprometido com o que gosto, estudei muito a área, tive sorte para obter formação geral acima da média, comecei obviamente muito cedo, vi tudo o que aconteceu na área, desde o tempo que era mais fácil ver o todo porque era tudo muito pequeno, e ainda tive a sorte de um dia, muito cedo ir trabalhar com um cara sensacional que mostrou que eu estava indo pelo caminho errado e me deu o rumo certo. Eu estava treinando o erro, e me fez ver, antes de ser tarde demais, como as coisas funcionam, como aprender certo e sempre observar todas as questões. Fora isso eu aprendi a pensar, a questionar, analisar tentando tirar o viés que todo mundo tem.

Tive algumas experiências de trabalho, inclusive com o que talvez seja o maior software brasileiro, atendi empresas de todos os portes, fiz coisas fora do comum, tive outros empregos, mas não muitos porque sou de produto e não de projeto, o que me deu visão de como uma base de código e equipes se comportam ao longo do tempo, especialmente com questões de manutenções, que é das coisas mais importantes e que muita gente fala sobre, mas tem pouca experiência real, já que pulando de galho em galho. E nisso tudo também tive a sorte de conhecer gente muito boa. Eu já falei do melhor programador que conheci, porque ele dominava quase tudo que você podia imaginar e era raro falhar em qualquer coisa, mas não parou aí, nos empregos e por um sorte ou outro conheci outras pessoas assim que me ajudaram e sem eles eu não seria o'que sou.

Tive mais uma sorte, embora todos que não são muito novos tiveram, e soube aproveitar bem por tudo o que eu falei antes. É uma construção, você não ganha tudo de uma hora para outra. O Stack Overflow surgiu e novamente mudou minha vida. Isso depois da Wikipedia que ajudou em alguns pontos. As redes sociais nunca me ajudaram em nada, pelo contrário. Nem vou falar de outras coisas, até mesmo o ChatGPT que até hoje é só um brinquedo. Lá conheci, mesmo que indiretamente os melhores programadores do mundo, "à minha disposição". E eu soube aproveitar. Muita gente soube, mas está cada vez mais difícil ver as pessoas aproveitando. E isso também me deu a oportunidade de ser moderador em um site paralel deles que hoje é o SE.SE e criar a proposto do Stack Overflow em Português, onde fui moderador e tive boa pontuação quando ele funcionava (tinha gente boa para perguntar e muitos para responder), onde conheci mais gente boa que me ajudou muito e abriu as portas para ser Microsoft MVP. Algo que eu nem sabia o que era e fui indicado dentro da Microsoft, o que é raro, e pela pessoa que hoje cuida do programa em Seattle. Passei a ter acesso muito próximo a alguns dos melhores programadores do Brasil, não só no programa, mas porque abriu portas para conhecer gente de todas as áreas e especialistas de todas as tecnologias, e sentir como é cada um, ver suas forças e fraquezas (que todos temos). Isso é um privilégio monumental, e me perguntaram esses dias quais os benefícios de se MVP, e não é que ganha um monte de coisa de graça, é ter acesso às pessoas certas, inclusive os melhores profissionais da Microsoft, só para dar um exemplo:

Anders Hejsberg e eu na Microsoft
Mads Torgensen e eu na Microsoft

Não vou colocar o time inteiro. Lembrando que o Anders agora está com TS que é a linguagem desse universo. AInda falta conhecer o Guido Van Rossum que ainda não trabalhava lá na época. perdi o Eric Lippert que tinha saído e é uma das minhas maiores referências e que tem as melhores repostas do SO e agora ele cuida de Hack.

Comecei para fazer jogos, já que adorei meu Telejogo e Atari.

Tela do jogo "tênis"
Tela do jogo PAc Man

Não tinha internet, difícil conseguir livros bons, porque praticamente só os importados eram bons e a ditadura militar dificultava porque poderiam ser subversivos, e quando chegava, não vinha para o interior, que era menos acessível, até para telefonar para outra cidade tinha que falar com a telefonista e esperar ela retornar, muitas vezes no dia seguinte, que você poderia falar com a pessoa, (já tinha o DDD, mas estava em implantação). Praticamente não tinha outros programadores para perguntar. Arrumei um emprego de office-boy (já tinha trabalhado antes de operário em fábrica da família desde os 5 anos, mas não era sério - e sim, não tinha lei proibindo isso) e consegui a fortuna que custava meu primeiro computador para praticar os códigos que eu fiz sem curso, sem nada, em papel nas enormes filas de bancos que tinham na época (só o Bradesco aqui tinha 100 caixas e você ficava mais de 4 horas esperando em pé em calor infernal lá dentro). Ô vida boa de hoje. Sim, é aquilo que você está lendo nesta foto:

TK 92 com 2KB

Rapidamente eu vi que o futuro era fazer aplicações comerciais, por isso me especializei em aplicações LOB (ERP), e me apaixonei por linguagens de programação. Ao ponto de ter criado um compilador/interpretador da minha linguagem tosca, tudo errado em um computador com 16KB de memória. Em 25 anos tinha quase 20 computadores próprios. Nos 15 anos seguintes só 1, fora 1 notebook e alguns celulares (que eu preferia não ter, pelo menos não tantos), além de 2 TVs (uma quebrou em outubro, todo mundo disse que não tinha conserto, e ela se consertou sozinha ontem) e outros computadores embarcados em produtos, mesmo os que eu não consigo programá-los, até mesmo roteadores. E aqui começa a parte mais importante da história, porque sempre estudei muitas linguagens (como elas funcionam, a teoria por trás), além de todo o mercado.

E como dito antes, tenho acesso aos melhores profissionais para trocar ideias e aprender além dos livros clássicos e papers novos que sempre leio, que vão muito além de receita de bolo que engessa o cérebro em vez de expandir. Não sou o fodão, pelo contrário, mas acho que entendo um pouco disso. Não vou falar maluquices aqui, mesmo que pareça porque vai contra o que 99% (ou mais) do mercado vai atrás. Sei que o mercado não vai mudar, entendo que tem algumas dificuldades porque é um ciclo vicioso, e não estou falando que todo mundo tem que virar a chave nisto, eu mesmo cedo ao mercado quase sempre porque não tenho condições de bancar o que é necessário para ir contra. Tá entendendo onde quero chegar?

Já dei aulas, adoro ser o professorzão e não ligo para dinheiro. Mesmo assim, não tenho como consertar o que está errado, é muito mais forte que eu e algumas pessoas que pensam o mesmo. Não sou o único que pensa assim.

Muita coisa está errada no mercado, mas provavelmente a pior é fazer aplicações web. Novamente, eu faço se for necessário, mas o ideal é não fazer isso. Para sites, nota 109. Para aplicações seria melhor algo mais nativo, com tecnologias universais, que não existem ainda, mas não é tão difícil de fazer, e que rodaria em todas as plataformas, até mesmo no browser, mas sem tecnologia web alguma, exceto o HTTP, o navegador seria só o suporte. Tudo isso é factível e mais simples do que as pessoas imaginam, mas precisaria da indústria concordar e se mexer, o que é bem difícil, ou seja, apenas problema político.

Aplicações nativas podem ter todas as vantagens das aplicações web, sem quase todas as desvantagens delas. Pode baixar sob demanda, rápido, vindo em um fonte acessado por URL, ou uma store, atualização sem intervenção de forma transparente, rodar em todos os lugares, não precisar instalar, com segurança (de acordo com cada ambiente), pedindo autorização de uso de recursos, com tela bonitinha, simples, eficiente, com paradigma mais simples do que existe hoje em todas as tecnologias, podendo escolher em que linguagem usar, com consumo de memória absurdamente menor e muito mais velocidade, além de praticamente não ter gambiarras.Não é difícil de fazer, e em alguns cenários já é meio assim, poderia ser mais. Eu debato com quem quiser.

Uma pena, o mercado optou por fazer tudo para web e todos sofrem. A maioria nem percebe porque já se acostumou, ou nem tem parâmetro de como poderia ser melhor. Usuários sofrem, programadores também.

HTML é bom mas nem tanto, para sites, não para aplicações. CSS é uma lástima que não perder tempo, você sabem, mesmo que queiram fazer de conta que não, e JS está cheia de problemas, ainda que não fatais. Até o HTTP poderia ser melhor, mesmo o 3. A ideia geral do navegador foi longe demais e está cheio de gambiarra. Mas não tem jeito, as pessoas adotaram, a indústria atendeu e explodiu, em vez de consertar o que está errado no nativo, que seria muito mais fácil. Curiosamente o mobile consertou bem pouco e já é bem mais aceito.

É tudo errado do começo ao fim. O primeiro tijolo do alicerce está errado. A casa sempre ficará torta.

Node está errado (Deno é melhor, talvez Bun mais ainda), mas o mercado não quer saber, e mesmo os mais novos estão em cima do alicerce errado. Adotam tudo isso para consertar o erro que se meteram. Cada conserto existe para consertar o que estava errado que foi criado para consertar outro erro. Tem até uma piada que reproduz um diálogo sobre tecnologias web (especialmente em cima de JS) como tudo ficou complexo, e você tem tanta coisa para consertar o erro anterior. É a complexidade acidental que não traz benefícios.

Me lembro em uma palestra que fiz sobre microsserviços e alguém justificou que era necessário porque o build demorava horas (nem é argumento, mas não vou entrar nessa questão). Mas aí perguntei se era um caso raro e enorme, mas falaram que é meio todo mundo que não faça coisas muito simples. Vê como é um problema? Lembra do sistema enorme que eu participei? Na época era menor, claro, mas demorava pouco minutos, quase segundo para fazer o build. Mas era em um 286. A base cresceu, mas os computadores ficaram centenas ou milhares de vezes melhor. Hoje deve fazer em poucos segundos. As pessoas vão se acostumando com o problema. Igual em política, corrupção, e tantas outras coisas que eu poderia citar. Até cagar a gente faz errado porque nos acostumamos assim.

Eu não chamaria JS e afins de imaturo. A não ser que tenha uma definição específica, que remeta a ser um pouco infantilizado. Ele tá aí há anos/décadas. Mas entendo que ele é problemático. Assim como é viável. Só é muito caro (novamente, as pessoas se acostumaram com isso, e pode nem ser tanto porque criaram muita ferramenta para compensar, imagine se esse esforço fosse direcionado para algo que já nasce bom). Em parte concordo que ele é cheio de remendo. E essa questão das dependências de como gerenciam isso cabe uma postagem separada enorme só para isso. E o pessoal aceita, não aprende nem quando está na cara que não funciona.

Concordo com quase tudo dito aí. Não tem problema discordar de algo, e nem quer dizer que está errado.

A questão de multithread é um problema, claro, mas tem lá suas vantagens também. O maior problema é ser remendado para conseguir fazer aplicações.

Então de certa forma, a reclamação quase não cabe quando o problema real é tentar fazer aplicação web.

Mas concordo que seria bem melhor se a comunidade fosse melhor gerida, não fosse tão aberta assim, fosse um pouco mais centralizada (curiosamente um dos problemas é ser centralizada demais em alguns pontos), o que mostra que algo muito dominante sempre será problema. Todo mundo quer sucesso, mas temos que lembrar que a ferramenta certa para a tarefa ainda existe.

Carro vermelho na estrada carregando um cavalo no banco de trás e com a cabeça para fora

Imagina o ecossistema do .NET comparado com Java então como fica melhor (não é nota 10, mas hoje para quase tudo, tem nota igual ou melhor, Java ainda ganha em alguns pontos). Minha opinião, claro, mas com base em tudo isso que eu expliquei. Que bom que ele roda no backend e no frontend, provavelmente com a tecnologia mais avançada nisso (poderia ser melhor de consumo de recursos, mas está melhorando). Mais uma vez, as pessoas tomam decisões sem conhecer o todo. Não acho que as pessoas vão mudar de stack, mas fica aí para quem ainda não decidiu por algo. E não vou falar sobre viés aqui, já está longo.

Não acho que o Node seja tão ruim assim, mas o problema dele é maior que ele.

Lendo alguns comentários, é claro que quem faz o projeto conta mais que a tecnologia usada, e fazer com o que conhece bem tender ser melhor, mas algumas ajudam fazer algo mais facilmente e algumas entregam algo que outras não podem entregar e para obter o mesmo recorre-se à gambiarras ou mais recursos. è possível fazer, mas sai mais caro em todos os sentidos. mesmo que a pessoa não perceba, Algumas tecnologias são boas para fazer o começo, mas não para sustentar o projeto no longo prazo, aí a pessoa vai gastantando e remendando.

Eu nem entrei muito na questão de JS ser lenta porque no browser isso conta (ou deveria) menos, se a pessoa só fizer sites, e no backend a diferença é enorme, embora alguns compraram a fake news amplamente divulgada que Node é rápido. Isso vale para muita coisa. Acho engraçado quando as pessoas reclamam do GIL do Python, mas por que a pessoa está usando Python se precisa do GIL? Essas decisões sem sentido não entravam na minha cabeça.

Linguaguens de script servem para fazer scripts. Só porque consegue fazer outras coisas não signica que deveria. JS foi criada para fazer o macaquinho dançar na página HTML, TS melhora isso, mas ainda roda em cima dela.

Espero que usem qualquer coisa, mas façam isso com racionalidade, com informação suficiente e correta.

Eu vou fazer minha parte. Vou ajudar as pessoas do jeito que eu consigo, vou tentar ser uma influência, sem ser influencer, sem ser marketeiro, sendo engenheiro, que fará que muita gente não goste, mas vou esperar passar as férias para começar fazer isto de forma extensiva. E sei que muita gente vai jogar pedra. Faço para os outros. Faço para quem não quer cair em conversa mole de quem quer vender algo para você, seja par ganhar dinheiro ou outra coisa, que pode ser só você fazer o mesmo que ela. Até porque eu vou dar a alternativa e te deixar livre para escolher seu caminho, até falarei quando deve considerar algo como teórico, mas importante. Não sei se vai dar certo, mas vou tentar e conto com o apoio de quem vale a pena. Abaixo tem link para se preparar para isto.

Espantei muita gente, mas as pessoas que deveriam mesmo. Não quero ser popular, pelo menos não na minha profissão, quero fazer o certo. Mas vai ter muita coisa curta também lá, você poderá escolher. Sorte minha que tem pessoas boas na área que serão meus primeiros críticos. Depois todos poderão ser para que uma segunda edição do conteúdo se torne melhor (sim, a ideia é ter edições do mesmo conteúdo ao longo do tempo, se tudo der certo, melhor para as próximas levas de iniciantes, quem não é iniciante não adianta, sei que a esmagadora maioria vai morrer com os equívocos que aprenderam, por isso preciso de outros para corrigir os meus).

Em geral, quem mais reclama de tudo isto são as pessoas que nem sabem interpretar texto. Nem escrevi tudo o que queria.

Obrigado se você ficou até aqui.

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).

Carregando publicação patrocinada...
1
5

Sim, claro, até já tem, muita gente já está inscrito, e eu divulgo isso em todas as minhas postagens principais onde é permitido. Só falta começar postar vídeos, ainda estou aprendendo como faz. Conto com a colaboração de todos para ir melhorando ele. Te encontro lá.

De Piracicaba?

1

Eai só vi agora que você tinha respondido meu comentario kkkk
Não sou de Piracicaba não, sou de Piracaia. Curioso você ter achado que o Pira do meu nick era referência a alguma coisa, geralmente ninguem nota kkkkkk