Lycée   >   Premiere   >   NSI   >   Diversité et unité des langages de programmation

Diversité et unité des langages de programmation

  • Fiche de cours
  • Quiz
  • Profs en ligne
Objectifs
  • Donner un bref historique des langages de programmation.
  • Comprendre que les langages de programmation comportent des points communs.
Point clé

Il existe différentes manières d’appréhender la programmation, tout comme il existe différents niveaux de langage. Les langages conservent cependant des points communs.

Pour bien comprendre
  • Système d’exploitation
  • Reconnaitre différents constituants
1. La diversité des langages
a. Les paradigmes de programmation
Un paradigme de programmation est une manière d’appréhender le problème et la programmation.

Il existe différents paradigmes de programmation, dont notamment la programmation impérative, orienté objet et déclarative.

  • Dans la programmation impérative, les opérations sont des séquences d’instructions exécutées par l’ordinateur pour modifier l’état du programme.
  • Dans la programmation orientée objet, on définit des briques logicielles appelées objets (représentant un concept, une idée ou toute entité du monde physique) puis les différentes interactions associées.
  • Dans la programmation déclarative, on crée des applications sur la base de composants logiciels qui sont indépendants du contexte et qui ne comportent aucun état interne.
Remarque
Certains langages peuvent être multiparadigmes.
b. Le niveau d’un langage de programmation

Un langage de programmation est en fait une langue qui donne les instructions à effectuer sous la forme d’un programme, qui sera traduit (compilé et interprété) avant d’être exécuté en langage machine par l’ordinateur.

Il existe plusieurs niveaux de langages selon sa proximité avec le matériel.

Un langage qui fait abstraction des caractéristiques techniques du matériel utilisé pour exécuter le programme est qualifié de haut niveau. Si ce n’est pas le cas, il sera qualifié de bas niveau.

Un langage de bas niveau ira plus vite qu’un langage de haut niveau.

Exemple
Le langage C est de bas niveau car il dépend du matériel alors que Python est de haut niveau car il ne dépend pas du matériel.
c. Langage compilé ou interprété ?

Les langages de programmation sont essentiellement de deux types : compilés ou interprétés.

  • Certains langages sont compilés avant exécution : ils sont traduits avant d’être exécutés.
    Exemple
    Le langage C est compilé en langage machine. Une fois compilé, le programme est directement compris par la machine et est donc plus rapide.
  • D’autres langages sont dits interprétés : ils sont lus et convertis au fur et à mesure de l’exécution, il n’y a donc pas à passer par un compilateur.
    Exemple
    Python est un langage interprété ligne par ligne, il est donc plus lent que le langage C.
d. Un bref historique des langages de programmation

Voici un bref historique des langages de programmation.

Création Nom du langage Caractéristiques
1943 Langage de programmation de l’ENIAC Type assembleur, langage de bas niveau
1950 à 1959 Le FORTRAN
Le LISP
Le COBOL
Langages de haut niveau
1964 Le BASIC Langage de haut niveau, qualifié de d’impératif car un programme est une suite d’instructions
1972 Le C Langage de bas niveau, impératif
1970 Le Pascal Langage de bas niveau, impératif
1983 Le C++ Langage de bas niveau, orienté objet et impératif
1991 Le Python Langage de haut niveau, multiparadigme
1995 Le Javascript Langage de haut niveau programmation de script
Le Java Langage de niveau moyen
Langage compilé et orienté objet
2010 Le Rust Langage de haut niveau, multiparadigme
2. La comparaison de langages
a. Présentation de l’algorithme à comparer

On va considérer l’algorithme d’Euclide qui retourne le PGCD (Plus Grand Diviseur Commun) de deux nombres entiers.

Voici une représentation de cet algorithme à l’aide de ce qu’on appelle un Grafcet.

b. Implémentation de l’algorithme sous différents langages

On étudie les points communs lors de l’implémentation, c’est-à-dire lors de l’écriture en une version exécutable sur une machine à l’aide d’un langage de programmation.

En Python En C++
En Pascal En Java
c. Observations et conclusions

Les syntaxes des différents langages sont différentes : on constate ici que certains langages ont besoin d’une déclaration du type de variable (C++, Pascal et Java), d’autres pas (en Python).

Pour reconnaitre le début d'un bloc if, for, while, etc., Python utilise l’indentation (décalage), mais d’autres langages utilisent des accolades (C++ et Java).

De nombreux langages signalent la fin d’une ligne de programme par un point-virgule (C++, Pascal et Java). Pour les affectations, certains utilisent le signe = (C++, Python et Java), d’autres les deux signes := (Pascal).

Quel que soit le langage, on retrouve des mots-clés quasi-identiques pour les boucles, les structures conditionnelles et print (while, for, if, else, not, etc).
Remarque
Dans nos exemples, on retrouve while, if et else dans les quatre langages.

Comment as-tu trouvé ce cours ?

Évalue ce cours !

 

Question 1/5

La médiane de 6 notes est 13. Cela signifie que :

Question 2/5

On a obtenu la série statistique suivante :

Combien vaut la médiane ?

Question 3/5

On a obtenu la série ci-dessous :

Quelle est la médiane de cette série ?

Question 4/5

On a relevé les tailles en cm des élèves d’une classe :

 

Parmi les propositions suivantes, laquelle est vraie ?

Question 5/5

Les notes en français de deux classes littéraires sont données dans le tableau suivant :

Quelle est la note médiane ?

Vous avez obtenu75%de bonnes réponses !

Recevez l'intégralité des bonnes réponses ainsi que les rappels de cours associés :

Votre adresse e-mail sera exclusivement utilisée pour vous envoyer notre newsletter. Vous pourrez vous désinscrire à tout moment, à travers le lien de désinscription présent dans chaque newsletter. Pour en savoir plus sur la gestion de vos données personnelles et pour exercer vos droits, vous pouvez consulter notre charte.

Une erreur s'est produite, veuillez ré-essayer

Consultez votre boite email, vous y trouverez vos résultats de quiz!

Découvrez le soutien scolaire en ligne avec myMaxicours

Le service propose une plateforme de contenus interactifs, ludiques et variés pour les élèves du CP à la Terminale. Nous proposons des univers adaptés aux tranches d'âge afin de favoriser la concentration, encourager et motiver quel que soit le niveau. Nous souhaitons que chacun se sente bien pour apprendre et progresser en toute sérénité ! 

Fiches de cours les plus recherchées

NSI

Donner des préconditions

NSI

Donner des postconditions

NSI

Tester un programme

NSI

Prototyper une fonction

NSI

S'informer sur une bibliothèque Python

NSI

Utiliser la bibliothèque Matplotlib de Python pour créer un graphique

NSI

Algorithmes de recherche : parcourir un tableau

NSI

Algorithmes de recherche : rechercher un extremum

NSI

Algorithmes de recherche : obtenir une moyenne, une médiane

NSI

Trier par insertion