Difference between revisions of "C programming language"

From Computer History Wiki
Jump to: navigation, search
(hello world: New B.)
(Dialects: Some milestones.)
Line 3: Line 3:
 
== Dialects ==
 
== Dialects ==
 
There are two popular dialects, the original was K&R C, which spread with the original C [[compiler]], and [[pcc]], the portable C compiler.  Later there was a ANSI standard to the C language, and it's usually refered to as just ANSI C.
 
There are two popular dialects, the original was K&R C, which spread with the original C [[compiler]], and [[pcc]], the portable C compiler.  Later there was a ANSI standard to the C language, and it's usually refered to as just ANSI C.
 +
 +
The C language evolved continuously starting in 1972.  Some milestones:
 +
 +
* 1972 - [https://www.bell-labs.com/usr/dmr/www/primevalC.html Primeval C] - no '''struct''', automatic variables can't be initialized.
 +
* 1973 - preprocessor added.
 +
* 1976? - [[Typesetter C]] - introduced '''long''', '''unsigned''', '''typedef''', '''union''', and changed '''=+''' etc to '''+='''.
 +
* 1978 - K&R C
 +
* 1989 - ANSI C
  
 
== hello world ==
 
== hello world ==

Revision as of 11:40, 19 August 2021

The C language.....

Dialects

There are two popular dialects, the original was K&R C, which spread with the original C compiler, and pcc, the portable C compiler. Later there was a ANSI standard to the C language, and it's usually refered to as just ANSI C.

The C language evolved continuously starting in 1972. Some milestones:

  • 1972 - Primeval C - no struct, automatic variables can't be initialized.
  • 1973 - preprocessor added.
  • 1976? - Typesetter C - introduced long, unsigned, typedef, union, and changed =+ etc to +=.
  • 1978 - K&R C
  • 1989 - ANSI C

hello world

Ancient

char *hello "hello"; /* No = for initialization. */

main (argc, argv)
int argc;               /* Parameter declarations as in K&R. */
char **argv;
{
        char *world;    /* Auto variables can't be initialized. */
        world = "world";
        cprint ("%s %s\n", hello, world);       /* No stdio yet. */
}

K&R

#include <stdio.h>
main(argc,argv)
int argc;
char **argv;
{
        printf("Hello World\n");
        exit (0);
}

ANSI C

#include <stdio.h>
int main(int argc, char *argv[])
{
        printf("Hello World\n");
        return 0;
}

C was derived[1] from an earlier language called B. There was an intermediary language called NB, or New B.

A number of object-oriented languages have been influenced by C, including Objective-C, C++, D, Vala.

See also