A
Linguagem em C é uma das mais utilizadas e super necessárias hoje, muito se tem
aprendido de novas tecnologias e linguagens contudo o profissional que bem
operar esta linguagem vai estar sempre a frente inclusive nos Estados Unidos é
uma das mais usadas e faltam profissionais bem capacitados.
O
Mercado de TI cresce muito mesmo com tantos problemas.
Abaixo
segue um reportagem sobre o assunto com os devidos créditos.
É consenso que diferentes linguagens de programação são
adequadas para o desenvolvimento de diferentes aplicações. Na verdade, hoje,
existe um leque de linguagens adequadas para o desenvolvimento de cada tipo de
aplicação, seja ela uma aplicação científica, uma aplicação web, uma aplicação
para gerenciamento de dados etc. Não existe uma única linguagem de programação
adequada para desenvolvimento de qualquer aplicação. Pelo contrário, é comum o
desenvolvimento de uma mesma aplicação fazer uso de diferentes linguagens.
Não é consenso, no entanto, quais linguagens de programação um
profissional deve aprender. Basta aprender uma ou outra linguagem de
programação adequada para o desenvolvimento de aplicações na área em que atua?
É importante aprender todas as alternativas ou mesmo uma linguagem não adequada
para ou não comumente utilizada na sua área de atuação? Da mesma forma, não é
consenso qual a linguagem deve ser usada em um primeiro curso sobre
programação. Diferentes (e boas) universidades optam por diferentes linguagens:
Python, Java, JavaScript, C, Haskell, Scheme etc.
Quando escrevemos o livro “Introdução a Estruturas de Dados”¹, optamos por utilizar a
linguagem de programação C para apresentar e discutir as implementações e os
usos de diferentes estruturas de dados. Eu até sou favorável ao uso da
linguagem C nos cursos introdutórios de programação para profissionais das
áreas técnico científicas, mas reconheço outros benefícios no uso de linguagens
de programação mais abstratas. Diferentes opções têm diferentes benefícios.
Independente da ordem, eu acho que o aprendizado de C é muito
importante, senão fundamental, para uma sólida formação em programação.
Naturalmente, existem bons programadores que não conhecem a linguagem C, mas eu
acredito que eles serão programadores ainda melhores se aprenderem a programar
em C com desenvoltura.
A linguagem C opera muito próxima ao hardware. Se, por um lado,
isto gera uma dificuldade extra para seu aprendizado, por outro, programando em
C, temos um bom conhecimento de como o computador funciona, e este conhecimento
é fundamental para programar bem em qualquer linguagem. Em C, somos obrigados a
gerenciar explicitamente a memória que alocamos, podemos manipular diretamente
endereços de memória, precisamos entender o conceito de passagem de parâmetro
por valor e por referência, aprendemos o conceito de variáveis do tipo ponteiro
etc. Adquirimos um conhecimento que nos permite escrever programas corretos e
eficientes.
Este conhecimento é particularmente importante quando precisamos
projetar novas estruturas de dados para atender demandas específicas.
Linguagens de programação mais abstratas oferecem suporte nativo às estruturas
de dados mais usuais; em C, precisamos implementá-las. O conhecimento adquirido
ao implementar as estruturas nos faz ter um melhor discernimento de qual
estrutura devemos usar numa determinada aplicação, nos capacita a adaptar
estruturas já existentes quando necessário, e nos ensina a avaliar a eficiência
dos algoritmos que fazem uso dessas estruturas.
Vamos tomar um exemplo simples, mas sutil. Considere as
declarações em C a seguir:
char *s1 = “Linguagem C”;
char s2[ ] = “Linguagem C”;
As duas declarações (apesar da diferença sintática tênue da linguagem)
criam variáveis com muitas diferenças, e o aprendizado de C nos requer o
entendimento dessas diferenças: cadeia de caracteres constante versus cadeia
local e editável, escopo global versus escopo local, acesso indireto versus
acesso direto. Esconder esses conceitos certamente acelera o aprendizado dos
fundamentos de programação, mas, por outro lado, entender esses conceitos
certamente nos ajuda a projetar códigos melhores.
Além do conhecimento adquirido, o aprendizado de C se justifica
por si só. A linguagem C é ubíqua, estando presente em todas as plataformas
computacionais, desde supercomputadores a processadores ARM embutidos. Por
isso, escrever um código padrão C é escrever um código portátil; além disso,
ganhamos em versatilidade, pois programamos desde sistemas embarcados em
hardware simples a sistemas computacionais complexos. A linguagem C nos permite
fazer diferentes aplicações, escritas em diferentes linguagens, interoperarem
entre si. A grande maioria das linguagens de programação proveem suporte a
programação de interfaces em C. A linguagem C é a “língua franca” de
programação de computadores² ³.
Eu ainda avalio que é melhor aprender a linguagem C antes de
aprender C++ (ou mesmo Java). Sei que muitos discordam, e acham que C++ deve
ser aprendido independente de C, argumentando que C é um subconjunto de C++.
Por isso mesmo, acho que vale a pena aprender C antes. Todo o conhecimento
adquirido será importante para entender C++, e o conhecimento menos abstrato de
C ajudará na codificação de programas eficientes em C++, pois conseguiremos
avaliar melhor o custo computacional associados às operações. Programar com
desenvoltura em C ou C++ é para profissionais, e ainda existe uma grande
carência de bons programadores profissionais nas áreas técnico científicas.
*Waldemar Celes é autor de Introdução a Estrutura de Dados
(Elsevier).
[1] Waldemar Celes, Renato Cerqueira, José Lucas Rangel,
Introdução a Estruturas de Dados – com técnicas de programação em C, 2a. Edição, Ed. Elsevier, 2016.
[2] Alex Allain, “Why Should You
Learn C?”, Cprograming.com – Your resource for C and C++, 2011. www.cprogramming.com/whyc.html
[3] Joel Spolsky, “Advice for
Computer Science College Students”, Joel on Software, Janeiro 2005. www.joelonsoftware.com/articles/CollegeAdvice.html
Fonte
(http://computerworld.com.br/importancia-e-vantagens-de-saber-programar-em-linguagem-c)