Skip to content

👨‍⚖️C É UMA LINGUAGEM DE PROGRAMAÇÃO.

Notifications You must be signed in to change notification settings

VILHALVA/CURSO-DE-C

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CURSO DE C

👨‍⚖️C É UMA LINGUAGEM DE PROGRAMAÇÃO.


VISÃO PANORÂMICA:

PERGUNTA RESPOSTA
DATA DE CRIAÇÃO 1970
NOME DO CRIADOR Dennis Ritchie
SIGNIFICADO DO NOME O nome "C" foi escolhido porque a linguagem evoluiu a partir de uma linguagem anterior chamada B.
É BASEADA NO B e BCPL.
EXTENÇÃO DO ARQUIVO .c
É MAIS USADA Sistemas Operacionais
  • Data de Criação: Desenvolvida nos anos 1970 (C foi criada em 1972).
  • Criador: Dennis Ritchie.
  • Significado do Nome: O nome "C" foi escolhido porque a linguagem evoluiu a partir de uma linguagem anterior chamada B, e C é a próxima letra no alfabeto.
  • Baseado em: C é uma linguagem de programação de nível médio que não é diretamente baseada em outra linguagem, mas foi influenciada por linguagens como B e BCPL.
  • Extensão de Arquivo Típica: .c (para código-fonte) e .h (para cabeçalhos).
  • Uso Mais Comum: C é amplamente utilizado em sistemas operacionais, desenvolvimento de drivers de hardware, programação de baixo nível, aplicativos incorporados, jogos e aplicativos de alto desempenho.

SUA HISTÓRIA:

  1. Origens (1969-1972):

    • C foi criada por Dennis Ritchie nos Laboratórios Bell da AT&T (hoje parte da Nokia Bell Labs) entre 1969 e 1972.
    • Ritchie inicialmente desenvolveu C como uma extensão da linguagem de programação B, que por sua vez era derivada da linguagem BCPL.
    • O objetivo de C era criar uma linguagem de programação de alto nível que permitisse escrever código portável e eficiente para sistemas operacionais e aplicativos de baixo nível.
  2. Padronização ANSI (1989):

    • Em 1983, a American National Standards Institute (ANSI) formou um comitê para padronizar a linguagem C.
    • Em 1989, o padrão ANSI C foi publicado, formalizando a sintaxe e o comportamento da linguagem.
    • A padronização tornou o C uma linguagem independente de plataforma, permitindo que os programas escritos em C fossem portados facilmente entre diferentes sistemas operacionais e arquiteturas de hardware.
  3. Popularização (1970s-1980s):

    • A partir dos anos 1970, o C se tornou amplamente adotado para o desenvolvimento de sistemas operacionais, compiladores, ferramentas de desenvolvimento e aplicativos de sistema.
    • O Unix, desenvolvido nos Laboratórios Bell, foi escrito quase inteiramente em C, o que contribuiu significativamente para a popularização da linguagem.
    • Empresas como a Microsoft e a Apple adotaram o C para o desenvolvimento de seus sistemas operacionais e aplicativos.
  4. Influência (1970s-atualmente):

    • A influência do C é vasta e profunda. Muitas linguagens de programação posteriores, como C++, Objective-C, C#, Java e Python, foram influenciadas pela sintaxe, semântica e paradigmas de programação do C.
    • O C é amplamente utilizado em sistemas embarcados, desenvolvimento de drivers de dispositivos, programação de jogos, desenvolvimento de aplicativos de baixo nível e muito mais.
  5. Evolução (1970s-atualmente):

    • O C continuou a evoluir ao longo dos anos, com a introdução de novos recursos, melhorias de desempenho e correções de bugs.
    • A versão mais recente padronizada da linguagem é conhecida como C11, publicada em 2011. Ela introduziu novos recursos, como threads e atomic operations.
  6. Legado Duradouro:

    • Mesmo com o surgimento de linguagens mais modernas e de alto nível, o C continua a ser amplamente utilizado devido à sua eficiência, portabilidade e controle próximo do hardware.
    • Sua influência na computação moderna é inegável e seu legado continua a moldar a forma como os desenvolvedores escrevem software até hoje.

CARACTERISTICAS:

POSITIVAS:

  1. Portabilidade:

    • C é altamente portável, o que significa que programas escritos em C podem ser compilados e executados em uma ampla variedade de sistemas operacionais e arquiteturas de hardware, desde sistemas embarcados até supercomputadores.
    • Isso ocorre porque a linguagem C foi projetada para ser independente de plataforma, o que a torna uma escolha ideal para desenvolver software que precisa ser executado em várias plataformas.
  2. Eficiência:

    • C é conhecida por sua eficiência e desempenho. Ela oferece um controle fino sobre o uso de recursos do sistema e permite que os programadores otimizem seus programas para obter o melhor desempenho possível.
    • Isso a torna uma escolha preferida para o desenvolvimento de sistemas operacionais, compiladores, drivers de hardware e outros software de baixo nível.
  3. Sintaxe Simples e Clara:

    • A sintaxe da linguagem C é relativamente simples e clara, o que a torna fácil de aprender e entender. A linguagem C enfatiza a clareza e a simplicidade, o que facilita a leitura e a manutenção do código.
  4. Ampla Comunidade e Suporte:

    • A linguagem C tem uma comunidade de desenvolvedores ativa e uma vasta base de conhecimento disponível na forma de bibliotecas, tutoriais e fóruns de discussão.
    • Isso significa que os programadores que trabalham com C têm acesso a uma riqueza de recursos e suporte.
  5. Recursos de Baixo Nível:

    • C fornece recursos de baixo nível que permitem que os programadores controlem diretamente a memória e os registradores do computador. Isso é essencial para desenvolver software de sistemas, como sistemas operacionais e drivers de dispositivos.
  6. Flexibilidade:

    • C é uma linguagem flexível que permite que os programadores escolham o nível de abstração mais adequado para um problema específico. Ela oferece suporte a programação procedural, estruturada e até mesmo programação orientada a objetos por meio de simulações.
  7. Ampla Utilização:

    • A linguagem C é amplamente utilizada em uma variedade de domínios, incluindo desenvolvimento de sistemas, programação de jogos, desenvolvimento de aplicativos desktop e muito mais. Sua versatilidade a torna uma escolha viável para uma ampla gama de projetos de software.
  8. Padrões de Codificação Bem Definidos:

    • Existem padrões de codificação bem definidos para C, como o padrão ANSI C e o padrão C99, que estabelecem convenções de codificação e regras de portabilidade.
  9. Linguagem de Baixo Nível com Abstração:

    • C oferece um equilíbrio entre ser uma linguagem de baixo nível, com acesso direto à memória e ao hardware, e uma linguagem de alto nível, com recursos de abstração que permitem escrever código mais legível e organizado.
  10. Ampla Disponibilidade de Compiladores:

    • Há uma ampla disponibilidade de compiladores C gratuitos e de código aberto, como GCC, que são usados em muitas plataformas.

NEGATIVAS:

  1. Ausência de Verificação de Limites (No Bound Checking):

    • C não realiza verificação de limites em arrays, o que pode levar a vulnerabilidades de segurança, como estouro de buffer (buffer overflow), se o programador não tomar cuidado ao acessar elementos de arrays.
  2. Gestão Manual de Memória:

    • C requer que os programadores gerenciem manualmente a alocação e a desalocação de memória, por meio de funções como malloc e free. Isso pode levar a vazamentos de memória e corrupção de memória se não for tratado corretamente.
  3. Falta de Recursos de Alto Nível:

    • Comparado a linguagens de alto nível, como Python ou Java, C carece de muitos recursos de alto nível, como coleta de lixo automática, estruturas de dados complexas (listas vinculadas, conjuntos, mapas) e reflexão. Programadores em C frequentemente implementam esses recursos manualmente.
  4. Sintaxe Verbosa:

    • A sintaxe de C é relativamente mais verbosa em comparação com linguagens de alto nível, o que significa que os programas em C podem ser mais extensos e demorados para escrever em comparação com outras linguagens.
  5. Fragilidade de Tipos (Type Fragility):

    • C não oferece a mesma segurança de tipos que linguagens mais modernas, o que significa que é possível realizar conversões de tipos inseguras que podem levar a erros difíceis de depurar.
  6. Falta de Recursos de Orientação a Objetos (OO):

    • C não é uma linguagem orientada a objetos por padrão, o que significa que não fornece suporte nativo para conceitos de OO, como classes e objetos. Embora seja possível simular a orientação a objetos em C, isso requer mais trabalho manual.
  7. Dependência de Bibliotecas Externas:

    • Para tarefas como manipulação de strings, entrada/saída, entre outras, C frequentemente depende de bibliotecas externas, como a biblioteca padrão C (stdlib.h, string.h). Isso pode introduzir complexidade adicional e incompatibilidade entre sistemas.
  8. Falta de Recursos de Alto Nível de Abstração:

    • C não oferece recursos de alto nível de abstração, como tratamento de exceções, concorrência de nível de thread (multithreading) integrada e facilidades para programação orientada a eventos. Esses recursos são encontrados em linguagens mais modernas.
  9. Curva de Aprendizado:

    • A programação em C pode ter uma curva de aprendizado mais íngreme para iniciantes em programação, devido à necessidade de gerenciamento de memória manual e detalhes de baixo nível.
  10. Menos Produtividade para Desenvolvimento de Alto Nível:

    • Para desenvolvimento de software de alto nível ou aplicações de nível empresarial, linguagens de programação de alto nível podem oferecer maior produtividade e eficiência devido a suas bibliotecas ricas e recursos de abstração.

SUBSIDIOS:

About

👨‍⚖️C É UMA LINGUAGEM DE PROGRAMAÇÃO.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages