Desenvolvimento - C/C++

Por que aprender C/C++?

Em primeiro lugar a linguagem C++ é uma linguagem de propósito geral que pode ser utilizada para qualquer finalidade e em qualquer plataforma.

por Basilio Miranda



Em primeiro lugar a linguagem C++ é uma linguagem de propósito geral que pode ser utilizada para qualquer finalidade e em qualquer plataforma.

Em segundo lugar a linguagem C++ é uma linguagem flexível, multiparadigma, seguindo nesse aspecto a tradição da linguagem C: o programador é quem escolhe a técnica de programação que deseja utilizar.

Além das técnicas que já eram suportadas pela linguagem C, C++ permite o uso de Orientação a Objetos e também de Programação Genérica, adaptando-se assim às diferentes necessidades requeridas pela criação de softwares.

Em situações críticas de escassez de memória e pequeno poder de processamento, o programador poderá adotar um estilo de mais baixo nível.

Em outros casos, poderá usar Orientação a Objetos, Programação Genérica ou uma combinação de ambas.

Em terceiro lugar a linguagem C++ é a linguagem de programação mais completa que já foi criada, sendo também uma linguagem altamente expressiva e lógica. E por isso muitas linguagens criadas posteriormente (Java e C#, por exemplo) são inspiradas em C++.

Quem aprende C++ terá assim grande facilidade de aprender novas linguagens, pois C++ criou novos paradigmas, sendo assim um modelo daquilo que esperamos de uma linguagem de programação de propósito geral.

Por isso mesmo é difícil, atualmente, conceber um curso de Ciências da Computação onde C++ estivesse ausente. Tanto pela linguagem em si, como também pela arquitetura de sua Biblioteca Padrão.

Ao contrário de algumas linguagens, C++ não cria restrições ao programador. É ele quem decide se quer correr riscos ou se quer maior segurança no seu código. Há poucas regras arbitrárias em C++ (como também na linguagem C). A maioria dos conceitos e regras de sintaxe são combináveis e aplicáveis por decorrência lógica.

Isto é positivo para o aprendizado de computação e é positivo também em situações em que é necessário extrair o máximo de uma determinada plataforma sem limites ou barreiras.

Evidentemente isso não significa que só se deva programar em C++.

Hoje um programador deve conhecer mais que uma linguagem pois, para determinadas aplicações, determinada linguagem pode ser melhor.

De um modo geral, podemos dizer que um programador que dificilmente terá problemas de emprego é aquele que conhece C++, Java e C# (e, eventualmente, alguma ferramenta adicional para gerar interfaces gráficas, além de linguagens de script como python, php ou asp).

Conhecendo C++, o programador tem uma base sólida em programação e, ao mesmo tempo, pode ser empregado em qualquer área (e não apenas gestão/banco de dados) e também em áreas onde só se pode usar a linguagem C (e elas existem) - pois ao aprender C++ ele também saberá programar em C, quando necessário.

Além disso aprenderá facilmente linguagens como Java , C# e mesmo certas linguagens de script, que herdam muito de C e/ou C++.

Por isso eu não afirmo: aprenda somente C++. Não se trata disso.

O que afirmo é que um bom programador é aquele que conhece C++ e, além disso, ao menos mais alguma linguagem.

Base sólida e versatilidade: eis a receita - e que na verdade é a receita de sempre.

Pois isso não é novidade. No passado era comum que uma equipe de programação contasse com muitos programadores Cobol e, além disso, com alguns programadores que além de Cobol também conhecessem Assembler.

O Cobol era mais simples e seguro, mas não podia resolver todos os problemas. Nas emergências e situações críticas era o programador que conhecia Assembler que era acionado.

Naturalmente esse profissional, mais completo e mais versátil, tinha melhor remuneração.

E é disso que estou falando. Por tudo isso, e por experiência própria, recomendo fortemente o aprendizado de C++.

Basilio Miranda
Basilio Miranda

Basilio Miranda - MCP (Microsoft Certified Professional). Cursou o Treinamento Oficial de Qt em Boston – USA na Trolltech / Integrated Computer Solutions, Diretor Técnico da Agit Informática, tendo como função principal a coordenação das áreas de Desenvolvimento e Consultoria de Sistemas e Treinamentos/Cursos: em C/C++, Visual C++.NET para Windows, C++ para Linux e QT (Desenvolvimento Cross-Platform em C++ com Qt) em Windows, Unix/Linux e MAC.