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

Javascript -> Typescript

Atualmente, venho percebendo diversas necessidades de realizar a transição para o TypeScript, porém tenho dificuldade em me adaptar à linguagem — principalmente na parte de tipagem.

Gostaria de saber se essa dificuldade pode estar relacionada a alguma deficiência no meu aprendizado em JavaScript antes de migrar para o TypeScript. Afinal, o TypeScript é, de fato, mais robusto e complexo em relação ao JavaScript.

Não sinto que tenho problemas para programar em JavaScript, mas tenho a sensação de que deixei passar alguns fundamentos importantes antes de começar a aprender TypeScript.

Trabalhar com React e Node já tem sido um desafio para mim, justamente porque acredito que minha base em JavaScript não é tão sólida quanto deveria.

Gostaria de saber qual é a opinião de vocês sobre isso.

Carregando publicação patrocinada...
4

Antes de terminar a sua postagem eu já sabia a resposta para a pergunta que fez. Você tem deficiências no seu aprendizado. Bem-vindo ao clube.

Eu tenho deficiências na minha, todo mundo tem. Algumas pessoas mais ou menos que outras, e é pior ou melhor de acordo com os objetivos das pessoas.

Mesmo lendo um pouco eu já posso inferir os objetivos, e depois, lendo mais, o seu objetivo demonstra que aprendeu errado. Não se preocupe, não está sozinho, quase todo mundo está assim.

A sociedade mudou, e o primeiro erro sobre aprendizado é feito em idade que a pessoa não tem como fazer melhor, como questionar, tem que aceitar o que recebeu, especialmente em casa e na escola. Só posso aconselhar o que eu faço, mas bem devagar, porque é tanta coisa ruim, é tão chato você voltar aos fundamentos que aprendeu errado, que dá uma preguiça enorme.

Para dar um parâmetro, eu estudei em uma das melhores escolas do Brasil e não aproveitei bem, como a maioria, mas especialmente eu, por questões pessoais. Estou muito lentamente tentando compensar isso. Se você teve educação básica ruim, a dificuldade de aprendizado de qualquer coisa será grande. Estamos "fudidos".

Nem comecei a falar de programação. Tipagem é algo que as pessoas devem aprender desde a 3ª série (na minha época era assim, mas pode ter mudado o momento ou ter sido abandonado, apesar de ser um conhecimento universal; a pessoa trabalha com tipagem até onde ela nem percebe).

Em computação, isso se torna muito importante. Esse é um dos diversos motivos pelos quais eu aconselho a pessoa a começar por C (desde que o objetivo seja ser um profissional sério).

É uma bobagem achar que usar uma linguagem dinamicamente e fracamente tipada fará o aprendizado sensivelmente mais fácil e que podemos deixar certos detalhes para depois. Por isso, não se deve ensinar programação para alguém que seja quase um adulto (não estou falando de brincadeiras que envolvem "programação").

Então tem uns cursos superiores geridos por idiotas ou por falta de real tenure (vai pesquisar, não vou dar tudo pronto) que preferiram começar por linguagens que superficialmente parecem mais fáceis. E estão perdendo a credibilidade aos poucos — até porque são unânimes há mais de um século. Algumas continuam nesse caminho e outras estão enxergando o que eu já falava há um bom tempo, e eu mesmo tinha dúvidas se era verdade que um curso de computação é muito mais de humanas do que as pessoas acham, e por isso os currículos estão mudando.

Tenho uma teoria de que os cursos curtos, simplórios, que entregam resultado rápido e fácil para a pessoa por coisas no currículo e para procurar emprego, geralmente feitos por pessoas boas de comunicação, que cativam, que parecem ser seu amigo, que falam a mesma língua que você, que podem ser mais baratas, que só falam o que você quer ouvir, que "não perdem tempo" com coisas que não são usadas todos os dias de forma direta — ou seja, quando surgiram os cursos de influencers, eles perceberam que não poderiam ficar tão longe para continuar tendo busca.

O lado bom é que já há uma seleção prévia, porque o idiota que acha que será profissional porque ouviu influencers famosos não deve mesmo passar perto de uma instituição séria. Mas isso não está resolvendo muito, porque já tenho visto pessoas analfabetas funcionais com diploma de universidades renomadas.

Não quer dizer que qualquer curso de influencer é ruim, mas é o comum, e nos poucos que vi alguma coisa a mais, notei que não aprofundam onde precisa porque vai desagradar as pessoas. E esses cursos têm como pior o fato de pularem o que pode ser chato e que não fica claro que precisa daquilo na hora. Esses cursos só querem dinheiro, e vi algumas universidades fecharem porque foram teimosas ao continuarem a manter a qualidade. Nem vou falar mais porque dá quase uma tese.

Várias pessoas já pararam de ler, outras estão me xingando ou a alguém da minha família, vão me achar chato, que isso não tem nada a ver, que eu estou errado — mesmo observando tudo isso por 40 anos, estudando o que quase ninguém estuda, até fora da área — mas ela, que por pouco não acredita que a Terra é plana, é que está certa. Para algumas pessoas, não tem salvação, elas não estão entendendo o que está acontecendo no mercado e o que acontecerá, especialmente quando a IA for boa (hoje ela é um lixo e deslumbra muita gente com algumas coisas bem legais). Essas pessoas reclamam de textos longos, aprofundados e reflexivos.

Outras pessoas querem o certo, mas a base está tão ruim que prejudica tudo. Não sei bem o que fazer, a não ser: comece a estudar de tudo, nem que seja pela internet, mas procure gente séria. Ou vá em livros, no pior caso, bons professores particulares (caros); não pegue quem está fazendo isso porque não acha emprego em lugar algum e achou isso de bico. Difícil.

Mude o jeito de pensar, de estudar, de agir. Comece a preferir o que é aprofundado em vez do feito correndo (estou legislando em causa própria, mas porque acredito mesmo nisso, e há estudos que me levam a crer que estou certo).

É enganação aprender com linguagens que não precisam escrever o tipo porque é mais fácil. Todos os dados em todas as linguagens trabalham com dados tipados de alguma forma, até de um jeito escondido e variável.

Dá para começar com JS, que aceita você errar muito, e depois ir para TS? Claro que sim, mas é mais difícil. E o contrário não é pior? Aprender o que tem que ver tudo para depois olhar para o que automatize muita coisa para você — não é pegar o mais difícil e depois ir para o mais fácil? Sim. E isso é bom, até para saber se você realmente gosta e tem capacidade de ser programador. TS é um pouco complicada, muito mais que JS e C. JS é mais complicada que C, mas algumas pessoas acham que JS é mais fácil. Minha experiência é que isso não é verdade, mas cada um com suas maluquices. Quem fala que C é difícil é porque não conhece C ou, pelo menos, não sabe dar aulas com C.

Você deve ter deixado passar milhares de conceitos, porque essa é a quantidade que existe, e a maioria só sabe, no máximo, centenas. Em muitos casos, pode ser suficiente, porque muita empresa contrata o que aparece, e a pessoa pode ter um lado político, ter um carisma muito bom que garanta o emprego mais que o conhecimento técnico, em muitos casos.

Trace uma estratégia para corrigir tudo, deixar frameworks para depois.

E tem uma opinião minha que pode não ser verdade para outras pessoas: um compilador mais chato te ensina mais do que um que tenta acertar mesmo você tendo feito de qualquer jeito.

Tem que estudar. E algumas pessoas acham que estudar não envolve prática — provavelmente porque elas têm um aprendizado bem deturpado. Tem que estudar tudo, com afinco, com várias horas diárias bem dedicadas e aproveitadas com material que ajuda mais do que atrapalha. A maioria não fará isso, só tentará suprir uma deficiência momentânea.

O que acha?

3

Seu problema é unicamente falta de costume.

Imagina o seguinte. Vc aprendeu a dirigir carro manual qndo tirou carteira, mas vc começou usar carro automático por longos anos. E do nada um dia vc precisa dirigir carro manual. Vc sabe dirigir carro e aprendeu a dirigir carro manual, como vc não conseguiria dirigir um carro manual? Simples, pq vc não acostumou a usar a embreagem no seu dia-a-dia durante todos esses anos, ou se conseguir, será daquele modo capenga q morre o carro a cada esquina.

É a msm coisa, vc sabe o básico de como tipar, msm q vc não tenha começado pelo typescript. Mas se vc não usa, vai continuar sendo algo estranho, algo difícil de iniciar o uso, algo q vc acaba não querendo fazer no seu dia-a-dia pq te incomoda e vc sempre irá buscar pelo alternativo.

Então assim, se vc quer msm migrar, eu recomendo q vc se ambiente com o typescript. Imagino q vc já tenha bte experiência, então só pega aqueles cursos básicos gratuitos q vc acha em internet pra primeiro vc estar a par do q tem nessa linguagem. Sim, pegar o básico msm pq o intuito é vc ter noção do q a linguagem oferece e não pra ficar pró nela. E lembre cursos sobre o typescript, e nada de cursos web usando typescript, esses são outros focos q não servirão com propósito de ambientação da linguagem. Depois faça alguns exercícios de algoritmos tipo desses do Beecrowd, ou similares, apenas pra vc exercitar a linguagem e se acostumar com ela.
Vc tbm pode usar no seu trabalho ou projetos pessoais ou em qqr outra coisa q use constantemente, pois o segredo é usar bastante para se ambientar com a tecnologia.

Agora assim se vc não fizer nada pra se acostumar com ela, é aquela, se vc não plantar, adubar e regar não espere q ela de frutos.

1

relacionada a alguma deficiência no meu aprendizado em JavaScript

Isso é mais relacionado à uma deficiência com programação no geral.