Print

The thinking behind C11



John Benito
Email
August 27, 2012 —  (Page 1 of 4)
At the 2007 meeting of WG14, the ISO working group for the C programming language, there was a general consensus that the committee should start working on the next revision of the C standard.

The committee saw there was much happening that can or does influence C directly. Examples are the evolution of C-like programming languages (C#, Java and C++), multi-thread programming, the rising threat to Internet security, the increased awareness of programming language vulnerabilities, and emphasis on safety-critical systems, to name just a few.

The work of the committee was in large part a balancing act. The committee has tried to improve portability while retaining the definition of certain features of C as machine-dependent. It attempted to incorporate valuable new ideas without disrupting the basic structure and fabric of the language. It tried to develop a clear and consistent language without invalidating existing programs. All of the goals were important, and each decision was weighed in the light of sometimes-contradictory requirements in an attempt to reach a workable compromise.

In specifying a standard language, the committee used several guiding principles, the most important of which are:

1. Existing code is important; existing implementations are not. A For example, there is a large body of C code of considerable commercial value. Every attempt has been made to ensure that the bulk of this code will be acceptable to any implementation conforming to the standard. The committee did not want to force most programmers to modify their C programs just to have them accepted by a conforming translator.

On the other hand, no single implementation was held up as the exemplar by which to define C; it is assumed that all existing implementations must change somewhat to conform to the standard.

2. C code can be portable. Although the C language was originally born with the Unix operating system on the DEC PDP-11, it has since been implemented on a wide variety of computers and operating systems. The committee has attempted to specify the language and the library to be as widely implementable as possible, while recognizing that a system must meet certain minimum criteria to be considered a viable host or target for the language.



Related Search Term(s): C11

Pages 1 2 3 4 


Share this link: http://sdt.bz/36892
 
Most Read  Latest News  Resources

close
NEXT ARTICLE
C11/C++11: Building blocks for the future
C gets a standardized memory model, while C++ is now “easier to teach and learn” Read More...
 
 
 




News on Monday  more>>
Android Developer News  more>>
SharePoint Tech Report  more>>
Big Data TechReport  more>>

   
 
 

 


Download Current Issue
MAY 2013 PDF ISSUE

Need Back Issues?
DOWNLOAD HERE

Want to subscribe?