[quote=Danúzio Oliveira] No pouco que tenho lido a respeito estou chegando a conclusão que; no que diz respeito a linguagem de programação, a mesma não difere me muito de futebol! Ou seja; cada qual tem uma preferência, e obviamente motivos para isto. Na verdade quero ter uma base sólida, e para isso entendo que não devo queimar etapas.
[/quote]
É isso ai.
- Se vc pode fazer um curso superior faça. Saber não ocupa lugar.
- Saber programar não é saber uma linguagem de programação. É saber as regras, as logicas, os algoritmos, etc…
Em tese vc pode aprender a programar sem nunca usar um computador. Claro que se fizer isso não terá utilidade nenhuma. ( Quer dizer, tem alguma. Turing desenhou um monte de algoritmos e não tinha computador) - Uma linguagem de programação compoe-se de duas coisas : sintaxe e biblioteca ( tb chamada API)
Vc pode conhecer a sintaxe de muitas linguagens já que todas seguem um padrão ± simples, mas conhecer as bibliotecas não é tão simples assim. A API do java é muito grande e conhecer todos os detalhes não é simples. Veja que a maioria dos novatos usa Arrays em java quando deveria usar o Collections Framework. Isso se deve ao desconhecimento da biblioteca ( e à falta de pesquisar para saber, em primeiro lugar , que precisa saber essa biblioteca).
Então, ser um bom programador tem a ver com saber programar em abstracto. Com a criação de algoritmos.
Se um programador eficiente tem a ver com conhecer a linguagem: a sintaxe e a biblioteca.
O numero de linguagens que vc conhece é inversamente proporcional à profundidade com que conhece as bibliotecas. Ou seja, sendo que vc saiba programar vc programa em qq linguagem, basta saber a sintaxe.
Mas o tipo de algoritmos que vc desenvolve são ser muito crus, muito ineficientes se vc não conhece a biblioteca que vem com a linguagem. Linguagens com maiores bibliotecas são mais utilizadas em desenvolvimento enpresarial sobretudo devido à padronização. Linguagens com sintaxes ou bibliotecas mais especificas são usadas em campos mais específicos. Vc pode aprender a programa em Assembler mas isso não vai ajudar vc a criar aplicações web de forma eficiente. Vc pode aprender Groovy e faz aplicações web em um dia, mas de nada lhe serve isso para programar microcontroladores.
Enfim, cada objetivo tem a sua linguagem e a sua biblioteca, mas as noções de programação são sempre as mesmas: variável, função, controle de fluxo , input/output , etc…
Existe vantagem em conhecer mais do que uma linguagem ?
Do ponto de vista técnico sim. Isso lhe permite um maior conhecimento do assunto.
Do ponto de vista prático: vc tem mais ferramentas, mas tb tem mais coisas com que se confundir. Vai depender de si, da sua personalidade e da area em que quer trabalhar.
Quer baixo-nivel ? Aprenda Assembler ou C. Cientifico ? use Fortran ou Java. RAD ? C#.NET ou VB.NET
Multiplataforma ? Java nos seus vários sabores. Quer Web ? .NET , Java , Groovy ou Ruby. Script ? Groovy, lua, JavaScript , etc… Quer perder tempo ? Delphi pre .NET e VB pre .NET e outras pre Java e pre .NET como Foxpro, Clipper, etc…

hohohoho!