Neste artigo será esclarecido algumas formas de como aprender a programar.

PRÉ-INTRODUÇÃO

Se estás chegando agora ao mundo do desenvolvimento de software, preste atenção num pequeno detalhe: NÃO ESTUDE 2 LINGUAGENS AO MESMO TEMPO! Escolha uma e siga adiante. É preciso dizer isso pois, este é o efeito colateral de haver cursos gratuitos de vários temas a um clique de distância! Esse é o maior problema da era digital, da era da informação.

Escolha uma linguagem e então, veja todos os vídeos no YouTube, compre todos os livros que puderes, faça curso, faça o que for conveniente e tudo que a sua disposição e dinheiro permitirem, porém, mantenha o foco numa única linguagem e acredite, há uma razão NÃO óbvia do porque estou falando isso.

Já respondendo o que queres perguntar: não há melhor linguagem e você terá que tomar a decisão sozinho! Se não conseguires chegar numa conclusão, se realmente ficares perdido, iniciei pelo Python, há curso gratuito no YouTube, há curso pago na Udemy e há livros a venda com preços que variam de ~30 a ~200 reais!

INTRODUÇÃO

Este trabalho se propõem a guiar e esclarecer questões pertinentes ao estudo da lógica de programação, da programação e do desenvolvimento de software.

Encorajo você, recém chegado, a perguntar e pedir esclarecimento das eventuais dúvidas que possam surgir e que não estão contempladas neste guia. PORÉM, leia o artigo inteiro primeiro, depois, elabore sua pergunta e envie-a pelo sistema de mensagem Disqus que pode ser acessado no final da página.

Na parte inferior da página há um FAQ, frequently asked questions (Questões Frequentemente Perguntadas), leia-o, pois, será neste local que ao longo do tempo irei adicionando as dúvidas recorrentes de outros alunos.

Não tome este trabalho como conclusivo, pois, ensiso e estudo NÃO SÃO ciências exatas e para cada aluno há um melhor professor, melhor aula e melhor curso.

É super importante ressaltar que "Curso de Programação", atualmente, se tornou um mercado milionário. Descobri isso após muito tempo criando, gravando e publicando aulas no YouTube (gratuitamente). Por isso, a maior parte dos guias introdutórios e que prometem lhe guiar no primeiro momento, possuem motivações comerciais por detrás, cujo objetivo é lhe guiar até uma loja virtual ou então, obter seu e-mail em troca de dicas e sugestões (sugestões de como comprar o curso do autor da postagem).

Este trabalho possui uma motivação genuína e honesta como TODOS OS TRABALHOS feitos pela eXcript. Mesmo assim, não acredite totalmente no que falarei, analise você mesmo o que atende as suas expectativas. Não existem milagres e desconheço curso que lhe ensine a fazer algo interessante em menos de 10 horas de aulas com explicações e em menos de 100 horas de prática!

É incrível, mas grande parte dos alunos que chegam até o meu curso comercial, não leram sequer a ementa proposta, não prestarão atenção no vídeo publicitário e após adquirir meu trabalho, se dirigem ao fórum e perguntão aquilo que deveriam ter analisado para julgarem se o trabalho era o que realmente estavam buscando.

Por fim, lembre-se que a maior parte dos desafios que TODOS iniciantes de programação enfrentam (e eu enfrentei também) está relacionado com detalhes BOBÓCAS e que foram explicados, mas não foram pelo aluno assimiliados, como por exemplo, a utilização do ponto e vírgula.

Se você fizer um curso através de vídeo aulas, após estuda-las e pratica-las, volte a primeira e assista tudo novamente! Sinceramente, não gosto de assitir aquilo que já vi, por isso, compro um outro curso para ter acesso a uma outra explicação, com livros, SEMPRE faço isso, nos casos em que exista 2 livros sobre um mesmo tema.

PRIMEIRO CURSO

Se realmente desejas aprender, lembre-se que é necessário investir e, principalmente, lembre-se de um detalhe: com a excelência não se economiza; estudo não é despesa; e livro nunca é demais!

Mas calma ai! Não compre nada inicialmente! Há excelentes trabalhos no YouTube, GRATUITOS... e, falando a verdade, o melhor caminho é através destes materiais! ANTES DE COMPRAR, assista a materiais com qualidade PROFISSIONAL gratuitamente, além de ser o caminho mais barato, é o mais rápido, pois basta clicar neste link que serás encaminhado a primeira de 70 aulas!

Desconheço um único curso ou canal gratuito que lhe ensinará tudo que você precisa saber pra construir algo que realmente tenha valor e que os outros realmente paguem pelo serviço!

Neste momento, o melhor material disponível gratuitamente e o ÚNICO LOCAL para o estudo da lógica de programação, programação e desenvolvimento de software em Português, e que também oferece suporte gratuito através de uma lista de discussão é o do canal da eXcript elabora e gravado por mim, Cláudio.

Falarei de outros canais e iniciativas em seguida.

Julgo o meu trabalho como sendo o melhor pela simples razão de cumprir com a sua proposta, não tratar de outro assunto senão o proposto, e principalmente, por ter sido construído por alguém que aprendeu sozinho e conhece os desafios de estudar só.

O suporte é fornecido através da nossa lista de discussão, portanto, receberás suporte não somente de vários outros alunos que ontem perguntaram e hoje respondem.

Uma lista de discussão funciona semelhante a um fórum de discussão, porém, você pode optar por receber as perguntar em sua caixa de e-mail, o que é bastante cômodo. Como são poucas as dúvidas, são poucos os e-mails recebidos. Veja mais em Google Groups.

Para conhecer melhor o funcionamento de uma lista de discussão leia sobre o Google Groups.

MELHOR CURSO PARA QUEM NÃO SABE NADA

Há vários cursos que se propõem a ensinar programação sem que o aluno tenha qualquer conhecimento prévio. O curso de Python que desenvolvi também assume esta característica, porém, é necessário que o aluno saiba pelo menos como fazer o donwload e instalação de programas.

Mesmo assim, é ensinado em vídeo como fazer o download e como proceder a instalação, e portanto, esse seria o mínimo requirido.

E A LÓGICA DE PROGRAMAÇÃO?

O Curso de Python da eXcript ensina a lógica de programação com o uso da linguagem Python! É ensinado TODO o fudamento, gradualmente, para que QUAQUER pessoa consiga entender e, se você fazer no seu computador o que é feito em aula, é garantido que irás aprender!

A melhor parte do estudo da lógica de programação é que conseguimos facilmente reconhecer se SABEMOS ou NÃO SABEMOS. Ou você entendeu, ou você não entendeu. Não há meio termo. Há o aprendizado fragmentado, ou seja, você consegue implementar uma condição mas não sabe verificar determinada informação.

E O PORTUGOL?

É comum o ensino da lógica de programação com linguagens que possuem suas estruturas utilizando o idioma Português. É uma opção, uma metodologia de estudo e ensino, porém, NÃO EXISTE um único trabalho ou estudo que demonstre que o entendimento e a assimilação são melhores.

Quando falo estruturas da linguagem, estou me referindo a algumas palavras que são reservadas e que desempenham uma tarefa especifica, por exemplo.

Quando desejamos verificar uma condição, ou seja, desejamos avaliar uma expressão, a estrutura (palavra chave) da linguagem Python é a seguinte:

if(é_verdadeiro):
    print("sim")
else:
    print("não")

No código acima utilizamos 2 palavras chaves da linguagem Python, o if e o else. A palavra if significa em Português SE ("SE isso for verdadeiro", "SE o número for maior que"). A palavra else significação SENÃO.

Ou seja, a seguir temos o mesmo código, porém, escrito em Portugol, isto é, utilizando as estruturas em Português.

SE(é_verdadeiro):
    imprime_na_tela("sim")
SENÃO:
    imprime_na_tela("não")

Resumidamente, a questão é a seguinte: há aproximadamente 10 palavrinhas em Inglês que são quase que universalmente utilizadas pelas linguagens de programação que você precisaria "decorar". Porém, cada palavrinha é apresentada e explicada separadamente, PORTANTO, não há uma "carga inicial".

A linguagem Portugol "facilita" ao utilizar os termos em Português, SOMENTE ISSO! E sinceramente, não vejo vantagens, salvo no ensino infantil.

QUEM ENSINA PROGRAMAÇÃO COM PYTHON NO BRASIL?

A USP (Universidade de São Paulo) já utilizou diversas linguagens para o ensino da disciplina MAC2166 Introdução à Computação e em 2016 a linguagem Python foi adotada oficialmente .

Ao longo dos anos, MAC2166 utilizou diversas linguagens de programação: Fortran, Pascal, C e Python. Em 2016, serão utilizadas a linguagem Python (nas turmas da Grande áreas Civil, Mecânica, e Química) e C (nas turmas da Grande área Elétrica). https://www.ime.usp.br/~mac2166/gerais/

MELHOR LINGUAGEM DE PROGRAMAÇÃO

Produzi um trabalho em vídeo falando sobre "A melhor linguagem de Programação" que você pode assistir no link a seguir.

Recomendo assistir o primeiro e o segundo episódio!

PARTE I

PARTE II

NOVO NA PROGRAMAÇÃO?

De agora em diante, a cada nova aula, iremos desenvolver um novo código que abordara os conceitos que estamos estudando. A minha sugestão é que cries um novo arquivo para cada aula e sempre digite o mesmo código que estamos construindo no vídeo.

A programação, a construção de códigos, pode ser estudada, obviamente, da maneira que preferires. Porém, ao longo dos anos, após ter estudado várias linguagens, aprendi sutilezas no estudo de novas linguagens que acabaram se tornando regras para quando estudo uma nova linguagem.

PRATIQUE COMO O INSTRUTOR

A ideia mais simples e funcional é fazer tudo da mesmas forma que é feito no vídeo, livro ou tutorial. Essa é uma regra fundamental que muitos alunos ao estudar programação não adotam.

Muito provavelmente ao assistir a vídeo aula você irá entender os conceitos, as instruções e as ideias que estão sendo ensinadas. Porém, se não copiares o que está sendo feito, acredite, o seu aprendizado será diferente, e, muito provavelmente o teu rendimento será inferior.

Por mais simples que possa parecer, por mais bobo que possa ser o código, é super importante fazer o mesmo no seu computador. O simples fato de digitarmos um código, executarmos, obtermos um valor de retorno faz com que o nosso cérebro assimile uma nova idea como verdadeira e funcional. Com o tempo, perceberás que muitas vezes irás digitar um exemplo errado, outras, irás esquecer algum sinal e no momento em que executares o código, será levantado um erro que terás que resolver.

Acredite! Resolver esses problemas, talvez, seja mais importante do que assistir a próxima aula. Por isso, não avance antes de conseguir obter o mesmo resultado! No mínimo, sempre digite e execute o código proposto para o estudo, em seguida, analise cada espaço, cada vírgula, cada sinalização que foi utilizada pelo autor.

Obviamente, tudo tem um limite e você deve conhece-lo! Não estou dizendo para ficar 1 semana em cima de um mesmo código, porém, investir algumas horas no entendimento de um pequeno trecho de código é super natural e isso acontece com todos!

As situações adversas que defrontaremos ao copiarmos os exemplos estudados irá se acumulando e se tornará o que chamamos de bagagem ou então experiência. Quanto mais cruel o erro, quanto mais idiota o problema, muito mais raramente esqueceremos após descobrirmos o problema ou encontrarmos a solução. Por isso a necessidade de copiar os exemplos e sempre conferir se o resultado obtido é o mesmo.

O QUE É EXPERIÊNCIA?

Após muito analisar, conclui que experiência é o acumulo de situações adversas que enfrentamos ao utilizar alguma ferramenta.

Por exemplo, todos sabemos que um mecânico de carro experiente reconhece muito dos problemas somente escutando o barulho ou observando alguma reação. Aprendi que isso é experiência e o mesmo acontece na programação.

Após utilizarmos por bastante tempo uma linguagem, ou então, após trabalharmos bastante tempo com determinado framework, receberemos centenas de mensagens de erro e, muitas vezes, como essas mensagens estão em Inglês, nem entenderemos o seu verdadeiro significa. Mesmo assim, mesmo se a pessoa não entende a mensagem de erro, com o tempo, após receber essa mensagem centenas de vezes, o mesmo já saberá qual o problema ou então, saberá pelo menos, o que está acontecendo e o que deve ser feito.

Ocorre que com o passar dos anos criamos intimidades com as tecnologias que utilizamos e, mais ainda, criamos um sentido, uma percepção aguçada, seja ao receber mensagens de retorno, seja pela performance que o código foi executado. Essa percepção não está e jamais estará escrita ou gravada em livros e só pode ser adquirida através da utilização de uma determinada tecnologia.

E neste ponto é onde reside o que chamamos no início de "dificuldade"! Sempre teremos dificuldades com tudo quem não tenhamos estabelecido uma relação e vivenciado vários momentos. Por isso é que o início é sempre tão complicado o estudo de qualquer tecnologia. Todas as mensagens, todos os problemas e tudo que acontece é novo e, por nunca antes termos presenciado determinada situação, não sabemos como proceder. O detalhe é que isso acontece com todos e, a diferença daqueles que irão aprender em relação aos que desistirão está somente no fato de saber lidar com o desconhecido, ter a paciência consigo e entender o momento que estamos vivendo.

Após conseguirmos realmente entender os fenômenos decorrentes do estudo de novas tecnologias, após aprendermos que o início sempre é perturbado porque veremos muitas situações que nunca antes vimos, somente após REALMENTE aprendermos que esses fenômenos são naturais e tão logo passarão é que de fato, conseguiremos entrar num novo nível de estudo e aprendizado.

Acredite, saber reconhecer esses momentos faz total diferença e irá impedir que fiquemos muitas vezes irritados os que tenhamos sentimentos ruins a respeitos de nós mesmos.

FAQ

A seguir, respondemos as algumas das principais dúvidas que são recorrentes aos iniciantes. Utilize a caixa de comentário no final desta página para perguntar!

É DIFÍCIL APRENDER A PROGRAMAR?

Aprender uma linguagem de programação é um estudo relativamente fácil. Escrever software e criar soluções possui complexidade infinita, até porque, a programação pode ser empregada em qualquer área do conhecimento humano.

Costumo dizer que aprender a programar é fácil até porque, se comparada com o desafio que vem em seguida, ou seja, utilizar as estrutras de uma linguagem de programação para desenvolver uma solução computadorizada é o verdadeiro desafio.

DEVO APRENDER COM PYTHON SE QUERO PROGRAMAR COM JAVA/C#/PHP?

Você pode aprender lógica de programação com praticamente QUALQUER linguagem de programação imperativa (Python, C, C++, C#, Java, PHP, JavaScript, Swift e etc) e você encontrará cursos e livros que assumem esse compromisso!

PORÉM, o Python possui algo que não há como explicar em palavras que faz desta linguagem um caminho "mais agradável" aos iniciantes.

VOCÊ DEVE saber de um detalhe: após a primeira linguagem as demais linguagens IMPERATIVAS serão moleza! O problema é somente a primeira!

Portanto, como é MUITO comum utilizarem a linguagem Portugol que, de fato, NÃO SERVE para nada, salvo o estudo, porque não aprender com uma linguagem que VOCÊ IRÁ utilizar de certeza absoluta em sua vida, indiferente de qual linguagem você decidir posteriormente estudar e utilizar profissionalmente.

Para conhecer mais sobre o Python, veja o artigo de abertura do curso.



Tags programação, lógica, lógica de programação, blog

Comentários

comments powered by Disqus