O que é a linguagem C

Publicado por Daniel Gurgel Pinheiro em 24/10/2006

[ Hits: 28.936 ]

 


O que é a linguagem C



Após analisar diversas literaturas distribuídas na rede mundial de computadores e de participar de alguns cursos relacionados à linguagem de programação C/C++, resolvi escrever esse artigo para tentar a classificar a linguagem C/C++ como uma linguagem de nível intermediário.

Histórico da linguagem C/C++


A linguagem C foi criada por Dennis Ritchie, em 1972, no centro de Pesquisas da Bell Laboratories. Sua primeira utilização importante foi a reescrita do Sistema Operacional UNIX, que até então era escrito em assembly.

Em meados de 1970 o UNIX saiu do laboratório para ser liberado para as universidades. Foi o suficiente para que o sucesso da linguagem atingisse proporções tais que, por volta de 1980, já existiam várias versões de compiladores C oferecidas por várias empresas, não sendo mais restritas apenas ao ambiente UNIX, porém compatíveis com vários outros sistemas operacionais.

O que é linguagem de baixo e alto nível


Linguagem de baixo nível é o código que o computador executa diretamente. É composta de 0´s e 1´s e conhecida como linguagem binária.

Uma segunda classificação, também muito utilizada, é a que se relaciona com o nível de abstração que o usuário utiliza para escrever programas na linguagem. Baseando-nos neste critério as linguagens podem ser procedimentais ou não-procedimentais.

Linguagem de alto nível é uma linguagem que se aproxima mais da linguagem utilizada pelo ser humano. Exemplos típicos são Pascal, COBOL, C e SQL.

É importante lembrar que o Delphi e o Visual Basic são ambientes de programação e não linguagens no sentido estrito da definição. O Delphi tem por linguagem base um extensão do Pascal chamada Pascal Orientado a Objetos ou Object-Pascal e o Visual Basic tem por base uma linguagem que é um extensão do Basic de nome Visual Basic.

Afinal, o que é C/C++?


Segundo Herbert Schildt (2004 / p-04), C é freqüentemente chamada de linguagem de médio nível porque combina elementos de linguagem de alto nível com a funcionalidade da linguagem assembly.

Como uma linguagem de nível médio, C permite a manipulação de bits, bytes e endereços - os elementos básicos com os quais o computador funciona. Um código escrito em C é muito portável. Portabilidade significa que é possível adaptar um software escrito para um tipo de computador para outro. Por exemplo, você pode facilmente converter um programa escrito em DOS de tal forma a executar sob Windows, então esse programa é portável.

Já Dennis M. Ritchie (1986/ p-03) considera a sua língua como uma linguagem de relativo "baixo nível".

Conclusão


Diante do exposto e das considerações de grandes estudiosos como Herbert Schildt do criador Dennis M. Ritchie dessa linguagem de programação, que na minha humilde opinião pode ser chamada de a linguagem de programação, devemos ter cuidados em classificá-la. Assim C/C++ é uma linguagem de nível médio.

Bibliografia


Schildt, Herbert - C: the complete reference - 2004 - 3ªED - 2004 - Person;

Brian W. Kernighan, Dennis M. Ritchie - C a linguagem de programação - 1986 - editora campus.

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Conheça as novidades do Gnome 3.20

Instalação do Pidgin 2.0.2 no Slackware (parte 2)

Criptografando Shell Script

Criando uma ISO do openBSD 4.1

Porteus Linux

  

Comentários
[1] Comentário enviado por flipe em 24/10/2006 - 14:35h

uma curiosidade minha, em que linguagem o C e o C++ são escritos?

valeu.

[2] Comentário enviado por joukim em 24/10/2006 - 14:48h

Em processadores de texto, flipe.

Calma, não estou zoando não. Estou esclarecendo. Por linguagem, entende-se sua descrição, a forma como funciona. Nesse caso, C e C++ são descritos em normas ISO que os padronizaram. Além disso tem os textos dos criadores dessas linguagens. Ou seja, qualquer linguagem é escrita usando um sistema de processamento de textos, seja lá qual for ele.

A sua pergunta na verdade deveria ser: "em qual linguagem os compiladores das linguagens C e C++ são escritos?".

Nesse caso, depende de qual compilador! Tem vários, e a grande maioria dos compiladores (inclusive de outras linguagens) é feito diretamente em C. Para isso, utilizam ferramentas auxiliares, como Lex, YACC e Bison. Uma certa parte é feita em C++. Não conheço nenhum compilador que seja feito inteiramente em linguagem de montagem (Assembly).

[3] Comentário enviado por poleto em 24/10/2006 - 18:57h

dgpinheiro,

Só uma observação. C é uma linguagem e C++ é outra. C é uma linguagem estruturada, enquando C++ é uma linguagem orientada a objetos. C++ foi desenvolvida por Bjarne Stroustrup em 1983. Apesar de a maioria dos compiladores C compilarem tanto C como C++, associar as duas como sendo uma coisa só é errado.

[]'s
Poleto

[4] Comentário enviado por dgpinheiro em 26/10/2006 - 17:47h

Poleto,

Cara!! Obrigado, concordo com vc, esta é uma dúvida muito freqüente e encontramos em vários livros C/C++. O seu comentário meu deu motivação para outra dica.

Valeu!!!

[5] Comentário enviado por mrclag em 08/04/2007 - 16:00h

Desconheço o livro C: the complete reference - 2004 - 3ªED - 2004 - Person da bibliografia. Provavel data errada:

C: the complete reference - 3ªED - 1995 Original Ingles
C: the complete reference - 3ªED - 1996
Tradução Portugues C Completo e Total
C: the complete reference - 4ªED - 2000 Original Ingles
ainda nao traduzido
--------------------------------------------------------------
O atual Assembler FASM é totalmente desenvolvido em Assembly, tanto que vc pode alterar algo no fonte e compilar com ele mesmo. Facilimo de aprender, sem aquele monte de besteiras do MASM.
--------------------------------------------------------------
C++ é uma linguagem com mais robustez e direcionada´à Orientação a Objetos. Discordo que seja outra linguagem à parte de C.
C++ é um conjunto de C com mais opções e mais poderosa.

Outra linguagem seria por exemplo o Pascal. O que acontece se pegarmos um pedaço de codigo pascal e tentarmos compilar em C ou C++? Nao funciona ..... O que acontece se pegarmos um pedaço de codigo C/C++ e tentarmos compilar em pascal? Nao funciona...
O que acontece se tentarmos compilar qualquer coisa de C com compilador C++? FUNCIONA !!!!!!! Entao C e C++ não sao duas linguagens, apenas alguma delas tem algo a mais do que a outra.

Claro que essa é a minha opinião.
Marcelo/Curitiba
slave0145@bol.com.br

[6] Comentário enviado por Pedro Rafael em 20/05/2008 - 22:36h

C não é linguagem de alto nível não cara. Ela é de médio nível. Alto nível é por exemplo o python.....

fui..



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts