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

Como vocês começariam na programação ?

Sou dev a alguns anos já e sempre me perguntam com começar na programação. Na minha opinião a melhor base que algume pode ter na progamação é a lógica da programação, entendendo bem a problematica as abstrações no começo. Vai te ajudar muito e na opinião de vocês ?

10

Eu começaria como comecei, até onde dá para fazer igual, pela razão que eu acho que me dei bem e vejo entre as pessoas que se deram bem na área e as que não conseguiram ir tão longe a diferença é que algumas começaram de forma parecida com a minha ou não.

Primeiro quero dizer que o termo lógica de programação é entendido mais ou menos por muita gente, mas ele não existe. Sim, é isso mesmo. Eu sei que tem até livros com esse título, e eu já o usei muito, mas um dia fui pesquisar e descobri que isso é uma invenção sem sentido brasileira. E isso é importante porque você não pode começar aprendendo errado. Por que? Porque quando você treina o erro é ele que fará para sempre. E quando aprende o certo deve corrigir isso.

Um exemplo que dou é o que eu vi esses dias no Xwiter, que eu participei depois de tanto tempo longe. Perguntaram se era "a IDE" ou "o IDE". Eu respondi o certo. A maioria respondeu errado. Alguns disseram o certo mas que continuariam usando o errado. Pode não parecer, mas em programação esse tipo de comportamento tem consequências. Provavelmente em várias outras áreas. Esse é um exemplo. Pare para pensar sobre tudo. Isso é solucionar problemas, que é o que importa na programação. E corrija seus erros.

Fiat 147 todo detonado andando pelas ruas

Então comece procurando sempre fazer o certo. O computador não perdoa. O sistema criado pela sociedade premia mais quem acerta do que quem aproxima e muito mais de quem erra. Hoje vemos muita gente reclamando que não se dá bem na área porque não acerta muito. E é assim porque ela aprendeu a treinar o erro desde sempre. Eu sei que a maioria não consegue enxergar tão longe e vai achar tudo isso uma babaquice, e será assim comprovando o que eu disse. É complexo, o que eu falo aqui é a ponta do iceberg, mas estou fazendo o alerta, aproveita quem quer.

O começo tem ser pela comunicação e expressão e a matemática. Isso tem que estar sólido em qualquer área, ainda mais em programação. Ninguém entenderá bem o que pode ser ensinado sem compreender textos muito bem, produzir seus textos de forma coerente. Até escrevendo e falando estão desenvolvendo nossa capacidade para depois conseguir programar. Quem tem isso muito ruim não vai programar bem. Nunca vi um só caso de exceção. Hoje em dia eu vejo muito na internet uma pobreza generalizada na capacidade de comunicação, isso é grave, especialmente para a programação. Nem vou falar de matemática, programação é matemática. Ponto. Não escute os malucos que dizem que não precisa de matemática para programar. Programar é toda a matemática. Nada avançado, mas todo o fundamento.

E precisa entender a ciência. O ser humano está falho pela falta disso. De forma muito generalizada, até mesmo entre elites. Não precisa ser um cientista, mas precisa entender o método científico e aplicá-lo para não fazer besteira. Não é ser cientista da NASA, é só saber separar o joio do trigo, ser crítico e questionador. Isso é o que ensina lógica. Se sua mente está poluída por crenças você terá dificuldade com isso. Novamente, treinou o erro, é ele que fará.

Diagrama mostrando que apenas crenças verdadeiras e justificadas é conhecimento

Não tem uma chavinha que liga e desliga competência só na hora de programar.

Também seria bom saber usar o computador razoavelmente, inclusive os sites na internet. Hoje vejo que muita gente tenta programar sem saber isso. Dificulta muito.

Aí começamos na programação em si. E esse começo deve ser lento. Não precisa demorar, não precisa ser pouco tempo, mas esse lento significa que não deve pular etapas. Não deve pular conceitos, não deve aprender "mais ou menos", não deve aprender só para ver o resultado, não deve aprender só a ferramenta, não deve ter pressa de chegar no fim. Uso bastante tempo, o máximo que puder que seja saudável e produtivo, mas para se aprofundar, para entender tudo. Quando fica uma lacuna vai corroendo todo o resto é geralmente a pessoa não percebe.

Falo tudo isso porque acertei em muitos pontos, vi muita gente acertando igual, mas também porque errei em vários e pago um preço por isso até hoje.

Eu ando pensando muito se você deve aprender a programar sem uma linguagem antes. Já dei aulas assim, e não sei se é bom. Ou seja, aprender a tal "lógica de programação" por fluxograma, pseudocódigo ou algo assim. Mas tenho certeza que deve ir no bem básico, fazendo as coisas mais "inocentes" e simples no começo. E só partir para a próxima se ficar muito claro o que acabou de aprender.

Eu gosto da ideia porque aprendi quase assim, de aprender uma linguagem bem simples e concreta. Uma linguagem que mostre como o computador funciona e que vai nortear tudo o que fará no futuro, mesmo que nunca mais vá usá-la. Essa linguagem é C, e aproveita para ver um tiquinho de Assembly. Sim, é uma linguagem simples, ao contrário da crença popular. Pelo menos é para aprender o básico da programação. Claro que ela tem alguns detalhes esquisitos para quem vai programar nela em produção. Mas não precisa aprender essa parte. Só ela te fará entender de verdade oque é programar.

E tem um detalhe importante que eu pude observar em alguns experimentos que fiz. Quem não consegue acompanhar C logo de cara "nunca" será um bom programador, e quem consegue provavelmente será, se não se perder no caminho. Esse "nunca" é claro que pode ser revertido com uma mudança de atitude, que será difícil e trabalhosa, que raramente acontecerá, mas não é impossível. Acho que usar C como linguagem de aprendizado é um bom termômetro.

É claro que precisa aprender do jeito certo. E isso não é fácil. Precisa entender todos os detalhes importantes do que está fazendo. Não é só fazer o código funcionar. Em geral o que se vê por aí é apenas ensinando a linguagem, não o que está acontecendo. E quero mudar isso.

Eu aprendi com BASIC puro, que se assemelhava ao C. Era o que tinha. Computador de 2KB, só texto, preto e branco e sem som. Eu era fascinado com aquilo. Se você não consegue se fascinar com "só" isso, provavelmente não tem vocação para a coisa, e embora seja possível avançar na área e até reverter isso, como dito antes, será difícil, sofrido e os resultados não virão tão bem assim. Eu sei que algo estimulante ajuda bem, mas se precisa de estímulos artificiais, se prepare para uma jornada complicada.

Pascal era uma linguagem até interessante para aprendizado. Eu preferia ela do que Java, Python ou JS como usam hoje em cursos superiores, que se tornaram marketeiros.

Como última dica: fuja do marketing. Trabalhamos com engenharia.

Em resumo, não seja raso e se desafie.

Algumas pessoas não gostam de ler isso, porque dá trabalho (ler e fazer) e que não vão conseguir realizar, o que já gera uma frustração. Eu entendo isso. A vida é assim. Espero que todos sejam felizes, mesmo com resultados parciais.

Faz sentido para você?

Espero ter ajudado e que sirva para algo positivo, foi só minha intenção.


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

3

Eu sou do time que lógica de programação DEVE ser aprendido no início. Parece óbvio, mas tem alguns que desprezam essa matéria nos cursos e faculdades, dizendo que a pessoa precisa aprender logo de cara uma linguagem do mercado como Java e não Portugol. Lógica de programação é o denominador comum da programação. Entendendo operadores lógicos, variáveis, tipos de dados, manipulação de exceção, etc. o processo de aprendizagem de qualquer linguagem fica fácil.

Eu, por exemplo, comecei no Portugol, depois Pascal como primeira linguagem "oficial". Não começaria de outra forma. É claro que existem casos e casos, eu não fui um super entusiasta autodidata, eu precisei de um professor.

2

Matemática, principalmente em Álgebra, métodos numéricos e cálculo numérico, isso é importantíssimo. Para quem faz Ciências da Computação nem deve se preocupar pq já vai estudar de qualquer forma, mas para quem é autodidata não pode deixar esses estudos de lado.

2

Eu não sei exatamente a resposta, mas posso revelar um veneno: ficar pulando de hype em hype não vai ajudar. Este tipo de coisa prejudica até devs experientes.

Muitas linguagens têm tutoriais que partem do básico. Eu seguiria algum, escolheria uma linguagem interpretada para facilitar o início, e não arredaria o pé por pelo menos 6 meses.

Outra coisa que eu indico é estudar um pouco mais a fundo matemática e filosofia (sim, filosofia). A filosofia exercita o cérebro para criar melhores abstrações, que é um elemento chave no desenvolvimento, além da própria lógica, que, juntamente com a matemática, dá uma boa chacoalhada nos neurônios :)

2

Primeiro: Entender como a própria mente funciona, pois cada um é de um jeito e as vezes copiar o aprendizado de um, não rola no outro.

Segundo: Aprender os conceitos básicos com uma linguagem de sintaxe simples que mais goste, sem ver a que usam no mercado (gosto de Ruby para iniciar). A linguagem aqui é apenas ferramenta para aprender o que interessa, que são os conceitos de programação, tais como lógica como bem disse, mas tambem paradigmas e estrutura de dados.

Terceiro: Não ficar pulando de linguagem/conceito/tecnica toda hora, quando uma adversidade ou animo recai a si. Quanto mais etapas puladas, mais tempo será gasto para se chegar ao objetivo do entendimento básico pleno.

É entender que tudo tem um processo, o aprendizado é feito de passos, e nada, nada nesse mundo se consegue fazer se ficar desviando de qualquer problema que surge.
Não é a area de TI que é complicada por ser assim. Elá é só diferente do padrão de outras áreas, que também são exigentes e demandam muito tempo de dedicação para alçar amplos domínios.

-1