Preface

Prefácio (p. 6 e 7)

O mundo da informática sofreu uma revolução desde a publicação de “The C Programming Linguagem” em 1978. Os grandes computadores são muito maiores e os computadores pessoais possuem capacidades que dominavam mainframes de uma década atrás. Durante este tempo, C também mudou, contudo modestamente, e se espalhou muito além das suas origens como da linguagem do sistema operacional UNIX.

A crescente popularidade de C, as mudanças na linguagem ao longo dos anos e a criação de compiladores por grupos não envolvidos em seu projeto, combinados para demonstrar a necessidade de uma definição precisa e mais contemporânea da linguagem do que a primeira edição deste livro forneceu. Em 1983, o American National Standards Institute (ANSI) estabeleceu um comitê cujo objetivo era produzir “uma inequívoca e independente máquina para definição da linguagem C ”, enquanto ainda mantém seu espírito. O resultado é o padrão ANSI para C.

O padrão formaliza as construções que foram sugeridas, mas não descritas na primeira edição, particularmente atribuição de estruturas e enumerações. Isso fornece uma nova forma de declaração de função que permite a verificação cruzada da definição com o seu uso. Especifica uma biblioteca padrão, com um extenso conjunto de funções para executar entrada e saída, gerenciamento de memória, manipulação de strings e tarefas semelhantes. Isso torna preciso o comportamento de recursos que não eram enunciados na definição original e, ao mesmo tempo, afirma explicitamente quais os aspectos da linguagem permanece dependente da máquina.

Na segunda edição de “The C Programming Language” descreve C conforme definido pelo padrão ANSI. Embora tenhamos observado os lugares onde a linguagem evoluiu, nós temos que escrever exclusivamente em um no novo formulário. Para a maior parte, isso não tem diferença significativa; a mudança mais visível é a nova forma de declaração e definição de função. Os compiladores modernos já suportam a maioria dos recursos do padrão.

Tentamos manter a brevidade da primeira edição. C não é uma linguagem grande, e não está bem explicado por um livro grande. Melhoramos a exposição de recursos críticos, como ponteiros, que são centrais para a programação em C. Refinamos os exemplos originais e adicionamos novos exemplos em vários capítulos. Por exemplo, o tratamento de declarações complicadas é argumentado por programas que convertem declarações em palavras e vice-versa. Como antes, todos os exemplos foram testados diretamente do editor de texto, que está em forma legível para uma máquina.

O apêndice A, o manual de referência, não é o padrão, mas tentamos transmitir o essencial do padrão em um menor espaço. É concebido para facilitar a compreensão dos programadores, mas não como uma definição para compiladores – esse papel pertence propriamente ao próprio padrão. O Apêndice B é um resumo das instalações da biblioteca padrão. Isso também é para referência para programadores, não implementadores. O Apêndice C é um resumo conciso das mudanças da versão original.

Como dissemos no prefácio da primeira edição, C é bem usado conforme a experiência aumenta ”. Com uma década de experiência, ainda nos sentimos assim. Esperamos que este livro o ajude. Aprenda C e use-o bem.

Estamos profundamente em dívida com amigos que nos ajudaram a produzir esta segunda edição. Jon Bently, Doug Gwyn, Doug McIlroy, Peter Nelson e Rob Pike nos deram comentários perspicazes sobre quase todas as páginas dos manuscritos preliminares. Agradecemos a leitura cuidadosa de Al Aho, Dennis Allison, Joe Campbell, G.R. Emlin, Karen Fortgang, Allen Holub, Andrew Hume, Dave Kristol, John Linderman, Dave Prosser, Gene Spafford e Chris van Wyk. Também recebemos sugestões úteis de Bill Cheswick, Mark Kernighan, Andy Koenig, Robin Lake, Tom Londres, Jim Reeds, Clovis Tondo e Peter Weinberger. Dave Prosser respondeu muitas perguntas detalhadas sobre o padrão ANSI. Utilizamos o tradutor C ++ de Bjarne Stroustrup extensivamente para testes locais de nossos programas, e Dave Kristol nos forneceu um compilador ANSI C para testes finais. Rich Drechsler ajudou muito com a composição.

Agradecemos sinceramente a todos.
Brian W. Kernighan
Dennis M. Ritchie

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s