Sobre C Linguagem de Programação C
As Origens de C Ken Thompson e Dennis Ritchie (da esquerda pra direita), os criadores das linguagens B e C, respec4vamente: 2
As origens de C Nas palavras de D. Ritchie: C é ardilosa, imperfeita e um enorme sucesso. Enquanto que acidentes de história seguramente ajudaram, ela evidentemente satisfez uma necessidade por uma linguagem de implementação de sistema eficiente o bastante para descartar a linguagem assembler, contudo suficientemente abstrata e fluente para descrever algoritmos e interações em uma larga variedade de ambientes. 3
Linha do Tempo Ken Thompson criou a linguagem B em 1969-1970; ela foi derivada diretamente da BCPL de Martin Richards. Dennis Ritchie transformou a B em C durante 1971-1973, mantendo a maioria da sintaxe da B enquanto adicionava tipos e muitas outras mudanças, e escreveu o primeiro compilador para a linguagem. Ritchie, Alan Snyder, Steven C. Johnson, Michael Lesk e Thompson contribuíram com idéias para a linguagem durante 1972-1977, sendo que o compilador portável de Johnson permanece amplamente usado. Durante este período, a coleção de rotinas cresceu consideravelmente, graças a aquelas pessoas e muitas outras no Bell Laboratories. 4
Linha do Tempo Em 1978, Brian Kernighan e Ritchie escreveram o livro que se tornou a definição da linguagem por vários anos. Começando em 1983, o comitê ANSI X3J11 padronizou a linguagem. Especialmente notável em manter seus esforços na trilha foram seus funcionários Jim Brodie, Tom Plum, P. J. Plauger e os sucessivos redatores do projeto, Lary Rosler e Dave Prosser. 5
Evolução 6
Porque aprender C? Portabilidade Próxima a linguagem de máquina Código legado Popularidade 7
C - Características Nível Médio Estruturada Para programadores Programação de sistemas 8
Linguagem de Nível Médio 9
Linguagem Estruturada C é normalmente referenciada como linguagem estruturada C não permite que blocos ou funções sejam definidos dentro de outras funções O termo linguagem estruturada em bloco não é aplicável a C Não Estruturada FORTRAN Basic Cobol Estruturadas Pascal Ada C++ / C Modula- 2 10
Linguagem para Programadores C foi criada, influenciada e testada em campo por programadores profissionais Para o programador: Poucas restrições Poucas reclamações Estrutura de bloco Funções Isoladas Conjunto compacto de palavras-chave Eficiência aproximada de assembly Estrutura de ALGOL ou Modula-2 11
Linguagem para Programação de Sistemas Inicialmente C era somente usada na programação de componentes de Sistemas Operacionais Interpretadores Editores Compiladores Gerenciamento de BD O próprio SO 12
Estrutura Geral de um Programa em C 13
Funções Todo programa em C consiste em uma ou mais funções A única função que todo programa C deve conter é a função main() Função a ser chamada quando a execução começa 14
Funções 15
Exemplo 16
Edição, compilação e Link Edição Compilar um programa em C consiste neste três passos: Criar o programa Compilar o programa Linkeditar o programa com as funções necessárias da biblioteca 17
Edição, compilação e Link Edição 18
Conceitos Código-fonte: o texto de um programa que um usuário pode ler, normalmente interpretado como o programa. Entrada do compilador Código-objeto: tradução do código-fonte de um programa em código de máquina que o computador pode ler e executar diretamente. Entrada para o linkeditor Linkeditor: um programa que une funções compiladas separadamente em um programa. A saída é um programa executável 19
Conceitos Biblioteca: arquivo contendo as funções padrão que seu programa pode usar Tempo de compilação: eventos que ocorrem enquanto seu programa está sendo compilado. Ex. erro de sintaxe Tempo de execução: os eventos que ocorrem enquanto o seu programa é executado 20
C versus C++ C++ é uma versão estendida e melhorada de C Projetada para suportar programação orientada a objetos Porém não impõe paradigma 21
Leitura Recomendada C Completo e Total capítulo 1 D. Ritche, O Desenvolvimento da Linguagem C*. Histórico das Linguagens de Programação Wikipedia: Ling. C 22
Referências 1. D. M. Ritchie; O Desenvolvimento da Linguagem C 2. hmp://www.caloni.com.br/blog/archives/historia- da- linguagem- c- parte- 1 3. hmp://www.caloni.com.br/blog/archives/historia- da- linguagem- c- parte- 2 4. History of programming languages 5. Computer Languages History 6. Jones, Derek M. (2008) " The New C Standard: An Economic and Cultural Commentary." hmp://en.wikipedia.org/wiki/ansi_c 23