Article | REF: H3068 V1

C language

Author: Christian QUEINNEC

Publication date: February 10, 2002

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


Overview

Français

Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.

Read the article

AUTHOR

 INTRODUCTION

The C language was defined in 1972 by Bell Labs researcher Denis Ritchie, as part of a project to rewrite the Unix operating system in a high-level language. The C language was strongly influenced by its first client: Unix, and many of its features derive from the needs aroused by the development of this system. These features include:

  • compact writing to minimize program typing (we write {and} for begin and end). Programming speed was preferred to readability, the opposite being required in a language like Ada ;

  • the absence of a mandatory runtime library, rejecting input/output manipulation, task management, dynamic memory allocation, etc., in external, additional and optional libraries;

  • semantic proximity to the execution machine, systematically favoring fine-grained control of the latter to the detriment of any opaque abstraction. These include a type system that can be disengaged, no Booleans, no strings, a wide variety of integer sizes, and so on. This characteristic is accompanied by a slogan: "Trust the programmer", which stipulates the primacy of the programmer over the machine. If the program is not understood, the compiler will respect the program to the letter rather than reject it. C is often considered a dangerous or, at the very least, "dirty" language when compared to other programming languages occupying other niches and seeking to optimize other criteria. The 1990 ISO standard and its 1999 revision make it an increasingly safe language. C's health clearly demonstrates its unfailing vitality in its own niches.

C is a "high-level portable assembler", i.e. a high-level programming language that also allows precise manipulation of processor-related entities. Its characteristics could have reduced it to being just a language for writing Unix, but with the success of Unix and the fact that C is available (by construction) on all Unix machines (since porting Unix to an X machine requires writing a specific code generator from C to X), C has been increasingly chosen as a language for writing general-purpose applications. C can be considered as a normal programming language with its share of idiosyncrasies, the most delicate of which concern references and allocation.

Today, C occupies several niches in which its survival is not threatened. C can be used to write highly portable or highly specific programs.

You do not have access to this resource.

Exclusive to subscribers. 97% yet to be discovered!

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


The Ultimate Scientific and Technical Reference

A Comprehensive Knowledge Base, with over 1,200 authors and 100 scientific advisors
+ More than 10,000 articles and 1,000 how-to sheets, over 800 new or updated articles every year
From design to prototyping, right through to industrialization, the reference for securing the development of your industrial projects

This article is included in

Software technologies and System architectures

This offer includes:

Knowledge Base

Updated and enriched with articles validated by our scientific committees

Services

A set of exclusive tools to complement the resources

Practical Path

Operational and didactic, to guarantee the acquisition of transversal skills

Doc & Quiz

Interactive articles with quizzes, for constructive reading

Subscribe now!

Ongoing reading
C language