C language

Add to my library

H3068 V1 Article

C language

Author : Christian QUEINNEC

Publication date: February 10, 2002 | Lire en français

Add to my library Add to my library

Logo Techniques de l'Ingenieur You do not have access to this resource.
Request your free trial access! Free trial

Already subscribed?

Overview

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.
Logo Techniques de l'Ingenieur

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?


Ongoing reading
C language

Article included in this offer

"Software technologies and System architectures"

( 230 articles )

Complete knowledge base

Updated and enriched with articles validated by our scientific committees

Services

A set of exclusive tools to complement the resources

View offer details

Dans les ressources documentaires

Méthodes numériques de base - Analyse numérique

L’analyse numérique étudie les méthodes, appelées constructives, de résolution numérique des problèmes. C...

Introduction à MATLAB

Système interactif de programmation scientifique pour le calcul numérique et la visualisation graphique, ...

Introduction au parallélisme et aux architectures parallèles

Le parallélisme est dorénavant utilisé dans la majorité des architectures, des systèmes embarqués aux sup...

Jeux d'instructions des processeurs

Les jeux d’instructions comprennent l’ensemble des instructions machine qui permettent à un processeur d’...

WhitePaper
4 January 2023
Introduction à l’intelligence artificielle

l\'IA s\'emploie à résoudre les problématiques qui relèvent de diverses activités humaines (perception, prise de décision, planification, diagnostic, interpréta...

Tous les livres blancs
Article Les plus importantes cyberattaques de 2016
16 December 2016
Les plus importantes cyberattaques de 2016

Plus que jamais, les données valent de l’or. Les entreprises l’ont intégré dans leur stratégie avec le Big data. Mais les pirates aussi ! Cette année a été marq...

Article L’ombre des pirates sur les élections ?
6 January 2017
L’ombre des pirates sur les élections ?

Avant de céder son fauteuil à M. Trump, M. Obama a publié les déclarations fracassantes selon lesquelles des pirates russes auraient réussi à influencer les vot...

Toutes les actualités
Contact us