Aprenda o básico!
Caramba! parece que a galera não percebe. Não adianta você partir para um Framework, ou querer aprender OO, se você não souber o básico de programação.
Sério. Estou dando uma super dica. Aprenda a base.
Você não foi estudar Integrais e Derivadas antes de aprender a somar. Você não escreveu a tua redação do Enem ou do Vestibular(de alguma federal), antes de aprender a conjugar verbos.
Pois é. Agora imagine, o que aconteceria se invertessem essa ordem. Vamos tentar ensinar um conceito que depende(pois usa diretamente), um outro mais simples, sem ensinar esse mais simples.
Indo direto para o avançado.
Aprender a programar
Vamos nos ater aos conceitos, okay ?
Quer programar? então aprenda a programar.
Não aprenda java, nem aprenda c, nem php, nem nenhuma linguagem em específico. Aprenda a programar.
Não estou falando de pseudos linguagens, ou de ‘portugol’, ou coisas assim. Estou falando dos conceitos básicos de programação.
IF é IF em C, em Java, em PHP, em SQL..
“O while” do Java, é igualzinho o while do php. O while do asp, possui o mesmo conceito. Apenas a sintaxe que muda.
Não aprenda a usar um for() em javascript, mas sim entenda o que é este for(), oque ele faz, porque ele faz.. ‘o conceito dele’.
E oque é o básico?
Afinal então, o que é o básico ?
O básico da programação é a lógica. Se não tiver uma boa lógica, ou não for capaz de resolver um problema que lhe for imposto, você terá dificuldades em programar.
Sim, a beleza do código é importante. Existem soluções elegantes.
Mas você só chegará nelas, se for capaz de organizar o pensamento, e traçar de forma ordenada os passos até o objetivo final.
Coisas comuns
Lembre-se das estruturas comuns das linguagens: if, else, else if, while, do while, continue, break, for, switch, main()..
Não importa a sintaxe, se eu souber ‘o conceito’ desses comandos, tenho que conseguir usá-los com qualquer linguagem.
Um sonho
Sonho com um mundo onde, serei tão bom no básico, e nos conceitos, que ‘mudar de linguagem’, me custará um aprendizado de 1 ou 2 dias(ou até apenas algumas horas), apenas para que eu entenda a diferença de sintaxe. Por que não ?
Algumas nos surpreendem com conceitos próprios e completamente diferentes de tudo oque conhecemos até então. Nesse dia, ‘do meu sonho’, saberei esses conceitos, mesmo que não os use para todas as linguagens. Ainda assim, o foco é saber o que existe de igual entre todas elas.
Afinal linguagens são apenas ferramentas. Use a ferramenta certa para o trabalho.
O simples
Faça bem feito o simples. Seja básico, mas seja bom no básico. Saiba tudo do básico.
Falta muito disso hoje em dia. Antes de procurar ‘o cara que desenvolve em Rails ou em ZendFramework’, eu preciso de um cara que desenvolva.
E bem.
Que saiba que HTML é a linguagem base da internet. Que Tableless é um conceito importante, que a validação da w3c, apenas te indica erros de sintaxe, erros de sintaxe são básicos. E por até por isso, é apenas a tua obrigação mínima validar.
É sério, existem pessoas que acham que a ter o selo de validação, vai garantir que o site seja crossbrowser!
Não! não vai! Lógico que não!
Seja bom
Antes de ser bom em coisas complicadas, seja bom na base. Faça bem feito o simples.
Em SEO por exemplo, vejo a galera se matando com AdWords, AdSense, afiliados.. mas a página do cara é um lixo!
Feia, desorganizada, sem layout, sem usabilidade, sem semântica.
Linguagens baixo nivel
Volto a bater nessa tecla. Linguagens baixo nível são incríveis!
E existem programadores que nem sabem que elas existem!
O conceito
Se você realmente souber o conceito das coisas, tudo se tornará natural para ti. Você saberá quando usar, e não precisará decorar.
A tua necessidade, te lembrará qual conceito conhecido, que resolve aquela situação.
O bacana do básico, é que todo mundo parece se esquecer dele. E lá na frente, quando estão no avançado, encontram dificuldades básicas.
Recorrente isso, ne?! Olhe a educação no Brasil. Jovens na oitava série ou colegial, que não sabem interpretar texto !
Traduzindo para a nossa profissão: caras que programam a anos, e não sabem lógica de programação!
Ou então, programadores que não sabem usar condicionais. Que não sabem o que é booleano. O que é tipagem.
Existem aos montes!
Não concorda ? me odeia ? comente.