Meio Bit » Baú » Miscelâneas » Programação: Comece certo e com uma linguagem de verdade

Programação: Comece certo e com uma linguagem de verdade

22/03/2008 às 5:28

Hoje em dia temos literalmente milhares de linguagens de programação. Isso mesmo, você não leu errado. Segundo a The Encyclopedia of Computer Languages, existem no momento 8152 linguagens de programação documentadas. Diante dessa babel, um novato em computação faz a pergunta: Quero aprender a programar, por onde começo?

Essa pergunta gera um debate enorme, sempre. Uns sugerem logo de cara C++, Java ou C#. Outros, Visual Basic ou Delphi. Muitos indicam alguma linguagem interpretada como PHP, Ruby ou Python. Mas todos eles acabam ensinando também o uso de frameworks, ferramentas e particularidades de cada linguagem. Por exemplo, PHP é para Web, não para Desktop. Estou longe de ser um purista, mas para começar com o pé direito, não existe linguagem melhor do que o bom e velho C.

Antes de continuar, quero deixar claro que não estou indicando uma linguagem ou tecnologia para algo específico, mas para alguém que está começando e ainda não sabe qual será o futuro: programador de aplicativos web, software para torpedos, drivers, controle de radar, engines gráficas, games, inteligência artificial, aplicativos desktop, etc. A linguagem de programação C é genérica e inespecífica o bastante para qualquer situação, mas o importante é aprender os fundamentos de programação e não ficar brincando de enviar e-mails usando formulários via browser.

Vejam uma breve descrição da linguagem e porque ela é tão boa para iniciantes:

"C não provê operações para manipular diretamente objetos compostos tais como cadeias de caracteres conjuntos, listas ou vetores considerados como um todo. A linguagem não define nenhuma facilidade para alocação de memória outra que a definição estática e a disciplina de pilha fornecidas pelas variáveis locais de funções; não há monte (heap) ou coleta de lixo. FInalmente, C não provê facilidades de entrada e saída: não há comandos READ ou WRITE, nem métodos de acesso a arquivos. Todos esses mecanismos devem ser fornecidos por funções explicitamente chamadas. A maior parte das implementações de C inclui uma coleção razoavelmente padronizada dessas funções.

De forma semelhante, C oferece somente construções simples de fluxo de controle: testes, laços, agrupamentos, subprogramas, mas não multiprogramação, operações paralelas sincronização ou co-rotinas." ¹

Muitos defendem o aprendizado de uma linguagem orientada a objetos como o Java. O problema é que ele tornou-se tão grande, pesado e corporativo, que chega a ser ridículo ensinar if, else, for, do while e outras coisas simples usando um Software Development Kit gigante. O Java foi criado em C.

Quer ajudar em projetos open source? Se você possuir conhecimentos em C, vai poder ajudar muito mais do que os 199 tradutores de plantão para cada programador de verdade porque essa habilidade pode ser migrada para as principais linguagens de programação da atualidade. Os conhecimentos de manipulação de dados, estruturas de decisão, laços, funções e estruturação de programas, assim como os conceitos de compilação estarão bem fundamentados. E não apenas isso, mas é uma ótima linguagem para aprender algoritmos estruturados.

E para começar, recomendo o pequeno lcc-win32 para quem usa Windows e pesquise por tutoriais. Se preferir, pode partir direto para o Visual C++ Express da Microsoft, a ferramenta usada para desenvolver e compilar o Firefox para Windows, por exemplo. Mas para quem está começando, simplicidade é sempre o melhor caminho.

¹ KERNIGHAN, Brian W.; RITCHIE, Dennis M. C, A Linguagem de Programação: padrão ANSI. Rio de Janeiro: Campus, 1989. p. 2.

relacionados


Comentários