1. TugaTech » Programação, Scripts e Webmasters » Tutoriais e Dicas

Siga-nos

Realize o Login na sua conta ou Registe-se para participar.

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

#1Lâmpada [Guia] Deseja aprender a programar? - em Dom 27 Abr 2014 - 0:00

Aprendiz

Avançado
avatar

Hoje em dia existem cada vez mais pessoas a tentarem a sua sorte no mundo da programação. Seja qual for a sua escolha a nível da linguagem e embora possam existir muitos domínios de aplicação diferentes, existem alguns conceitos em comum, especialmente o percurso de aprendizagem.

 

Este artigo é meramente indicativo e baseado na minha opinião pessoal e experiência. Se não concorda, poderá comentar e dar a sua sugestão, que será devidamente agradecida... Smile

 

Primeiro passo - Iniciação

 

Para começar a programar deve ter em conta que programar não é algo fácil, no entanto, é algo que na minha opinião trás recompensas fantásticas. Para mim é o mais perto que se pode ter de um super-poder. Very Happy
Existem inúmeras linguagens de programação, muitas pouco conhecidas, algumas de utilização geral, outras específicas para um domínio em particular, e cada uma diferente da próxima. Deve ter a certeza de que escolhe uma linguagem com uma sintaxe fácil de aprender, como Java ou C, e se quiser começar por outro lado certifique-se que tem pelo menos um recurso a quem se possa dirigir caso existam algumas dificuldades.

Pelo menos metade do trabalho de aprendizagem, especialmente em programação pode ser realizado com pesquisa simples. Procure bons tutoriais, numa língua que domine e do tipo que preferir (há quem prefira slides ou texto, eu prefiro tutoriais em vídeo ou então um livro completo sobre o assunto) e equipe-se com material de leitura sobre o que a linguagem lhe oferece, especialmente se estiver a tentar implementar algo que lhe parece complexo - é comum as linguagens de programação terem bibliotecas com funções já feitas, para inúmeras tarefas.

Poderão haver casos em que a linguagem não seja tão apropriada para o destino que lhe quer dar (HTML e PHP são exemplos de linguagens com domínios de aplicação mais relacionados com páginas web, LISP para Inteligência Artificial, etc...). Se escolheu uma das minhas duas sugestões à partida não terá grandes problemas com o domínio, já que são linguagens que à partida poderão ter qualquer aplicação.

 

Defina objetivos claros sobre o que pretende fazer e torne a sua investigação relevante a esse aspecto. Mais importante ainda: torne esses objetivos concretizáveis, não seja irrealista. Se acha que ainda não sabe programar, não tente fazer um jogo. Comece por algo simples e tente modificar o seu projeto de forma a crescer com os seus conhecimentos.

 

Todos os exercícios são importantes. Faça tantos quanto consiga, e quando perceber o que estiver a fazer, experimente fazer de novo modificando uma parte, e observe que consequências tem. Não tem fontes de exercícios? Pesquise online ou então invente pequenos exercícios rudimentares ou que correspondam ao seu nível de conhecimento.

 

Se for uma pessoa que tenha ideias frequentemente aponte-as todas. De todas, escolha a mais fácil e tente implementá-la. Se não conseguir, não desespere. Lembre-se que deve apenas tentar algo que saiba que consiga com o seu nível de conhecimentos.

 

Nesta etapa há algo que deve ficar "queimado" no seu cérebro. Não está sozinho no seu percurso de aprendizagem. Existe sempre alguém no mesmo lugar onde se encontra agora e a comunidade de programadores é das que melhor recebem os novatos. Se procurar bem (fóruns online, núcleos de informática locais, etc), encontrará certamente alguém disposto a dar-lhe dicas sobre como resolver os problemas. Não se esqueça é que se os problemas não forem resolvidos por si pouco ou nada irá aprender!

 

Uma vez que entenda os básicos está na hora de aumentar os conhecimentos e adquirir novas capacidades, de forma a conseguir fazer ainda mais coisas com a programação.

 

Segundo passo - Consolidação

 

Se chegou a esta fase então parabéns! Já pertence a uma percentagem muito mais reduzida de programadores que se interessam pela área e não desistem à mínima dificuldade.

 

A partir de agora o processo de aprendizagem não será mais fácil mas deixará de ser tão doloroso, já que agora conseguirá (pelo menos) imaginar uma resolução para a esmagadora maioria dos problemas fáceis e pô-la em prática. Começarão a acabar as desculpas para não manter documentação do código que produz (comentários) muito em breve, já que se abrir um programa antigo um ano depois de o criar, se não estiver comentado certamente vai demorar muito mais tempo a aperceber-se do que faz do que se estivesse devidamente documentado. É uma ideia que não deverá aplicar cegamente, não será necessário que escreva paredes de texto enormes, basta uma ideia geral sobre o que faz cada componente (funções ou procedimentos) do seu programa.

 

Para estender os seus conhecimentos sobre uma linguagem em particular, considere comprar um livro ou um curso online sobre o assunto se achar que os tutoriais e o material de pesquisa que consegue arranjar não é suficiente. Certamente abordarão outros aspectos que porventura ficaram esquecidos ou simplesmente ainda não tinham sido necessários. 

Mantenha também o seu código organizado e legível pelas mesmas razões anteriores, pode ser necessário voltar a ler o código que escreveu ou aproveitar a função/procedimento para outro projeto.

 

Nesta fase deverá começar a interessar-se pela melhor solução ao invés de procurar a primeira solução. Não deverá implementar cegamente a melhor solução - investigue porque é que a solução é melhor e depois de perceber talvez consiga encará-la como algo menos obscuro.

 

Se ainda não se inscreveu num fórum de programação, faça-o. Procure por alguém que pretenda fazer um projeto em grupo ou então proponha você mesmo a ideia: aprende-se sempre algo quando se trabalha com outras pessoas.

 

Abra o documento onde guardou as suas ideias e verifique novamente se existe algum projeto que acha saber completar. Existirão grandes probabilidades de já conseguir realizar pelo menos uma das ideias que teve.

 

Deverá agora conseguir utilizar bibliotecas incluídas com a linguagem bem como conseguir encontrar e perceber a sua documentação. Terá de descobrir quais as bibliotecas que interessam, descobrir as várias funções nelas existentes, e ler a sua documentação. Como complemento pode fazer exercícios sobre as funções que achar mais desafiantes, que de certeza serão úteis no futuro.

 

 

Terceiro passo - Utilização avançada

 

Se chegou a esta fase, já deverá sentir orgulho em tudo o que conseguiu fazer até agora. Como em tudo na vida, são menos os que chegam ao cimo do conhecimento. Já deverá saber todas as mecânicas básicas e avançadas da linguagem que escolheu, já deve ter a maior parte das ideias implementadas (se for uma pessoa com muitas ideias) e quando apresentado com um problema deve conseguir consolidar uma estratégia ou plano de resolução em pouco tempo.

 

Nesta fase, se achar que está satisfeito com o que consegue fazer então ótimo! Mas continua a haver inúmeras coisas que porventura nem sabe que existem, e algumas delas conceitos importantes! Nesta fase conseguirá agora ajudar os novatos a começarem e indicar o que para si foi o melhor caminho.

 

Está na altura de sair na sua zona de conforto. Tente criar um projeto complexo e implementá-lo, e se preferir, use a ajuda de outro programador. Sessões de brainstorming conseguem destruir problemas complexos em questão de poucas horas. Very Happy

 

Já se sente fora da zona de conforto? Ótimo, aprenda outra linguagem! A maior parte dos programadores não se pode dar ao luxo de saber uma linguagem e sabê-la bem: avance para outras linguagens, cada uma com os seus truques e manhas, certamente será o maior passo, especialmente se irá lidar com gestão de memória (presente em C, C++, etc...) [Não existe em Java, Python, ...]. Com isso certamente descerá uma fase ou duas, mas sempre estará a alargar vastamente os seus horizontes.

 

Quer ideias para linguagens ótimas para aprender? C++ para utilização geral de aplicações onde a velocidade é fulcral (Sistemas operativos, Jogos, etc...); HTML e CSS para os mais interessados em páginas web; Javascript (pode ser utilizado em muitos sítios, inclusive web).

 

O tutorial não acaba aqui, mas certamente quem chegar a esta fase já terá uma ideia de como pretende evoluir, e a partir daqui deverá ser uma escolha pessoal!

 

Esta será a provavelmente a qualidade que distingue o bom do mau programador: a sua autonomia de criar e resolver problemas sozinho, bem como a perspicácia e a criatividade das ideias que usa para resolver os problemas.

 

 

Espero que se divirtam a ler este artigo tanto como eu me diverti a escrevê-lo!

 

Melhores cumprimentos,

Ver perfil do usuário http://goncalotomas.com
conectado

#2Lâmpada Re: [Guia] Deseja aprender a programar? - em Dom 27 Abr 2014 - 10:49

DJPRMF

Administrador
avatar

Muito bom. Parabéns. Smile

 

Não à nada melhor do que dispensar umas horas a estudar, testar e experimentar. Mesmo que dê tudo errado no final. Very Happy


____________________________________________




Não respondo a MP's de tópicos que podem ser colocados no forum. Ajude e seja ajudado por todos.
TugaTech | Host TugaTech
Ver perfil do usuário http://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF https://plus.google.com/+PedroFernandes-DJPRMF?rel=author

#3Lâmpada Re: [Guia] Deseja aprender a programar? - em Dom 27 Abr 2014 - 23:22

Aprendiz

Avançado
avatar

Boa noite,

Agradeço o feedback positivo!

 

Realmente é uma das melhores partes da programação, quando se passam horas de volta de um problema que parece complicadíssimo e depois parece que ocorre um "click" no cérebro, e conseguimos resolver! Sem dúvida, uma das sensações mais recompensadoras...

 

Gosto mesmo muito de programar, no entanto, ainda só me sinto à vontade com Java. C está mais ou menos no sentido em que a teoria está lá; no entanto, não sei se conseguiria conceber algo tão complexo em C como consigo em Java. (falta exercitar!)

 

Já o DJPRMF, com todo o trabalho que se vê feito aqui no fórum e com todos os seus projetos, já deverá ir na fase 7 ou 8... Very Happy Very Happy

 

Cumps,

Ver perfil do usuário http://goncalotomas.com
conectado

#4Lâmpada Re: [Guia] Deseja aprender a programar? - em Seg 28 Abr 2014 - 0:33

DJPRMF

Administrador
avatar

Cada um possui a sua especialidade. Afinal, duvido que alguém conheça "bem" todas as linguagens de programação. Razz

 

Pessoalmente, em programação em C e Java devo estar na fase mais inicial Very Happy

Percebo o básico, mas não é bem a minha área...

 

A nível de programação é mais de relacionadas com sites, como HTML, javascript, jquery e afins...


____________________________________________




Não respondo a MP's de tópicos que podem ser colocados no forum. Ajude e seja ajudado por todos.
TugaTech | Host TugaTech
Ver perfil do usuário http://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF https://plus.google.com/+PedroFernandes-DJPRMF?rel=author

#5Lâmpada Re: [Guia] Deseja aprender a programar? - em Seg 28 Abr 2014 - 19:15

Aprendiz

Avançado
avatar

Correcto. Mas muito embora as linguagens voltadas para web sejam a sua especialidade, há sempre outras linguagens que com elas vêm associadas que também deverá saber. Por exemplo, para o projeto Host TugaTech devem ser precisos conhecimentos a nível de comandos do terminal (tanto windows como linux), que sempre fica fora da área da web Smile

Juntando tudo, poderíamos aqui criar uma enorme lista... Very Happy

 

Já agora aproveito para fazer a pergunta (admito que já ando com ela na cabeça à algum tempo)... Onde aprendeu a programar? Foi tudo em casa ou esteve em algum curso de programação?

Apenas com um curso de programação penso que dificilmente se juntariam os conhecimentos suficientes para criar tudo isto... Smile

Ver perfil do usuário http://goncalotomas.com
conectado

#6Lâmpada Re: [Guia] Deseja aprender a programar? - em Seg 28 Abr 2014 - 19:29

DJPRMF

Administrador
avatar

Servidores não é bem programação (embora também seja necessário)...

 

Alem de ter tirado um curso onde era igualmente englobada a programação (embora não fosse o principal), também tive alguns cursos "extra" e, obviamente, o velho método do "autoestudo". Very Happy


____________________________________________




Não respondo a MP's de tópicos que podem ser colocados no forum. Ajude e seja ajudado por todos.
TugaTech | Host TugaTech
Ver perfil do usuário http://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF https://plus.google.com/+PedroFernandes-DJPRMF?rel=author

#7Lâmpada Re: [Guia] Deseja aprender a programar? - em Seg 28 Abr 2014 - 20:45

Aprendiz

Avançado
avatar

Sempre tive alguma curiosidade sobre essa área... Se não é bem programação, com que temática se relacionará melhor? Com redes de computadores?

 

Quanto ao curso, resta a quem ler tentar imaginar quão grande teve de ser a parte de estudar sozinho para que tudo isto fosse concretizado. Não é, de todo, coisa pouca... Smile

Ver perfil do usuário http://goncalotomas.com
conectado

#8Lâmpada Re: [Guia] Deseja aprender a programar? - em Seg 28 Abr 2014 - 21:53

DJPRMF

Administrador
avatar

A minha área é mais hardware/software e redes. Mas, obviamente, a aprendizagem é contínua. Smile


____________________________________________




Não respondo a MP's de tópicos que podem ser colocados no forum. Ajude e seja ajudado por todos.
TugaTech | Host TugaTech
Ver perfil do usuário http://tugatech.com.pt https://www.facebook.com/DJPRMF https://twitter.com/dj_prmf DJPRMF https://plus.google.com/+PedroFernandes-DJPRMF?rel=author

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum




Aplicações do TugaTechAplicações TugaTechBlog TugaTechBlog do TugaTechRSS TugaTechRSS do TugaTechSpeedtest TugaTechSpeedtest TugatechHost TugaTechHost TugaTech