Logotipo IT Forum
IT Forum Instituto Itaqui Distrito Itaqui IT Invest
IT Forum - A Comunidade de Tecnologia se Encontra Aqui
  • Todas as notícias
  • Negócios
  • Liderança
  • CIO
  • Carreira
  • IA
  • Cibersegurança
  • Plataformas
  • ESG
  • Vídeos
  • Nossas colunas
  • Colunistas
  • Pesquisas
  • Prêmios
Revistas
  • IT Forum Líderes
  • Series
  • Histórias da TI
  • Ver todos
  • Todos os eventos
  • IT Forum Trancoso
  • IT Forum Forte
  • IT Forum Mata
  • Sobre o HIT
  • Todos os materiais
Todas as notícias Negócios Liderança CIO Carreira IA Cibersegurança Plataformas ESG Vídeos
Nossas colunas Colunistas
Pesquisas Prêmios
Revistas
Todos os videocasts E agora, TI? Entre Tech IT Forum Líderes Series
Todos os eventos Trancoso
Todos os materiais Todos os materiais
  1. Home
  2. Notícias
  3. Computerworld Brasil
  4. A importância e as vantagens de saber programar em linguagem C
Programação

A importância e as vantagens de saber programar em linguagem C

Linguagem opera próximo ao hardware. Isto gera uma dificuldade extra para seu aprendizado, mas dá um bom conhecimento de como o computador funciona

Publicado:
12/05/2016 às 07:00
Leitura
5 minutos
c_linguagem_teclado.jpg

É 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

Seta para cima
Mais lidas
Notícias

SEIAS moderniza gestão com Sonda Ativas

8 anos atrás

1
Gestão

Embratel é integrada ao grupo Claro empresas e anuncia reestruturação

12 meses atrás

2
Notícias

Gestão de riscos atrai profissionais que buscam qualificação

9 anos atrás

3
Carreira

Coursera: mulheres são apenas 32% dos matriculados em cursos de IA generativa

1 ano atrás

4
CIO

Como usar dados de forma inteligente em iniciativas de open data

4 anos atrás

5
Logo IT Forum
Newsletter
As melhores notícias de tecnologia B2B em primeira mão
Acompanhe todas as novidades diretamente na sua caixa de entrada.
Instagram Linkedin Facebook Tiktok Youtube
1 / 1
Programação

Nenhum autor cadastrado para este post.

Notícias relacionadas
Ver mais Seta para direita
Notícias relacionadas
Ver mais Seta para direita
Capital cognitivo híbrido, o próximo capital das organizações
Gestão
Capital cognitivo híbrido, o próximo capital das organizações

Heriton Duarte

1 mês atrás

Dilema da IA está entre escalar produtividade e preservar confiança
Inteligência Artificial
Dilema da IA está entre escalar produtividade e preservar confiança

Déborah Oliveira

1 mês atrás

“O varejo não compete mais por canal, mas por capacidade de movimentar produtos”, diz CIO da Motz
Inteligência Artificial
“O varejo não compete mais por canal, mas por capacidade de movimentar produtos”, diz CIO da Motz

Pamela Sousa

1 mês atrás

Xerox anuncia nova estrutura global para o mercado da Print
Negócios
Xerox anuncia nova estrutura global para o mercado da Print

Redação

1 mês atrás

Conectando a tecnologia e o futuro dos negócios

Insights e inovações para líderes no IT Forum.

Conteúdos

  • Notícias
  • Colunas
  • Pesquisas
  • Series
  • Revistas
  • Videocasts
  • Eventos

Notícias

  • Todas as notícias
  • Negócios
  • Liderança
  • CIO
  • Carreira
  • Inteligência Artificial
  • Cibersegurança
  • Plataformas
  • Sustentabilidade
  • Vídeos

IT Forum

  • Sobre nós
  • Envie seu Release
  • Mídia Kit
  • Contato
  • Expediente
  • Cultura
  • Distrito Itaqui
  • Anuncie
  • Notícias
  • Colunas
  • Pesquisas
  • Series
  • Revistas
  • Videocasts
  • Eventos
  • Todas as notícias
  • Negócios
  • Liderança
  • CIO
  • Carreira
  • Inteligência Artificial
  • Cibersegurança
  • Plataformas
  • Sustentabilidade
  • Vídeos
  • Sobre nós
  • Envie seu Release
  • Mídia Kit
  • Contato
  • Expediente
  • Cultura
  • Distrito Itaqui
  • Anuncie

Logo do IT Forum
Estr. Dr. Yojiro Takaoka, 4601 - Ingahi, Itapevi - SP, 06696-050
Icone Instagram Icone Linkedin Icone Facebook Icone TikTok Icone YouTube
  • Link Política de privacidade
  • Link Fale conosco
  • Link Termos de uso
  • Link Trabalhe conosco
Copyright © 2026 IT FORUM - Todos os Direitos Reservados