segunda-feira, 5 de novembro de 2012

Tutorial C - Parte 01 - Historia e características da linguagem de programação C

O desenvolvimento inicial de C ocorreu no AT&T Bell Labs entre 1969 e 1973. Não se sabe se o nome "C" foi dado à linguagem porque muitas de suas características derivaram da linguagem B e C é a letra conseguinte no alfabeto, ou porque "C" é a segunda letra do nome da linguagem BCPL, da qual derivou-se a linguagem B.

C foi originalmente desenvolvido para a implementação do sistema Unix (originalmente escrito em PDP-7 Assembly, por Dennis Ritchie e Ken Thompson). Em 1973, com a adição do tipo struct, C tornou-se poderoso o bastante para a maioria das partes do núcleo do Unix, serem reescritas em C. Este foi um dos primeiros sistemas que foram implementados em uma linguagem que não o Assembly, sendo exemplos anteriores os sistemas: Multics (escrito em PL/I) e TRIPOS (escrito em BCPL). Segundo Ritchie, o período mais criativo ocorreu em 1972.

FIGURA 1 – Ken Thompson e Dennis Ritchie (da esquerda para direita), os criadores das linguagens B e C, respectivamente.
C é uma das linguagens de programação mais populares e existem poucas arquiteturas para as quais não existem compiladores para C. C tem influenciado muitas outras linguagens de programação. mais notavelmente C++, que originalmente começou como uma extensão para C.

Visão geral

C é uma linguagem imperativa e procedural, para implementação de sistemas. Seus pontos de design foram para ele ser compilado, fornecendo acesso de baixo nível à memória e baixos requerimentos do hardware. Também foi desenvolvido para ser uma linguagem de alto nível, para maior reaproveitamento do código. C foi útil para muitas aplicações que foram codificadas originalmente em Assembly.

Essa propriedade não foi acidental; a linguagem C foi criada com o objetivo principal em mente: facilitar a criação de programas extensos com menos erros, recorrendo ao paradigma da programação procedural, mas sobrecarregando menos o autor do compilador, cujo trabalho complica-se ao ter de realizar as características complexas da linguagem. Para este fim, a linguagem C possui as seguintes características:

§        Uma linguagem extremamente simples, com funcionalidades não-essenciais, tais como funções matemáticas ou manuseamento de ficheiros (arquivos), fornecida por um conjunto de bibliotecas de rotinas padronizada

§        A focalização no paradigma de programação procedural

§        Um sistema de tipos simples que evita várias operações que não fazem sentido

§        Uso de uma linguagem de pré-processamento, o pré-processador de C, para tarefas tais como a definição de macros e a inclusão de múltiplos ficheiros de código fonte

§         Ponteiros dão maior flexibilidade à linguagem

§        Acesso de baixo-nível, através de inclusões de código Assembly no meio do programa C

§         Parâmetros que são sempre passados por valor para as funções e nunca por referência (É possível simular a passagem por referência com o uso de ponteiros)

§        Definição do alcance lexical de variáveis

§   Estruturas de variáveis, (structs), que permitem que dados relacionados sejam combinados e manipulados como um todo


Algumas características úteis, que faltam em C, podem ser encontradas em outras linguagens, que incluem:

§  Segurança de tipo
§  Coletor de lixo (mais comum em linguagens interpretadas)
§  Vetores que crescem automaticamente
§  Classes ou objetos com comportamento (ver Orientação a objetos)
§  Closures
§  Funções aninhadas
§  Sobrecarga de operadores
§  Meta-programação
§  Apoio nativo de multithreading e comunicação por rede

Apesar da lista de características úteis que C possui não ser longa, isso não tem sido um impedimento à sua aceitação, pois isso permite que novos compiladores de C sejam escritos rapidamente para novas plataformas, e também permite que o programador permaneça sempre em controle do que o programa está a fazer. Isto é o que por várias vezes permite o código de C correr de uma forma mais eficiente que muitas outras linguagens. Tipicamente, só código de Assembly "afinado à mão" é que corre mais rapidamente, pois possui um controle completo da máquina, mas avanços na área de compiladores juntamente com uma nova complexidade nos processadores modernos permitiram que a diferença tenha sido rapidamente eliminada. Uma consequência da aceitação geral da linguagem C é que frequentemente os compiladores, bibliotecas e até intérpretes de outras linguagens de nível maior sejam eles próprios implementados em C.

C tem como ponto forte, a sua eficiência, e é a linguagem de programação preferida para o desenvolvimento de sistemas e softwares de base, apesar de também ser usada para desenvolver programas de computador. É também muito usada no ensino de ciência da computação, mesmo não tendo sido projetada para estudantes e apresentando algumas dificuldades no seu uso. Outra característica importante de C, é sua proximidade do código de máquina, que permite que um projetista seja capaz de fazer algumas previsões de como o software irá se comportar, ao ser executado.

C tem como ponto fraco, a falta de proteção que dá ao programador. Praticamente tudo que se expressa em um programa em C, pode ser executado, como por exemplo, pedir o vigésimo membro de um vetor com apenas dez membros. Os resultados são muitas vezes totalmente inesperados, e os erros, difíceis de encontrar.


Linha do tempo da linguagem C:
  • 1972 – Criação do C;
  • 1978 – Livro “The C Programming Language” é publicado, sendo a primeira especificação da linguagem;
  • 1989 – Padronização do C89  (conhecido como C ANSI ou Padrão C);
  • 1990 – C ANSI adotado pela ISO, conhecido como C90;
  • 1999 – Estabelecido padrão C99 (porém não implementado em muitos compiladores);
  • 2007 – Trabalho no novo padrão C, padrão C1X anunciado.
Onde é usada a linguagem C?

A linguagem C por ser muito versátil e possuir compiladores em diversas plataformas tem seu uso em:
  • Sistemas operacionais, como o Linux;
  • Microcontroladores de automóveis, aviões, leitores de cartão de crédito, entre outros.
  • Processadores DSP de audio digital, sistemas de TV entre outros.

IDE

IDEs (Integrated Development Environment ou Ambiente Integrado de Desenvolvimento) são aplicativos muito úteis pois agregam em si editores, compiladores e depuradores, trazendo mais rapidez e organização ao desenvolvimento, principalmente em programas com tendência no aumento da quantidade de linhas de código. Para programar em linguagem C existe algumas IDEs disponíveis:
  • Dev-C++
  • Eclipse (CDT);
  • Microsoft Visual C++ (Express Edition);
  • KDevelop;
  • Xcode;
  • Anjuta.
FIGURA 2 – Interface do Dev-C++ versão 4.9.92.
Também é possível programar em linguagem C através de qualquer editor de texto e compilar de forma manual, como por exemplo usando GCC (GNU Compiler Collection). Com o GCC já instalado no seu sistema, é muito simples usá-lo para compilar programas em C, se o programa consistir de um único arquivo, você pode executar este comando no terminal:

$ gcc programa.c -o programa

Seja o primeiro a comentar

Postar um comentário

Ouvir a Rádio Boa Vista FM 96,5 de Paracatu Ao Vivo e Online

Ouvir a Rádio Boa Vista FM 96,5 de Paracatu Ao Vivo e Online
Cidade: Paracatu/MG - Gênero: Popular

Chuck Norris Aprova Tecnosolution!


NOTÍCIAS TI

Ajude a divulgar nosso blog!


Total de visualizações de página

Usuários Online

Usuários online

  ©TECNOSOLUTION - Todos os direitos reservados.

Template by Dicas Blogger | Topo