Encontrei algures pela Internet a seguinte citação: “Quem Souber Algoritmia, Sabe Programar. Não Importa a Linguagem!”.
Eu não tenho uma opinião bem formada acerca deste assunto, talvez devido à minha pouca experiência em programação, mas acabo por dar uma certa validade a esta citação. Acima de tudo programar tem como base a algoritmia, e uma sintaxe derivada de uma linguagem de programação, logo se souber-mos implementar uma solução para um algoritmo, o seguinte passo será apenas converte-lo em código fonte usando uma sintaxe da linguagem de programação que seja utilizada.
Apesar de ser um tema bastante vago, a escolha de uma linguagem de programação acarreta sempre analise das suas capacidades e utilidades.
Que opinião acerca deste assunto tem vocês visitantes?
Agosto 23rd, 2011 at 5:28 am
Concordo, acho que a parte de pensar o algoritmo é a mais importante… Claro que depois há linguagens e linguagens…
Agosto 23rd, 2011 at 11:21 am
Bem, tenho vindo a dizer a mesma coisa à anos… Concordo totalmente.
Há problemas que, com algoritmos gerais, são resolvidos de forma fácil. E claro, para saber programar, é necessário saber algoritmos.
Mas, de todo, para se saber programar bem, é preciso saber-se da liguagem. Desde que entrei para o mundo do C++ (vim de java), tenho descoberto com cada truque da linguagem que ás vezes até me troca os olhos.
Agosto 23rd, 2011 at 3:21 pm
Pessoalmente acho que não basta saber algoritmia para saber programar… Apesar de poder admitir que, para problemas simples isto se verifique, acredito que para construir um bom algoritmo é indispensável conhecer bem a linguagem com a qual se pretende construir uma resposta para um dado problema. Existem sempre particularidades nas linguagens de programação que só serão contempladas no algoritmo se se conhecer bem a linguagem.
Agosto 24th, 2011 at 7:19 pm
A questão não é assim tão simplista. Ter boas bases de algoritmos e estruturas de dados é bastante importante, mas existem paradigmas de programação muito diferentes: Programação Funcional, Imperativa, ou Orientada a Objectos requerem mindsets completamente diferentes. A maioria do pessoal que está habituado a linguagens funcionais ou orientadas a objectos fica completamente à nora quando tem que pegar em Lisp ou Prolog.
Para além das bases de algoritmia, é necessário que os programadores experimentem diferentes paradigmas de programação. Por vezes existem soluções mais simples que podemos ir buscar á nossa experiência com linguagens de programação totalmente diferentes. Obviamente que passar de Java para C# ou C++ não custa tanto como passar para F#.