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

[Dica e opinião]Iniciantes perdidos

Se você acompanha grupos ou bolhas de programadores, deve perceber que sempre tem iniciantes na área ou uma parcela de curiosos que sempre fazem uma pergunta que já é clássica nesses meios

Qual é a melhor linguagem de programação para iniciantes?

E sempre há alguém nas respostas falando que é Python, javascript ou qualquer linguagem que tenha uma sintaxe mais simples e direta, isso você olha até mesmo em matérias jornalisticas de pessoas que aparentemente são tão leigas quanto e no final para agregarem em algo falam algo como "pratique muito e estude bastante"

Eu não estou culpando os citados acima, e nem mesmo falando que estão errados


Mas eu olho isso com más olhos, principalmente hoje em dia, eu tenho apenas 18 anos e estou ainda na minha longa fase de aprendizado

E se você é um jovem aspirante a programador ou até mesmo iniciante, aqui vai uma coisa

Fod#se a linguagem

Me desculpe o palavrão


Eu começei a perceber isto alguns meses após começar a aprender programação

É de um consenso amplo de que linguagens de programação são ferramentas, o que quer dizer que não importa muito se você aprende uma mais fácil ou mais dificil no inicio

Antes de procurar o que quer fazer, entenda as vertentes internas da área de programação, por exemplo:

Você aprende python pela facilidade, mas.... você sabe onde python é comumente aplicado? por que?

É disto que estou falando, e é dessa forma que eu acho que iniciantes deveriam pensar antes de procurar "tutorial de python" no youtube

Sempre questione a si mesmo o por que das coisas acontecerem, pois você pode perder um tempo valioso aprendendo algo que poderá inutil para você no futuro

Se permita olhar as linguagens de programação, não por sua facilidades ou features, mas sim pelo o que elas representam para suas aplicações


E aqui vai uma outra parte que eu acho importante frisar

Sabemos que essa nova geração é uma geração em que a troca de informações é muito rápida e imediata, o que pode acarretar em pessoas que têm preguiça de olhar coisas mais longas e muito detalhadas

Assim como qualquer estudo, você deve ter uma certa paciência com os resultados que você quer, a base é chata? sim e muito, eu que o diga, mas é super necesária

Eu pulei etapas que não era pra mim pular e atualmente eu pago o preço disso, tive que voltar muitas etapas do meu aprendizado, por que no inicio eu justamente tratava linguages de programação, como "linguagens individuais"


Se você concorda ou discorda de mim, sinta-se a vontade para me falar o por que, e caso você queira agregar eu também ficaria feliz em ler

Carregando publicação patrocinada...
3

Então vamos lá discordar de boa parte, mas concordar com o que eu acho que é o mais importante do texto.

É de um consenso amplo de que linguagens de programação são ferramentas, o que quer dizer que não importa muito se você aprende uma mais fácil ou mais dificil no inicio

Mais ou menos. Não é tão consenso assim. Tem coisas que as pessoas começam repetir aos montes e parece consenso. Mas não é tão simples assim. Até são só ferramentas em certo aspecto. De fato quando isso é dito para indicar que importa é aprender o ofício, acho que há consenso entre os experientes.

Não há consenso entre os iniciantes, por uma razão bem simples, a maioria deles preferem aprender a ferramenta do que o ofício. Se fazem isso eles não acreditam que elas sejam só isso.

Também não é consenso que tanto faz usar um martelo ou chave de fenda. Depende do objetivo. E se vai usar para aprendizado, e ainda podemos separar em objetivo do aprendizado, faz diferença escolher uma ferramenta ou outra. Porque, da mesma forma que a ferramenta certa para um tipo de aplicações existe, para o aprendizado também, não é qualquer um que serve bem. Qualquer um serve, tanto para fazer uma aplicação, quanto para o aprendizado, mas o resultado será melhor ou pior.

Fora que não é tão consenso assim que linguagens sejam ferramentas tão simples quanto um martelo. Linguagens servem para expressar algo. Elas são mais que ferramentas de repetição. Elas permitem usar a criatividade, e influenciam de forma muito mais forte no resultado.

Embora muita gente repita isso e pareça uma verdade universal, porque em parte seja verdade, algumas pessoas, eu por exemplo, acham que a linguagem é um pouco mais que isso é em parte, sim, é como se fosse martelo ou chave de fenda, mas também em parte é como se fosse piano ou guitarra, que faz uma diferença bem grande sobre o resultado que vai obter, embora ambos criem música do mesmo jeito, mas com um estilo que faz diferença para as pessoas.

Eu não caio nessa simplificação de que linguagem é só ferramenta. Apesar de não negar que seja um pouco verdade.

E acho que importa se aprende com algo mais fácil ou mais difícil. Isso provavelmente definirá muito que tipo de profissional você será por muito tempo ou para sempre.

Claro que outros fatores influenciam mais, mas isso influencia também. E a decisão de uma ou outra mostra a atitude da pessoa, que eu sempre falo que é o que mais importa para evolução da pessoa.

Você aprende python pela facilidade, mas.... você sabe onde python é comumente aplicado? por que?

Isso é importante e eu sei o que quer dizer. De fato, quando as pessoas querem escolher, precisam entender isso e quase ninguém fala quando a indica. Python é usada para ciência de dados (até mesmo algo ligado à IA), automação de tarefas, e coisas desse tipo. Em geral, quem quer ser programador não busca isso. E python não é tão usado assim para aplicações. Mas é, talvez deveria menos. Esse é um caso que muitas vezes martela o parafuso, mas como você acaba tendo o resultado final esperado, então a pessoa fica feliz.

Martelando um parafuso

É disto que estou falando, e é dessa forma que eu acho que iniciantes deveriam pensar antes de procurar "tutorial de python" no youtube

Ou de procurar no Youtube (ou pelo menos procurar pelo melhor, não pelo mais popular). Youtube é só uma ferramenta. De expressão. Que pode ter tudo, coisas boas ou ruins, que atende um público ou outro, e que funciona melhor para entretenimento do que para algo técnico profundo. Se o aprendizado precisa ser estilo entretenimento, ok, o YT é interessante, mas lembremos da questão da atitude, e ela definirá os resultados que a pessoa obterá.

Claro que estamos falando de pessoas, então tudo pode acontecer, não é algo exato.

Sempre questione a si mesmo o por que das coisas acontecerem, pois você pode perder um tempo valioso aprendendo algo que poderá inutil para você no futuro

Isso é bem importante.

Se o objetivo é aprender algo rapidinho, sem muito compromisso, só para arrumar um emprego rápido, então Python pode ser um problema, a não ser que a pessoa queria exercer alguma atividade que por acaso Python ajuda, mas não é bem desenvolvimento de software, onde Python é usada bem menos do que as pessoas acham.

Mas também podemos olhar do ponto de vista do aprendizado. Você pode perder tempo aprendendo com uma ferramenta que não é o que precisa para seu objetivo. Ainda falarei mais disso.

Se permita olhar as linguagens de programação, não por sua facilidades ou features, mas sim pelo o que elas representam para suas aplicações

Exato.

Por isso que a aplicação de aprendizado também deve ser observado. Como você quer aplicar seu aprendizado? O que espera ser depois que aprender uma linguagem de programação? Isso é muito importante para definir qual linguagem usar para aprender algo. Não pode ser "tanto faz". Adequação da ferramenta para cada cenário precisa ser aplicado em todos os casos, até antes de começar programar.

Sabemos que essa nova geração é uma geração em que a troca de informações é muito rápida e imediata, o que pode acarretar em pessoas que têm preguiça de olhar coisas mais longas e muito detalhadas

Não só essa. O mundo está contaminando todas as gerações, e é difícil escapar ileso, eu por exemplo não escapo. Mas a observação é super importante, ainda mais de alguém vindo de dentro dela. Essa geração é muito normal. Mas é preciso saber disso, e se esforçar mais. Os conteúdos mais curtos sempre vão te machucar.

Ao mesmo tempo que se a pessoa quer coisa resumidinha, então tanto faz a ferramenta, pode ser Pythons, JS, o que for. A pessoa só quer ver o resultado. Só quer ver dopamina "borbulhando" em seu cérebro. É uma delícia, mas tem um preço a pagar.

Assim como qualquer estudo, você deve ter uma certa paciência com os resultados que você quer, a base é chata? sim e muito, eu que o diga, mas é super necessária

Eu não sei se a base é tão chata assim. Pode ser um pouco, algumas coisas, mas se a pessoa realmente achar muito chata, talvez ela caia no que eu falo muito, ela não tem vocação.

Ela ainda tem o direito de fazer o que quiser, pode procurar a profissão para resolver coisas na vida dela que ela queria, mas ela sofrerá de um jeito ou de outro. Ou porque vai aprender algo que não faz parte dela, ou porque vai aprender tudo "pela metade" e vai exercer a profissão da mesma forma e terá resultados da mesma forma.

Eu pulei etapas que não era pra mim pular e atualmente eu pago o preço disso, tive que voltar muitas etapas do meu aprendizado, por que no inicio eu justamente tratava linguages de programação, como "linguagens individuais"

Esse é o relato mais importante. Aprender os fundamentos é mais importante que a linguagem. Como e com o que vai aprender importa.

Conclusão

Eu tenho essa visão hoje, mas não tinha quando era jovem. Eu tenho 3 vezes a idade do OP, e hoje vejo assim, e sei que não é fácil perceber isso, por experiência própria.

Por tudo isso que eu acho que quem quer ser engenheiro de software deveria começar com C. E ver uma pontinha de Assembly. E vai perder tempo com a ferramenta que só serve para o aprendizado. Não vai perder tempo em dominar a ferramenta porque ela provavelmente não será usada para trabalho real, ela será só usada para o aprendizado da computação e um pouco da engenheira de software (o resto provavelmente só aprenderá mesmo com uma ferramenta mais "de mercado"). Não vai perder tempo se souber aproveitar bem, porque aprender os fundamentos da maneira mais apropriada gasta um tempo, mas se paga depois. É o contrário da tal da dívida técnica, é um investimento técnico, ele pagará juros para você.

Faz uma diferença enorme em aprender C, Python, C++, JavaScript, Rust, PHP, Java, Lua, C# ou Go como primeira linguagem. Isso definirá muito o que a pessoa será em atuação, em qualidade, em empregabilidade. Uma pena que nem todos possam adotar a melhor ferramenta, pelas mais variadas razões.

Ser diferente não quer dizer que tenha uma certa e outra errada, mas tem algumas que funcionam bem para um objetivo e não funcionam bem para outro.

Faz sentido para você?

Espero ter ajudado.


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

2

maniero me permita levantar esse ponto sobre os fundamentos porque, assim com eu, há pessoas também um pouco perdidas em definir o que seriam estes funamentos e até onde ir no estudo deles... Peguei um trecho da tua fala porque acho que ela resume o que eu gostaria de propor e que pessoas com maior senioridade iriam ajudar muito quem está perdido nisso.

Esse é o relato mais importante. Aprender os fundamentos é mais importante que a linguagem. Como e com o que vai aprender importa.

O que seriam os fundamentos?

Essa é uma dúvida crucial para mim. O que seriam os fundamentos para quem quer atuar como programador?

Eu migrei de carreira, saindo da área da Farmácia Clínica para a parte de dados (ainda na área da saúde porque gosto muito da área).

Quando eu atuava como clínico, eu precisava conhecer bem três pilares (há outros): Fisiologia Humana, Patologia e Farmacologia. A Fisiologia me permite entender como o corpo funciona em seu estado "normal". Então, cada Sistema, composto pelos respectivos órgãos, tem uma maneira default de funcionar. A Patologia mostra o estado de "desequilíbrio", ou seja, o que explica o funcionamento não adequado e que está deixando o paciente doente, o que e como está causando este desequilíbrio. E, por último, a Farmacologia que permite "modular" (no sentido de transicionar de um estado a outro) do estado patológico para o fisiológico. Então, precisava saber qual medicamento era indicado, o porquê, se havia interação ou não com outro medicamento e vários outros detalhes.

Na graduação cheguei ao nível de fazer síntese de fármacos. Havia a necessidade de se entender a nível molecular como a reação ocorria para promover a produção do fármaco desejado. Mas esse nível da "toca do coelho" não foi crucial para eu poder atuar como Farmacêutico Clínico. Envolveu fazer uma Residência em Farmácia Clínica para eu poder atuar, mes isso seria a "especialização".

O que coloquei acima foi algo mais simplificado sem ser simplório. Há uma vastidão de detalhes, mas acredito que apresentou a ideia geral.

Assim, pensando neste aspecto de fundamentos, quais seriam esses pilares (não necessariamente três)?

Qual a sequência lógica que faria mais sentido em estudar os fundamentos?

Olhando em retrospectiva, faria mais sentido para mim, a seguinte seuquência:

  • Fisiologia Humana
    • Teria a visão mais ampla de como está tudo em seu estado normal no corpo humano
  • Patologia
    • Uma vez entendendo o normal vamos entender o estado de adoecimento. Preferencialmente estudando por casos clínicos.
  • Histologia
    • Agora vou entender como é a nível de tecido que forma o órgão, como as células estão organizadas no Fisio e no Patológico.
  • Biologia Celular, Molecular e Bioquímica
    • Aqui descemos ao menor nível para eu entender como os receptores celulares, as organelas e síntese de proteínas, uso de móleculas de carboidrato, e outros detalhes funcionam. E por quê? Porque o medicamento atua nesse nível.
  • Farmacologia
    • Agora sim vem o estudo dos fármacos. E aqui o estudo vai ser por casos clínicos. Por casos clínicos eu correlaciono os sistemas envolvidos em uma determinada patologia. Um paciente com Alzheimer é um caso, alguém com uma pneumonia é outro caso e por aí vai. Mas consigo correlacionar com tudo visto até então. E aí, entra o medicamento fazendo o papel de modulador.
  • Análises Clínicas
    • Aqui agora vamos monitorar os exames e como o organismo do paciente transicionou "laboratorialmente" do estado patológico para o fisiológico e fazer as correlações com cada sitema, cada produto do metabolismo celular e com o efeito farmacológico.

Pensando em uma sequência lógica, o que você recomendaria estudar e como?

Eu comecei da visão macro e foi descendo ao nível do detalhe.

De antemão, muitíssimo obrigado pelo teu tempo e por ajudar a norterar os que estão em aprendizado (eu sempre vou me considerar um eterno aprendiz, rs).

2

Eu vou organizar isso "em breve", porque é algo que as pessoas pedem muito, enquanto isso leia: https://pt.quora.com/Quando-se-fala-em-estudar-os-fundamentos-em-programa%C3%A7%C3%A3o-Quais-s%C3%A3o-esses-fundamentos/answer/Antonio-Maniero.

Obrigado pela postagem. Seu exemplo ilustra bem, porque hoje muita gente aprende programação quase em ordem invertida ao que deveria ser, ou pior, como já a´renderam o que entrega resultado, ela desiste de aprewnder o fundamento, ou seja, no seu exemplo ela aprende fazer análise clínica sem saber filosofia humana, pode dar certo? :)

2

Muito obrigado, maniero. Li o teu post no Quora e concordo plenamente. A ideia de uma lista ou até mesmo da grade curricular do conteúdo da faculdade pode enviesar e alguém achar que apenas aquilo é o suficiente, o que não é. Mas algum tipo de norte é necessário. Acredito que a tua fala sobre C e Assembly faça muito sentido.
O curso do Deschamps, por exemplo, está me ensinando coisas que eu levaria muito tempo para aprender sozinho. Ele está me ajudando a conectar os pontos. Aí que, entendo eu, o papel de alguém com maior senioridade em dizer como as coisas se conectam. Quer dizer que tudo foi explorado e podemos ficar nesse nível? Entendo que não. Mas dá uma segurança para dizer "isso eu sei" e "isso não sei, mas sei que essa base aqui vai me ajudar e posso aprender com esse livro ou essa documentação".

Obrigado por responder a minha postagem e pela conversa. Espero poder contribuir de algum modo.