Open main menu

Wikibooks β


C Programming

1,808 bytes added, 14 years ago
no edit summary
# the statements that don't exist in c, like forever, can refer to a page that shows how to emulate them, ie: for (;;);
# features that just don't exist like operator overloading can be dropped from the toc
==History of C==
In 1947, three scientists at Bell Telephone Laboratories, William Shockley, Walter Brattain, and John Bardeen created the transistor. Modern computing was beginning. In 1956 at MIT the first fully transistor based computer was completed, the TX-O. In 1958 at Texas Instruments, Jack Kilby creates the first integrated circuit. But before the first integrated circuit the first high level language had already been written.
In 1954 Fortran, the Formula Translator, had been written. It begat Fortran I in 1956. Fortran begat Algol 58, the Algorithmic Language, in 1958. Algol 58 begat Algol 60 in 1960. Algol 60 begat CPL, the Combined Programming Language, in 1963. CPL begat BCPL, Basic CPL, in 1967. BCPL begat B in 1969. B begat C in 1971.
B was the first language in the C lineage directly, having been created at Bell Labs by Ken Thompson. B was an interpreted language, used in early, internal versions of the UNIX operating system. Thomson and Dennis Richie, also of Bell Labs, improved B, calling it NB; further extensions to NB created C, a compiled language. Most of UNIX was rewritten in NB and then C, which lead to a more portable operating system.
B was of course named after BCPL, and C was its logical successor.
The portability of UNIX was the main reason for the initial popularity of both UNIX and C; rather than creating a new operating system for each new machine, system programmers could simply write the few system dependant parts required for the machine, and write a C compiler for the new system; and since most of the system utilities were written in C, it simply made sense to also write new utilities in the language.
==Why Use C==
C can be used for easy and fast systems programming. Also learning C will make C++ much easier to learn.
==C Table of Contents==