• Nenhum resultado encontrado

Breve Histórico da Linguagem C

No documento Programação 1 Linguagem C (UFRPE) (páginas 153-158)

Construa algoritmos em linguagem algorítmica para resolver os

Unidade 10 – Desenvolvimento de Projeto (7 horas e meia)

4.1 Unidade 6 – Noções Básicas da Linguagem C

4.1.1 Breve Histórico da Linguagem C

Por que esse nome C? De onde veio a linguagem C? Como ela surgiu? Quem a criou? Antes de lhe apresentar a linguagem, vamos responder a essas perguntas.

A origem do nome da linguagem C é muito simples. É a linguagem que sucede a linguagem B. Por sua vez, a linguagem B teve seu nome retirado da inicial do local onde ela foi desenvolvida: Laboratórios Bell.

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. Foi inicialmente publicada no livro “The C Programming Language” (tido como “a bíblia” da linguagem C), por B.W. Kernighan & D.M. Ritchie

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 (tais como o windows, DOS, etc).

Em 1983, a ANSI (American National Standards Institute) fundou uma comissão para definir uma versão padronizada para a linguagem C. Esta versão chamou-se ANSI C. Desta forma, simplesmente compilando o código fonte em qualquer sistema, um programa escrito em ANSI C funciona em praticamente qualquer computador. E todos os ambientes de programação em C entendem o ANSI C (sendo que alguns deles tem mais bibliotecas e funções além dessa parte padronizada, que é específica do ambiente/implementação).

É justamente a estrutura do ANSI C, o C padronizado pela ANSI, o foco principal do estudo deste fascículo.

4.1.2 A Linguagem C

A linguagem C é uma linguagem de programação genérica, ou seja, ela serve para o desenvolvimento de programas em áreas diversas, como comercial, científica e de engenharia. Foi desenvolvida por programadores para programadores tendo como meta características de flexibilidade e portabilidade (o ANSI C). Algumas características da linguagem C são:

• C é uma linguagem compilada: lê todo o código fonte e gera o código objeto (ling. de máquina).

• C é “case senitive”, ou seja, ele faz distinção entre maiúsculas e minúsculas. Dessa forma as palavras ANA, ana, Ana e AnA são consideradas diferentes pelo C.

• O C é Portável (se for usado apenas o padrão ANSI)

• Gera código compacto e rápido, sendo indicado para construção de compiladores, editores de texto, bancos de dados, softwares de comunicação, drivers, sistemas operacionais, etc.

ser considerada como uma linguagem de médio nível. Isso porque ela possui instruções que a tornam ora uma linguagem de alto nível e estruturada como o Pascal, se assim se fizer necessário, ora uma linguagem de baixo nível, pois ela possui instruções tão próximas da máquina, como as que só o Assembler possui. De fato com a linguagem C podemos construir programas organizados e concisos (como o Pascal), ocupando pouco espaço de memória e com alta velocidade de execução (como o Assembler). Infelizmente, dada toda a flexibilidade da linguagem, também poderemos escrever programas desorganizados e difíceis de serem compreendidos, por isso, precisamos ter cuidado na implementação dos nossos programas na linguagem C!

A linguagem C pode gerar programa executáveis. A Figura 1 ilustra o processo de geração do código executável final (código que pode ser executado pelo sistema operacional). Nesta figura, no primeiro passo o pré-processador realiza funções como: o processamento de macros e a inclusão de arquivos (referências a arquivos são substituídas pelo próprio arquivo), preparando o código fonte para ser compilado. Depois, o compilador analisa o código fonte e o converte para o código- objeto (linguagem de máquina). Por fim, na última etapa, o ligador (ou linkeditor) junta o código-objeto com as bibliotecas necessárias para execução do mesmo, a fim de gerar o programa executável.

Figura 1 - Geração de Executável

(padrão Linux), TcLite, KDevelop, Anjuta, Eclipse CDT, Code::Blocks, BabyDevelop, Dev C++, entre outros. Entre esses escolhemos o Dev C++ para utilizar nesta disciplina. Por que? Bem, vamos explicar.

Primeiro motivo, o Dev-C++ foi desenvolvido por Colin Laplace, Mike Berg e Hongli Lai e é um software livre sob a GNU General Public License. Isto significa, entre outras coisas, que ele pode ser distribuído e copiado à vontade, gratuitamente.

Segundo, para facilitar o desenvolvimento e compilação de um programa em C, o Dev-C++ (vide Figura 2) oferece um ambiente que integra um editor de textos a um compilador para linguagem C, além de ter ferramentas e facilidades para “debugar” um programa, ou seja, procurar pelos erros existentes no mesmo. Além disso, ele usa cores diferentes para destacar comandos, comentários, textos e palavras reservadas, tem a capacidade de editar múltiplos arquivos e, nele, é possível trabalhar com programas-fontes isolados ou usando a noção de arquivos de um projeto.

Terceiro, o Dev-C++ permite criar programas para console ou interface gráfica e , também, criar bibliotecas estáticas ou dinâmicas.

Quarto, o compilador usado pelo Dev-C++ é um dos mais antigos e mais utilizados compiladores C do mundo: o gcc (Gnu C Compiler).

E quinto e último motivo: o Dev-C++ é fácil de instalar, pequeno para baixar e tem uma versão em português.

O Dev-C++ possui versão para windows e linux. Porém, curiosamente, a versão para linux está sendo vendida e a para windows é gratuita.

Figura 2- Interface do Dev-C++

VNVVExplicados os motivos da escolha, onde você pode baixar o Dev-C++? Além dos vários links que podem ser achados usando uma ferramenta de busca, os sites oficiais e mais confiáveis são: http:// bloodshed.net/devcpp.html e http://sourceforge.net/projects/dev-cpp/

Para instruções sobre como instalar o Dev-C++ (que não é nada complicado), você pode consultar o “Introdução ao DevC++” que está disponível no ambiente Moodle da disciplina, como material complementar. Você também vai encontrar um guia de instalação no link: http://www.inf.pucrs.br/~flash/cbp/instala_devc/

Apesar da versão do Dev-C++ para linux ser vendida e ainda não estar tão estável, os usuários linux tem uma ampla variedade de ambientes que podem ser utilizados, tais como o KDevelop (que dá suporte ao desenvolvimento em diversas linguagens e não apenas o C e o C++ e está disponível em: http://www.kdevelop.org), o Anjuta (disponível em: http://www.anjuta.org) e o codeblock (http:// www.sci.brooklyn.cuny.edu/~goetz/codeblocks/). Os dois primeiros são exclusivamente para linux e o último possui instaladores para diversas versões do windows, do linux e do macintosh.

Como serão os nossos programas? Bem, no Windows, há basicamente dois tipos de programas de usuário:

Prompt do MS-DOS), fornecida, muitas vezes, pelo próprio ambiente de desenvolvimento e

• Aplicações Gráficas (GUI Applications), que usam janelas, menus e outros elementos visuais como partes de sua interface com o programador.

Nesta disciplina, todos os programas em C que faremos serão aplicações para o console (vide exemplo na Figura 3).

Figura 3 - Exemplo de Execução de Aplicação para Console

No documento Programação 1 Linguagem C (UFRPE) (páginas 153-158)