The New C Standard - A Cultural and Economic Commentary |
|||
|
ISBN : 0201709171 |
|||
![]() Cover Design - The New C Standard - A Cultural and Economic Commentary |
For your free electronic copy of this book please verify the numbers below. (We need to do this to make sure you're a person and not a malicious script) | ||
|
Sample Chapter From The New C Standard - A Cultural and Economic Commentary Copyright © Derek M. Jones |
|||
CommentaryThis book contains a detailed analysis of the International Standard for the C language,-3.1 excluding thelibrary from a number of perspectives. The organization of the material is unusual in that it is based on the actual text of the published C Standard. The unit of discussion is the individual sentences from the C Standard (2022 of them) Readers are assumed to have more than a passing familiarity with C. C90My involvement with C started in 1988 with the implementation of a C to Pascal translator (written inPascal). In 1991 my company was one of the three companies that were joint first, in the world, in having their C compiler formally validated. My involvement with the world of international standards started in 1988 when I represented the UK at a WG14 meeting in Seattle. I continued to head the UK delegation at WG14 meetings for another six years before taking more of a back seat role. C++Having never worked on a C++ compiler or spent a significant amount of time studying C++ my view on thislanguage has to be considered as a C only one. While I am a member of the UK C++ panel I rarely attend meetings and have only been to one ISO C++ Standard meeting. There is a close association between C and C++ and the aim of this subsection is the same as the C90 one: document the differences. Other LanguagesThe choice of other languages to discuss has been driven by those languages in common use today (e.g.,Java), languages whose behavior for particular constructs is very different from C (e.g., Perl or APL), and languages that might be said to have been an early influence on the design of C (mostly BCPL and Algol 68). The discussion in these subsections is also likely to have been influenced by my own knowledge and biases. Writing a compiler for a language is the only way to get to know it in depth and while I have many used other languages I can only claim to have expertise in a few of them. Prior to working with C I had worked on compilers and source code analyzers for Algol 60, Coral 66, Snobol 4, CHILL, and Pascal. All of these languages might be labeled as imperative 3GLs. Since starting work with C the only other languages I have been involved in at the professional compiler writer level are Cobol and SQL. Common ImplementationsThe perceived needs of customers drive translator and processor vendors to design and produce products.The two perennial needs of performance and compatibility with existing practice often result in vendors making design choices that significantly affect how developers interacted with their products. The common implementation subsections discuss some the important interactions, primarily by looking at existing implementations and at times research projects (although it needs to be remembered that many of research ideas never make it into commercial products). I have written code generators for Intel 8086, Motorola 68000, Versal (very similar to the Zilog Z80), Concurrent 3200, Sun SPARC, Motorola 88000, and a variety of virtual machines. In their day these processors have been incorporated in minicomputers or desktop machines. The main hole in my cv. is a complete lack of experience in generating code for DSPs and vector processors (i.e., the discussion is based purely on book learning in these cases).
|
|||