Buscar

2417_C ou C++

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 14 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Evolução da 
Linguagem C 
 
 
 
 
 
 
 
2 
 
 
pri_tayane@hotmail.com 
CENTRO UNIVERSITÁRIO UNA 
UNATEC 
CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE 
SISTEMAS 
1º PERÍODO 
 
 
 
 
 
 
A EVOLUÇÃO DA LINGUAGEM C 
 
 
 
 
GRUPO: 
1. Eduardo Henrique de Faria 
2. Gabriel Sperancini 
3. Helbert Marques 
4. Igor Antonini Macedo 
5. Leandro Teles 
6. Priscilla Tayane Pinto 
7. Regina Célia Silva das Dores 
 
 
 
 
Belo Horizonte – MG 
Abril/2007 
 
3 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
CENTRO UNIVERSITÁRIO UNA 
UNATEC 
CURSO DE ANÁLISE E DESENVOLVIMENTO DE SISTEMAS 
1º PERÍODO 
 
 
 
 
 
A EVOLUÇÃO DA LINGUAGEM C 
 
 
 
Trabalho Interdisciplinar apresentado à Disciplina Projeto 
Tecnológico do 1º período do Curso Superior de Tecnologia 
em Análise e Desenvolvimento de Sistemas - Turma A 
Orientador: Profª. Cláudia Tavares 
 
 
GRUPO: 
01. Eduardo Henrique de Faria 
02. Gabriel Sperancini 
03. Helbert Marques 
04. Igor Antonini Macedo 
05. Leandro Teles 
06. Priscilla Tayane Pinto 
07. Regina Célia Silva das Dores 
 
 
Belo Horizonte – MG 
Abril/2007 
 
 
 
4 
 
SUMÁRIO 
 
1. DESCRIÇÃO DO PROBLEMA ...................................................................................................................... 5 
2. OBJETIVOS ...................................................................................................................................................... 5 
2.1 GERAL : ......................................................................................................................................................... 5 
2.1.1 Específicos:........................................................................................................................................ 5 
3. FUNDAMENTAÇÃO TEORICA.................................................................................................................... 6 
4. METODOLOGIA ..............................................................................................................................7 
4.1 INFLUÊNCIA DA LINGUAGEM C SOBRE OUTRAS ............................................................................. 8 
4.1.1 Influência sobre a Linguagem JAVA ................................................................................................. 9 
4.1.2 Influência sobre a Linguagem PHP................................................................................................. 10 
4.1.3 Comparação entre as três linguagens:............................................................................................ 12 
5. CONCLUSÃO ................................................................................................................................................. 13 
6. BIBLIOGRAFIA ............................................................................................................................................. 13 
 
 
 
 
 
 
 
 
 
5 
 
1. DESCRIÇÃO DO PROBLEMA 
 
Atualmente, a linguagem C vem sendo usada para desenvolver novas linguagens, entre 
elas a linguagem C++ e Java. 
O C é uma linguagem estruturalmente simples e de grande portabilidade. O 
compilador C gera códigos mais enxutos e velozes do que muitas outras linguagens. 
Embora estruturalmente simples (poucas funções intrínsecas), o C não perde 
funcionalidades, pois permite a inclusão de uma farta quantidade de rotinas do usuário. Os 
fabricantes de compiladores fornecem uma ampla variedade de rotinas pré-compiladas em 
biblioteca. 
O C compartilha recursos tanto de alto quanto de baixo nível, pois permite acesso e 
programação direta do microprocessador. Com isto, rotins cuja dependência do tempo é 
critica, podem ser facilmente implementadas usando instruções em Assembly. Por esta razão, 
o C é a linguagem preferida dos programadores de aplicativos. 
Por esse motivo, o grupo tem como problema de pesquisa: Como surgiu e quais as 
inovações da linguagem de programação C, como evoluiu e qual seu legado para os nossos 
dias? 
2. OBJETIVOS 
 
2.1 Geral: 
 
 Analisar a evolução da linguagem C, desde o objetivo da sua criação e utilização da 
mesma em vários aplicativos, encontrando sua influência sobre linguagens e aplicações 
modernas. 
2.1.1 Específicos: 
 
• Explicar a necessidade da criação da linguagem C, identificando suas 
inovações, fazendo um comparativo das vantagens e desvantagens anunciadas 
pelo usuário ao longo de sua evolução. 
 
6 
 
• Mostrar a aplicabilidade da linguagem C nas novas linguagens de programação 
e o motivo de sua ampla aceitação, tanto na área tecnológica quanto na área 
acadêmica. 
3. FUNDAMENTAÇÃO TEORICA 
 
A programação surgiu com o intuito de ser o meio de comunicação entre o 
programador e a máquina, conforme explica o site Wikipédia.(2007. p. XX ) : 
Uma linguagem de programação é um método padronizado para expressar 
instruções para um computador. É um conjunto de regras sintáticas e semânticas 
usadas para definir um programa de computador. Uma linguagem permite que um 
programador especifique precisamente sobre quais dados um computador vai atuar, 
como estes dados serão armazenados ou transmitidos e quais ações devem ser 
tomadas sob várias circunstâncias. 
 
Uma das principais funções das linguagens de programação é permitir que 
programadores tenham uma maior agilidade e facilidade na hora de transmitir suas instruções 
aos computadores. 
Com a evolução da tecnologia, a popularização dos computadores e o advento de 
novas necessidades, tivemos também a multiplicação das linguagens de programação onde 
cada nova linguagem tentou exercer seu papel de facilitadora de comunicação, dentro da 
função para a qual tinha sido concebida. E é diante desse panorama que voltaremos nossos 
olhos para uma linguagem especifica, a linguagem de programação C. 
Segundo o site da PUC-RS (2007), a primeira versão de C foi criada por Dennis 
Ritchie em 1972 nos laboratórios Bell para ser incluído como um dos softwares a serem 
distribuídos juntamente com o sistema operacional Unix do computador PDP-11, na equipe 
certificada por Ken Thompson. 
Do ponto de vista técnico, o surgimento do C iniciou com a linguagem ALGOL , 
definida em 1960. ALGOL era uma linguagem de alto nível, que permitia ao programador 
trabalhar "longe da máquina", sem se preocupar com os aspectos de como cada comando ou 
dado era armazenado ou processado. Foi criado para substituir o FORTRAN. ALGOL não 
 
7 
 
teve sucesso, talvez por tentar ser de muito alto nível em uma época em que a maioria dos 
sistemas operacionais exigiam do usuário um grande conhecimento de hardware. 
Em 1967 surgiu CPL (Combined Programming Language) nas universidades de 
Londres e Cambridge com o objetivo, segundo a equipe do projeto, de "trazer ALGOL à 
terra", ou "manter contato com a realidade de um computador real". Da mesma forma de 
ALGOL, CPL não foi bem aceita, em especial pelos projetistas de sistemas operacionais que a 
consideravam difícil de implementar (SOBRENOME DA FONTE, ANO). 
Ainda em 1967, em Cambridge, Martin Richards criou o BCPL (Basic CPL), uma 
simplificação do CPL, tentando manter apenas as "boas coisas do CPL". 
Em 1970, Ken Thompson, chefe da equipe que projetou o UNIX para o PDP11 do 
Bell Labs, implementou um compilador para uma versão mais reduzida do CPL. Batizou a 
linguagem de B (SOBRENOME DA FONTE, ANO). 
Tanto BCPL quanto B mostravam-se muito limitadas, prestando-se apenas para certas 
classes de problemas. Isto se fez sentir especialmente na primeira versão do PDP11, lançado 
no mercado em 1971. Um dos fatores que levou à isto foi a intenção do grupo responsável 
pelo UNIX de reescrevê-lo todo em uma linguagem de alto nível, e para isto B era 
considerado lenta. 
Estes problemas levaram a que o projetista Dennis Ritchie, do Bell Labs, fosse 
encarregado de projetar uma nova linguagem, sucessora do B, queviria então, a ser chamada 
de C (SOBRENOME DA FONTE, ANO).. 
Mas o que fez com que essa linguagem criada nos anos 70 se tornasse uma linguagem 
tão popular e fosse capaz de influenciar linguagens posteriores a ela? Dentre outras respostas 
para essa pergunta está, segundo o site da Arnaut-oficina de programação (2007) o fato de 
que, o C é uma linguagem de alto nível com uma sintaxe bastante estruturada e flexível 
tornando sua programação bastante simplificada, seus programas são compilados, gerando 
programas executáveis, a linguagem C compartilha recursos tanto de alto quanto de baixo 
nível, pois permite acesso e programação direta do microprocessador. Com isto, rotinas cuja 
dependência do tempo é crítica, podem ser facilmente implementadas usando instruções em 
Assembly. Além de ser uma linguagem estruturalmente simples e de grande portabilidade, o 
compilador C gera códigos mais enxutos e velozes do que muitas outras linguagens 
(SOBRENOME DA FONTE, ANO). 
Outra importante característica desta linguagem e o fato de se tratar de uma linguagem 
“livre” (open-source), onde seu desenvolvimento pode ser utilizado em vários sistemas 
 
8 
 
operacionais e compiladores completamente gratuitos, que a torna uma linguagem sempre 
atualizada e em desenvolvimento. Nesse sentido, 
 
Não há um “dono” desta linguagem. Há vários sistemas operacionais e compiladores 
100% gratuitos que usam o padrão C/C++ (o exemplo mais visível é o Linux). Isso 
significa na prática que essa linguagem tem inúmeros patrocinadores, famosos e 
anônimos. Isso mantém o suporte sempre muito atualizado e amplamente disponível 
na Internet. (VILLAS-BOAS, ANO p. 31). 
Finalizando, além de todos estes avanços e evoluções, também encontramos uma nova 
tecnologia para a linguagem a partir da década de 90, que incorpora a orientação a objetos, 
um dos maiores avanços para desenvolvimento: 
Orientação a Objetos é o maior avanço em software destes últimos anos. É uma 
forma mais natural de se analisar o mundo. Ela nos permite construir sistemas 
melhores e, além disso, de maneira mais fácil. Será a mais importante das 
tecnologias emergentes na área de software nos anos 90. (BERNARDI, ANO. P. 
XX). 
 
4. METODOLOGIA 
Para definirmos as técnicas usadas para embasamento do nosso projeto, fizemos uma 
avaliação da influência do C/C++ sobre as outras linguagens, no nosso caso, especificamente, 
as linguagens JAVA e PHP, assim como um quadro comparativo: 
4.1 INFLUÊNCIA DA LINGUAGEM C SOBRE OUTRAS 
 
Dentre as inúmeras características e importâncias da linguagem C/C++, se destaca a 
influência desta linguagem para desenvolvimento de outras como o, Java, PHP dentre outras, 
que não deixa de ser também uma “evolução” da linguagem. 
Escolhemos, dentre outras, essas 2 linguagens a fim de demonstrar em quais aspectos 
e como se deu essa influência da linguagem C. Antes de tudo vamos conhecer alguns 
aspectos estruturais da linguagem C/C++: 
Exemplo da linguagem C++ (trecho do código): 
 
 
9 
 
#include<ioestream.h> 
void main() 
{ 
 Int nota; 
 cout<<"Trabalho de Fundamentos da Programação\nDigite a nota do trabalho 
"; 
 cin>>nota; 
 if((nota<=10)&&(nota>=0)) 
 { 
 Cout<<”Nota Armazenada!!!”; 
 } 
 Else 
 { 
 Cout<<”Nota Invalida”; 
 } 
} 
/*Obs: Os pontos destacados são os as principais semelhanças com as outras 
linguagens que será exemplificada*/ 
Tabela 1. Trecho da linguagem C++. 
Fonte: Apostila de Introdução a Linguagem C 
4.1.1. Influência sobre a Linguagem JAVA 
 
A linguagem de programação Java basicamente constitui-se em um programa 
(interpretador) para execução da linguagem. O interpretador é chamado de máquina virtual ou 
virtual machine. Os programas em Java podem ser executados em qualquer sistema 
operacional, desde que o interpretador esteja instalado. 
Uma característica importante da linguagem é ser multiplataforma, justamente por 
causa deste interpretador e, com uma sintaxe até certo ponto parecida com o C++, porém com 
 
10 
 
bibliotecas diferentes. Quando um programa é compilado e gerado um código intermediário 
chamado de bytecode. 
Este bytecode é interpretado pelas máquinas virtuais Java (JVMs) para a maioria dos 
sistemas operacionais. A máquina virtual é a responsável por criar um ambiente 
multiplataforma, ou seja, se alguém construir um sistema operacional novo, basta criar uma 
máquina virtual Java que traduza os bytecodes para código nativo e todas as aplicações Java 
estarão rodando sem problemas. 
Como já foi dito a linguagem Java e muito versátil, podendo ser utilizada para 
construir vários tipos de aplicativos, para diferentes meios e finalidades. (Ex: web, desktop, 
servidores, mainframes, jogos, aplicações móveis, chips de identificação, etc.). 
Pequeno exemplo com a estrutura básica da linguagem onde já se apresenta muitas 
características e semelhanças com a linguagem C/C++. 
Public class Trabalho_Fundamentos_da_programacao 
{ 
 Public static void main (Sting args[]) 
 { 
 System.out.printIn(“Linguagem Java”); 
 } 
} 
/*obs: apresenta as mesmas estruturas do C++ (void main, uso de {colchetes} e ponto e 
vírgula;)*/ 
Tabela 2 . Trecho da linguagem JAVA 
Fonte: Desvendando o Java – Manual pratico para programadores 
4.1.2. Influência sobre a Linguagem PHP 
 
PHP é uma linguagem de programação de computadores interpretada, livre e muito 
utilizada para gerar conteúdo dinâmico na Web. Apesar de ser uma linguagem de fácil 
aprendizado e de uso para pequenos scripts dinâmicos simples, o PHP é uma linguagem 
poderosa orientada a objetos. 
 
11 
 
A linguagem surgiu por volta de 1994, como um subconjunto de scripts Perl criados por 
Rasmus Lerdof, com o nome PHP/FI (Personal Home Page Tools/Forms Interpreter). 
Trata-se de uma linguagem extremamente modularizada, o que a torna ideal para 
instalação e uso em servidores web. Diversos módulos são criados no repositório de extensões 
PECL (PHP Extension Community Library) e alguns destes módulos são introduzidos como 
padrão em novas versões da linguagem. 
A linguagem PHP é muito parecida, em tipos de dados, sintaxe e mesmo funções, com a 
linguagem C e com a C++. Pode ser, dependendo da configuração do servidor, embutida no 
código HTML. 
A linguagem PHP e utilizada para desenvolvimento web embora apresente variantes como 
o PHP-GTK. A linguagem é utilizada especificamente em construção de páginas dinâmicas e 
baseadas em banco de dados. 
O PHP é uma linguagem interpretada diretamente pelo servidor onde esta armazenado os 
arquivos em php. Desta forma o código e interpretado e passado para o usuário como um 
simples código html. 
Neste exemplo as características da linguagem C/C++ também estão presentes. 
<?php 
Require_once("code.php"); 
Require("code.php"); 
include("code.php"); 
echo "Linguagem PHP"; 
 
$x = 2; # Variáveis 
 
if($x == "2") 
{ 
 
12 
 
 echo "Trabalho de fundamentos de Programaçao – linguagem PHP"; 
} 
Else 
{ 
 print("Adeus mundo!"); 
} 
?> 
/*obs: apresenta estrutura muito semelhante ao c++. Include – if else – colchetes e 
pnto e virgula no final de cada comando.*/ 
Tabela 3. Trecho da linguagem PHP 
Fonte: PHP.net 
4.1.3. Comparação entre as três linguagens: 
 
 Com os exemplos de cada linguagem conseguimos ver a ampla semelhança nas 
linguagens C/C++ com Java e PHP. 
São linguagens de certa forma com aplicações “diferentes” mas que apresenta a 
mesma sintaxe e estrutura. 
Podemos perceber que essas linguagens tem em comum o uso dos seguintes itens: 
 
Linguagem: C/C++ Java PHP 
Include X X 
Colchetes X X X 
If – Else X X X 
Ponto e vírgula (;) X X X 
Orientado a objetos: X X X 
Desenvolvida no ano: 1970 1991-1995 1994 
 
13 
 
Compilada e/ou Interpretada: Compilada Comp. & Inter. Interpretada 
Tabela 4. Quadro comparativo das linguagens 
5. CONCLUSÃO 
 
 Com esse trabalho, pudemos perceber a importância da linguagem de programação C 
para a história do desenvolvimento de Software, as circunstânciasem que se deu sua criação e 
alguns aspectos de sintaxe dessa linguagem. 
Concluímos que a linguagem não só contribuiu para resolver os problemas da época 
em que foi concebida mas serve de referência até os dias de hoje, deixando um legado 
vastíssimo para linguagens posteriores a ela. 
Entendemos que a despeito de ser uma linguagem relativamente “antiga”, a linguagem 
ainda tem uma grande aceitação nos meios acadêmicos e profissionais, estando longe de ser 
uma linguagem morta e obsoleta. 
6. REFERÊNCIAS 
 
SCHILDT, Herbert. Turbo C: Guia do Usuário, São Paulo, McGraw-Hill, 1988 
SCHILDT, Herbert C Completo e Total. 3º. Ed. Pearson, 1997. 
GLACI :Apostila de Introdução a Linguagem C- Centro de Computação – UNICAMP. 
CUSTODIO, Eduardo. Apostila Linguagem de Programação II – C 
NETO, Oziel Moreira. Desvendando o Java – Manual pratico para programadores. Editora 
Digerati Books. 2004. 
STROUSTRUP, Bjarne Programação - Linguagem C 
VILLAS-BOAS, Sergio Barbosa– C/C++ e orientação a objetos em ambiente 
multiplataforma - 
 
14 
 
BERNARDI, André– Apostila Curso e Extensão – Microsoft Visual C++ - 
PcBrasil – Especial nº. 01 (CD Interativo) Editora Digerati 
Arnaut oficina de programação: <http://www.arnaut.eti.br/op/CPPAI03.htm> Acesso em 17 
Abr. 2007. 
Guia do Hardware: <http://www.guiadohardware.net> Acesso em 17 Abr. 2007. 
Java Free: < http://www.javafree.org> Acesso em 15 Abr. 2007. 
PHP.net: <http://www.php.net> Acesso em 17 Abr. 2007. 
Wikipedia: <http://pt.wikipedia.org> Acesso em 16 Abr. 2007.

Outros materiais