Vous êtes sur la page 1sur 19

MINISTERE DE L’EDUCATION NATIONALE REPUBLIQUE DE COTE D’IVOIRE

DE L’ENSEIGNEMENT TECHNIQUE ET DE
LA FORMATION PROFESSIONNELLE

Collège Notre Dame des Lacs 2 de Union – Discipline – Travail


Yamoussoukro

EXPOSE D’INFORMATIQUE
THEME
PROGRAMMATION I NFORMATIQUE

NOM DU GROUPE 3 PROFESSEUR

1. KONAN TOUSSAINT
M. KONAN MOISE
2. KONAN ARISTOPHANIE
3. KONAN MARIE CLASSE : Tle A2

SOMMAIRE
4. KOUAME PRINCE
Année scolaire 2023 – 2024
INTRODUCTION
I- HISTOIRE
1. C’est quoi la programmation de l’informatique ?
2. Quels sont les différents types de programmation ?
II- LA PROGRAMMATION ORIENTEE OBJET (POO)
1- La programmation impérative
2- La programmation fonctionnelle
III- LES MEILLEURS LANGAGES DE PROGRAMMATION
A- HTML, le langage de balisage incontournable
B- PHP, idéal pour le développement web
C- Java et C#, des langages puissants et polyvalents
D- Python, le langage le plus populaire depuis plusieurs années
E- JavaScript, le langage de script hyperflexible
F- Ruby, plébiscité par les startup
G- Exemple de programme
IV- CONCEPTION DE LOGICIEL ET ALGORITHMIQUE.
1. Programmation impérative
2. Implémentation
3. Transformation du code source
4. Compilation
5. Interprétation
V- AVANTAGES, INCONVENIENTS
1- Appellation impropre
2- Test du programme
2.1. Pratiques
2.2. Paradigmes
3- Programmation impérative
4- Programmation procédurale
5- Programmation structurée
6- Programmation déclarative
7- Programmation fonctionnelle
8- Programmation logique
9- Programmation orientée objet
10- Programmation orientée prototype
11- Programmation orientée classe
CONCLUSION
WEBOGRAPHIE INTRODUCTION

Page 1
La programmation, appelée aussi codage dans le domaine informatique,
désigne l'ensemble des activités qui permettent l'écriture des programmes
informatiques. C'est une étape importante du développement de logiciels (voire
de matériel).

L'écriture d'un programme se fait dans un langage de programmation. Un


logiciel est un ensemble de programmes (qui peuvent être écrits dans des
langages de programmation différents) destiné à la réalisation de certaines
tâches par un (ou plusieurs) utilisateurs du logiciel.

La programmation représente donc ici la rédaction du code source d'un logiciel.


On utilise plutôt le terme développement pour dénoter l'ensemble des activités
liées à la création d'un logiciel et des programmes qui le composent. Cela inclut
la spécification du logiciel, sa conception, puis son implémentation proprement
dite au sens de l'écriture des programmes dans un langage de programmation
bien défini, ainsi que la vérification de sa correction, etc.

I- HISTOIRE

Page 2
La première machine programmable (c’est-à-dire machine dont les possibilités
changent quand on modifie son programme) est probablement le métier à
tisser de Jacquard, qui a été réalisé en 1801. La machine utilisait une suite de
cartons perforés. Les trous indiquaient le motif que le métier suivait pour
réaliser un tissage ; avec des cartes différentes le métier produisait des tissages
différents. Cette innovation a été ensuite améliorée par Herman
Hollerith d'IBM pour le développement de la fameuse carte perforée d'IBM.

En 1936, la publication de l'article fondateur de la science informatique On


Computable Numbers with an Application to the
Entscheidungsproblem par Alan Turing allait donner le coup d'envoi à la
création de l'ordinateur programmable. Il y présente sa machine de Turing, le
premier calculateur universel programmable, et invente les concepts et les
termes de programmation et de programme.

Les premiers programmes d'ordinateur étaient réalisés avec un fer à souder et un


grand nombre de tubes à vide (plus tard, des transistors). Les programmes
devenant plus complexes, cela est devenu presque impossible, parce qu'une
seule erreur rendait le programme entier inutilisable. Avec les progrès
des supports de données, il devint possible de charger le programme à partir
de cartes perforées, contenant la liste des instructions en code binaire spécifique
à un type d'ordinateur particulier. La puissance des ordinateurs augmentant, on
les utilisa pour faire les programmes, les programmeurs préférant naturellement
rédiger du texte plutôt que des suites de 0 et de 1, à charge pour l'ordinateur d'en
faire la traduction lui-même.

Avec le temps, de nouveaux langages de programmation sont apparus, faisant de


plus en plus abstraction du matériel sur lequel devraient tourner les programmes.
Ceci apporte plusieurs facteurs de gain : ces langages sont plus faciles à
apprendre, un programmeur peut produire du code plus rapidement, et les
programmes produits peuvent tourner sur différents types de machines.

1. C’est quoi la programmation de l’informatique ?


La programmation informatique et typiquement une pratique que tout le monde
connaît, mais que peu de monde arrive à définir de manière claire et concise.
Mais nous allons tenter de relever le défi ! La programmation informatique est
un processus de création d’instructions que les ordinateurs peuvent suivre pour
exécuter des tâches spécifiques. Autrement dit, c’est l’art d’écrire des
programmes informatiques en utilisant des langages de programmation pour
résoudre des problèmes complexes et effectuer des tâches automatisées.
De manière générale, les programmes informatiques sont utilisés dans la
majorité des domaines, de l’industrie aux sciences, en passant par le
divertissement ou encore la communication. Ils sont amenés à être utilisés pour

Page 3
contrôler des machines, collecter et analyser des données, créer des graphiques
et des images, et bien plus encore.
Tu l’auras compris, la programmation informatique est essentielle pour le
développement de logiciels, de systèmes d’exploitation, d’applications mobiles,
sans oublier le plus important : les sites web. Les programmeurs peuvent écrire
des programmes à partir de zéro, ou modifier des programmes existants afin de
les adapter aux besoins spécifiques d’un utilisateur ou d’une entreprise.
Les programmeurs utilisent des langages de programmation tels que Java,
Python, C++, Ruby et JavaScript pour créer des programmes. Ces langages sont
conçus pour être compréhensibles par les ordinateurs tout en étant relativement
faciles à apprendre pour nous, humains. Concrètement, ils sont utilisés pour
écrire des instructions qui sont ensuite converties en langage machine, autrement
dit la langue comprise par les ordinateurs.

Très demandée sur le marché du travail, notamment dans le secteur de


l’informatique, la programmation informatique nécessite une grande précision et
une attention aux détails. Les erreurs de programmation peuvent causer des
problèmes majeurs dans le programme, y compris des erreurs de sécurité, de
traitement de données ainsi que des plantages de programme. Les développeurs
web doivent donc être attentifs et minutieux lorsqu’ils écrivent du code.

Les programmeurs peuvent travailler dans de nombreuses entreprises,


notamment des entreprises de technologie, des entreprises de services financiers,
des entreprises de médias et des entreprises de jeux vidéo. Les développeurs
web peuvent également travailler en freelance, en créant des applications pour
des clients individuels ou pour des petites entreprises.

2. Quels sont les différents types de programmation ?


Puisqu’il n’y a pas de langage informatique universel, il n’y a pas de style de
programmation qui convienne à tous les langages. Mais alors quels sont les
principaux types de programmation ? Orientée objet, dynamique, impérative,
fonctionnelle… On te les explique ci-dessous.

II- LA PROGRAMMATION ORIENTEE OBJET (POO)


Elle est sans aucun doute la plus répandue dans l’univers de la programmation
informatique, la programmation orientée objet (POO) est un paradigme de
programmation qui repose sur la modélisation du monde réel en utilisant des
objets. Dans celui-ci, tout est considéré comme un objet, avec des propriétés
(variables) et des comportements (méthodes) associés.
L’objet est la pièce maîtresse de la POO. Il est caractérisé par des propriétés qui
décrivent son état et des méthodes qui définissent son comportement. Les objets
Page 4
interagissent entre eux par l’intermédiaire de messages, ce qui permet de créer
des programmes modulaires, flexibles et extensibles.
La POO permet d’encapsuler les données et les comportements au sein d’un
objet, ce qui permet de mieux contrôler l’accès à celles-ci et d’assurer une
meilleure modularité du code. Elle facilite également la maintenance du code,
car les modifications peuvent être apportées à un objet sans affecter le reste du
programme. Intéressant non ?
Enfin, la programmation informatique orientée objet est utilisée dans de
nombreux langages de programmation, parmi lesquels on retrouve Java, Python,
C++, C#, Ruby et Swift. Elle est particulièrement adaptée aux projets de grande
envergure, où la modularité, la réutilisabilité et la maintenance du code sont des
préoccupations majeures.

1- La programmation impérative
La programmation impérative est un type de programmation informatique qui se
concentre sur la façon dont un programme doit être exécuté. Dans ce paradigme,
un programme est considéré comme une série d’instructions qui sont exécutées
dans un ordre précis pour engendrer un résultat. Les programmes écrits en
programmation impérative sont composés de blocs de code qui contiennent des
instructions, des expressions, des variables, mais aussi des instructions servant à
indiquer à l’ordinateur les actions à exécuter.
La programmation impérative est souvent utilisée pour les programmes qui
effectuent des tâches complexes et qui nécessitent un contrôle précis de
l’exécution du programme. Les langages de programmation couramment utilisés
ce type de programmation informatique sont C, C++, Java et Python.
Cependant, la programmation impérative peut être plus difficile à lire et à
comprendre par rapport à d’autres paradigmes de programmation. Elle peut
également être plus sujette aux erreurs, car les développeurs doivent souvent
suivre de très près l’état des variables et des instructions dans leur code.

2- La programmation fonctionnelle
La programmation fonctionnelle se focalise sur les fonctions et la manière dont
elles peuvent être utilisées pour résoudre des problèmes. Ici, les fonctions sont
considérées comme des entités autonomes qui n’ont pas d’état interne et qui
transforment les données en entrée pour produire des données en sortie.
Contrairement à la programmation impérative, la programmation fonctionnelle
ne se concentre pas sur la façon dont un programme doit être exécuté, mais sur
la définition de fonctions qui résolvent des problèmes spécifiques. Les fonctions
en programmation fonctionnelle sont définies de manière à être pures, c’est-à-
dire qu’elles ne modifient pas l’état global du programme ou des données en
entrée, mais produisent toujours la même sortie pour une entrée donnée.

Page 5
Très souvent utilisée pour la résolution de problèmes mathématiques et le
traitement de données, elle est également populaire pour le développement de
systèmes distribués et pour l’écriture de code concurrent et parallèle. Les
langages de programmation couramment utilisés ici sont Haskell, Lisp, Erlang,
F# et OCaml.
La programmation fonctionnelle peut être plus facile à comprendre et plus
efficace pour le traitement de données massives, car elle peut être facilement
parallélisée et distribuée. Cependant, elle est assez difficile à apprendre pour les
développeurs web qui ont une expérience limitée avec ce paradigme.

III- Les meilleurs langages de programmation

Quel est le meilleur langage de programmation ? Répondre à cette question


est… impossible. Chaque langage a ses propres caractéristiques qui vont le
rendre performant sur un type de projet. À l’inverse, certaines technologies sont
peu efficaces, voire incompatibles avec une application. Alors, comment
choisir ? En optant pour les langages les plus populaires et utilisés par les
développeurs. Cette notoriété signifie qu’ils sont suffisamment flexibles et
puissants pour gérer les demandes et besoins les plus courants.

Voici les langages plébiscités en 2023 dans l’IT :

 HTML
 PHP
 Java et C#
 Python
 JavaScript et les framework : React Native, Mobile Angular UI,
Appcelerator Titanium
 Ruby
 Symfony
 Laravel
 Laminas
 TensorFlow
 Pytorch
 Pandas
 NumPy
 Java pour Android
 ObjectiveC et Swift pour IOS
 Le framework Xamarin pour C#
 C++

A- HTML, le langage de balisage incontournable

Page 6
HTML n’est pas à proprement parler un langage de programmation. L’acronyme
signifie HyperText Markup Language, et se traduit par « langage de balisage ».

Les balises représentent la structure et l’architecture d’une page web. HTML va


donc définir le squelette et l’organisation d’une page web. Il est généralement
manipulé en combinaison avec le CSS (Cascading Style Sheets), un langage
informatique qui permet de styliser et mettre en forme des pages. Ces deux
langages suffisent à créer des pages et sites web statiques.

La connaissance du HTML est donc indispensable dans l’informatique. Mais,


utilisé seul, il atteint vite ses limites en termes de fonctionnalités et
d’interactivité. Il est le plus souvent exploité avec d’autres langages de
programmation qui vont pouvoir générer dynamiquement du HTML.

Prenons un exemple concret, HTML vous permet de créer un site web avec un
bouton de « connexion ». Cependant, pour que l’identification fonctionne et que
l’utilisateur soit redirigé vers un espace personnalisé, il faudra pouvoir modifier
les balises HTML automatiquement. Cela se fait via un langage dit « serveur »
comme PHP.

B- PHP, idéal pour le développement web

PHP est un langage de programmation côté serveur populaire en raison


notamment de facilité d’apprentissage. Il est très prisé par les développeurs web
débutants. Simple et flexible, le langage leur permet de découvrir l’algorithmie,
la logique informatique et la programmation orientée objet en créant rapidement
des projets concrets !

Sur le marché IT, il est principalement utilisé pour concevoir des sites et
programmes web grâce à :

 sa possibilité d’être intégré directement dans un fichier HTML ;


 sa capacité à communiquer avec les serveurs et bases de données ;
 ses fonctionnalités polyvalentes.

Sa popularité est également due au célèbre CMS WordPress qui est conçu en
PHP. Ce système de gestion de contenu permet aux utilisateurs non initiés à la
programmation de créer rapidement des sites et blogs. Ils peuvent manipuler des
interfaces visuelles pour placer leurs éléments et textes. Le code PHP
correspondant est généré automatiquement par WordPress.

C- Java et C#, des langages puissants et polyvalents

Page 7
Java et C# sont deux langages dits de « haut niveau », c’est-à-dire que leur
syntaxe est facilement compréhensible par l’homme. Contrairement aux
langages de programmation de bas niveau, plus proche du code machine
(binaire), ils peuvent utiliser des éléments de syntaxes naturels (mots et
expressions) qui rendent le processus de développement beaucoup plus simple.
La syntaxe sera ensuite automatiquement traduite en code machine par un
composant nommé compilateur.

Il existe de multiples autres langages haut niveau, mais Java et C# font partie
des plus anciens et sont toujours très demandés, car de nombreuses applications
et sites reposent sur eux. Leurs caractéristiques et avantages communs sont :

 leur robustesse et leur sécurité ;


 le système de gestion automatique de la mémoire grâce à un ramasse-
miettes ;
 la programmation orientée objet ;
 la gestion des erreurs grâce aux exceptions.

D- Python, le langage le plus populaire depuis plusieurs années

Python est aussi un langage de programmation ancien (sa première version date
de 1991), mais il a connu sa plus grande popularité ces dernières années. Il
arrive désormais régulièrement en première place des langages préférés des
développeurs dans les index Tiobe et les études de StackOverflow, deux
références dans le domaine IT.

Cette popularité croissante repose en grande partie sur l’essor du machine


learning et de l’intelligence artificielle, 2 secteurs pour lesquels Python et un
langage particulièrement adapté. Il intègre de nombreuses bibliothèques (des
ensembles de fonctions utilitaires, pré-écrites et réutilisables) ainsi que des
cadres de travail (frameworks) qui facilitent et accélèrent la conception
d’algorithmes scientifiques.

Le langage est aussi très utilisé dans le développement web et les programmes
informatiques en raison :

 de sa simplicité et de sa flexibilité ;
 de son prototypage rapide qui permet au code d’être exécuté sur
différentes plateformes et environnements informatiques ;
 de sa nature orientée objet ;
 de son importante communauté de programmeurs.

E- JavaScript, le langage de script hyperflexible


Page 8
JavaScript est, à l’origine, un langage de script destiné à animer et rendre des
pages web interactives. Depuis, il a considérablement évolué et peut être utilisé
aussi bien côté affichage (front-end) que côté serveur (back-end). Désormais, il
est possible de créer des sites entièrement en JavaScript, mais également des
applications connectées, des jeux 2D et 3D ou même des serveurs.

Les développeurs full stack JS sont très recherchés sur le marché de


l’emploi ainsi que les profils ayant des compétences dans les frameworks
JavaScript. Le langage dispose en effet de 3 cadres de travail particulièrement
performants et populaires :

 Angular, un framework qui simplifie le développement d’applications


complexes ;
 React, un cadre minimaliste, léger et optimisé pour prendre en charge
des sites avec trafic très important ;
 Vue qui permet de manipuler des composants réactifs et réutilisables
avec une syntaxe simple.

F- Ruby, plébiscité par les startup

Ruby a parfois été considéré comme en perte de vitesse et moins performant que
Java et C#. Il reste cependant un excellent choix lorsqu’on souhaite se former au
développement grâce :

 à sa simplicité et à la lisibilité de son code ;


 ses mises à jour et son optimisation constante ;
 son framework Ruby on Rails et sa productivité élevée.

Ruby est très plébiscité dans le milieu des startup. De nombreux sites, devenus
depuis de grands succès du web, sont conçus avec Rails. C’est le cas notamment
de GitHub, Kickstarter, Twitter, AirBnB ou encore Shopify.

G- Exemple de programme
L'immense majorité des programmes qui s'exécutent sur nos ordinateurs,
téléphones et autres outils électroniques sont écrits dans des langages de
programmation dits impératifs : les lignes du programme sont exécutées les unes
après les autres. Chaque ligne du programme effectue soit une opération simple,
soit exécute une fonction qui est elle-même une suite d'opérations simples.

Le programme « Hello World! » est par tradition le premier programme écrit par
tout programmeur, censé illustrer la syntaxe du langage de programmation. Le
programme a pour unique fonction d'afficher le texte "Hello World!" dans
la console ou dans une fenêtre de l'interface graphique.

Page 9
Voici une version d'un programme « Hello World! »:

Affichage d'un programme « Hello World! »


Le programme suivant écrit en langage simplifié et avec des commentaires,
demande simplement à l'utilisateur d'entrer au clavier deux nombres entiers, et
affiche leur quotient.

void main() { // fonction 'main' : c'est toujours ici qu'un programme commence
// 'int' signifie integer : nombre entier en anglais
int A, B; // on déclare deux variables A et B qui sont des nombres entiers
WriteLine("entrez deux entiers : "); // 'WriteLine' permet d'écrire à l'écran
A = ReadIntFromKeyboard(); // on attend que l'utilisateur tape un entier au
clavier,
// et on l'enregistre dans A
B = ReadIntFromKeyboard(); // puis on fait la même chose pour B
if (B == 0) { // si B est égal à 0
WriteLine("erreur : division par zéro");
} else { // sinon
float C = CalculerDivision(A,B); // on exécute la fonction
'CalculerDivision'
// que l'on a programmée ci-dessous,
// et on enregistre le résultat dans C qui est un 'float' : un nombre à
virgule
WriteLine("le résultat est : " + C); // on affiche C
float CalculerDivision(float U, float V) { // U et V sont les paramètres de notre
fonction 'CalculerDivision' : ce sont des nombres à virgules (float).
// et celle-ci renvoie un 'float' : un nombre à virgule flottante
// dans la fonction 'main', A et B étaient des nombres entiers,
// U et V sont des copies des valeurs de A et B,
// et qui ont été converties en nombres à virgule (22 deviendrait simplement
22.0000000)
float Resultat;
Resultat = U / V; // on effectue la division
return Resultat; /// on renvoie le résultat

Page 10
Dans ce programme, les principales fonctionnalités de la programmation
impérative sont utilisées : des variables de type nombre entier, nombre à
virgule, chaîne de caractères, fonction calculant un résultat à partir de
paramètres, fonction effectuant une tâche telle qu'afficher un message à l'écran,
instruction if permettant d'exécuter un code ou un autre en fonction de la valeur
de telle ou telle variable.

Dans un programme informatique typique, on trouvera suivant les langages des


boucles while ou for qui permettent d'exécuter un morceau de code en boucle
ou simplement un certain nombre de fois, des new pour l'allocation dynamique
de données (par exemple des tableaux), et très souvent des éléments
de programmation objet permettant de structurer différemment le code et de
créer des types de données personnalisés, ou encore des exceptions pour gérer
certains cas d'erreurs plus facilement.

On remarque que pour effectuer une tâche très simple, le code informatique peut
être très laborieux, et encore ici on ne traite pas les erreurs (si l'utilisateur tape
un mot au lieu d'un nombre), et l'affichage est minimaliste. C'est pourquoi les
langages de programmation n'ont jamais cessé d'évoluer, dans le but d'aider le
programmeur qui souhaite réaliser des programmes rapides à s'exécuter, sans
dysfonctionnements, et surtout simples à écrire, du moins le plus possible.

IV- CONCEPTION DE LOGICIEL ET ALGORITHMIQUE.

La phase de conception définit le but du programme. Si on fait une rapide


analyse fonctionnelle d'un programme, on détermine essentiellement les données
qu'il va traiter (données d'entrée), la méthode employée (appelée l'algorithme),
et le résultat (données de sortie). Les données d'entrée et de sortie peuvent être
de nature très diverse. On peut décrire la méthode employée pour accomplir le
but d'un programme à l'aide d'un algorithme. La programmation procédurale et
fonctionnelle est basée sur l'algorithmique. On retrouve en général les mêmes
fonctionnalités de base. On peut donc considérer que la programmation est le
processus de traduction d'un algorithmique en un programme qui exécute cet
algorithmique. Il existe deux méthodes principales pour concevoir un
programme. La conception algorithmique consiste à construire le programme
autour de l'algorithme qui est censé permettre d'obtenir le bon résultat.
La conception procédurale consiste à trouver une suite d'actions à réaliser pour
arriver au but. La conception procédurale est la plus utilisée. Lorsque le but est
connu et que la méthode pour arriver au but est claire, on entre dans
la conception détaillée. La conception détaillée est la spécification des données
d'entrée, du résultat à obtenir, et l'algorithme avec toutes les instructions
nécessaires.

Page 11
1. Programmation impérative
"Si"
Si prédicat
Alors faire ceci
Sinon faire cela
"Tant que"
Tant que prédicat
Faire ...
"Pour"
Pour variable allant de borne inférieure à borne supérieure
Faire ...
"Pour" (variante)
Pour variable dans conteneur
faire ...

2. Implémentation
l'étape suivante est de coder le programme. Le codage dépend de l'architecture
sur laquelle va s'exécuter le programme, de compromis temps-mémoire, et
d'autres contraintes. Ces contraintes vont déterminer quel langage de
programmation utiliser pour « convertir » l'algorithme en code source.

3. Transformation du code source


Le code source n'est (presque) jamais utilisable tel quel. Il est généralement écrit
dans un langage "de haut niveau", compréhensible pour l'homme, mais pas pour
la machine.

4. Compilation
Certains langages sont ce qu'on appelle des langages compilés. En toute
généralité, la compilation est l'opération qui consiste à transformer un langage
source en un langage cible. Dans le cas d'un programme, le compilateur va
transformer tout le texte représentant le code source du programme, en code
compréhensible pour la machine, appelé code machine.

Page 12
Dans le cas de langages dits compilés, ce qui est exécuté est le résultat de la
compilation. Une fois effectuée, l'exécutable obtenu peut être utilisé sans le code
source.

Il faut également noter que le résultat de la compilation n'est pas forcément du


code machine correspondant à la machine réelle, mais peut être du code compris
par une machine virtuelle (c'est-à-dire un programme simulant une machine),
auquel cas on parlera de bytecode. C'est par exemple le cas en Java. L'avantage
est que, de cette façon, un programme peut fonctionner sur n'importe quelle
machine réelle, du moment que la machine virtuelle existe pour celle-ci.

Dans le cas d'une requête SQL, la requête est compilée en une expression
utilisant les opérateurs de l'algèbre relationnelle. C'est cette expression qui est
évaluée par le système de gestion de bases de données.

5. Interprétation
D'autres langages ne nécessitent pas de phase spéciale de compilation. La
méthode employée pour exécuter le programme est alors différente. La phase de
compilation est la plupart du temps incluse dans celle d’exécution. On dit de ce
programme qu'il interprète le code source. Par exemple, Python ou Perl sont des
langages interprétés.

V- AVANTAGES, INCONVENIENTS
Les avantages généralement retenus pour l'utilisation de langages « compilés »,
est qu'ils sont plus rapides à l'exécution que des langages interprétés, car
l'interprète doit être lancé à chaque exécution du programme, ce qui mobilise
systématiquement les ressources.

Traditionnellement, les langages interprétés offrent en revanche une certaine


portabilité (la capacité à utiliser le code source sur différentes plates-formes),
ainsi qu'une facilité pour l'écriture du code. En effet, il n'est pas nécessaire de
passer par la phase de compilation pour tester le code source. Il n'est pas non
plus nécessaire de disposer d'un autre programme (debugger) afin d’ôter les
bugs du programme, c'est l’interpréteur qui permet d'afficher directement le
contenu des variables du programme.

1- Appellation impropre
Il faut noter qu'on parle abusivement de langages compilés ou interprétés. En
effet, le caractère compilé ou interprété ne dépend pas du langage, qui n'est
finalement qu'une grammaire et une certaine sémantique. D'ailleurs, certains
langages peuvent être utilisés interprétés ou compilés. Par exemple, il est très
courant d'utiliser Ruby avec un interprète, mais il existe également des
Page 13
compilateurs pour ce langage5. On notera toutefois, qu'il peut être important de
préciser comment le code source est exécuté. En effet, rares sont les organismes
qui proposent à la fois un compilateur et un interpréteur, les résultats du
programme peuvent différer à l'exécution, même si la norme du langage est
clairement définie.

Néanmoins, l'usage qu'on fait des langages est généralement fixé.

2- Test du programme
C'est l'une des étapes les plus importantes de la création d'un programme. En
principe, tout programmeur se doit de vérifier chaque partie d'un programme, de
le tester. Il existe différents types de test. On peut citer en particulier :

 Test unitaire
 Test d'intégration
 Test de performance
Il convient de noter qu'il est parfois possible de vérifier un programme
informatique, c'est-à-dire prouver, de manière plus ou moins automatique, qu'il
assure certaines propriétés.

2.1. Pratiques

 Algorithmique
 Gestion de versions
 Optimisation du code
 Programmation système
 Refactoring
 Test d'intégration
 Test unitaire

2.2. Paradigmes
Un paradigme est un style fondamental de programmation, définissant la
manière dont les programmes doivent être formulés.

Un paradigme est la façon dont sont traitées les solutions aux problèmes et un
style fondamental de programmation, définissant la manière dont les
programmes doivent être formulés. Chaque paradigme amène sa philosophie de
la programmation ; une fois qu'une solution a été imaginée par un programmeur
selon un certain paradigme, un langage de programmation qui suit ce paradigme
permettra de l'exprimer.

Page 14
3- Programmation impérative
Le paradigme impératif est le plus répandu, les opérations sont une suite
d’instructions exécutées par l'ordinateur pour modifier l'état du programme.

4- Programmation procédurale

La programmation procédurale est un sous-ensemble de la programmation


impérative. Elle introduit la notion de routine ou fonction qui est une sorte de
factorisation de code, chaque procédure peut être appelée à n’importe quelle
étape du programme. Ce paradigme permet aussi de supprimer les
instructions goto

Ce paradigme est très répandu, il est présent dans des langages comme le C,
le COBOL ou le FORTRAN.

5- Programmation structurée
Apparue dans les années 70, la programmation structurée est un sous-ensemble
de la programmation impérative. Elle est née avec les travaux de Nicklaus
Wirth pour son Algol W et l'article fondateur de Dijkstra dans Communications
of the ACM, visant à supprimer l’instruction goto.

Tous les langages procéduraux peuvent faire de la programmation structurée,


mais certains comme le FORTRAN s'y prêtent très mal.

6- Programmation déclarative
En programmation déclarative, le programme est indépendant de l’état de
la machine, il s’affranchit donc de tout effet de bord et un appel à une
même fonction produira toujours le même résultat.

Le programme s’écrit non pas comme une suite d’instruction pour résoudre un
problème mais (contrairement à la programmation impérative) comme la
solution au problème.

7- Programmation fonctionnelle
La programmation fonctionnelle se base sur plusieurs principes comme :
l’immutabilité, les fonctions pures (qui ne dépendent pas de l’état de la machine)
et les lambda-calcul.

Page 15
Aujourd’hui, nombreux sont les langages qui offrent une approche fonctionnelle
au programmeur. Certains comme LISP ou Scala sont intrinsèquement
fonctionnels. D’autres comme JavaScript, Java ou PHP ont ajouté cette
possibilité par la suite.

8- Programmation logique
La programmation logique consiste à exprimer les problèmes et les algorithmes
sous forme de prédicats à l’aide d'une base de faits, d'une base de règles et
d'un moteur d'inférence.

9- Programmation orientée objet

La programmation orientée objet (abrégé POO) consiste en la définition et


l'interaction de briques logicielles appelées objets ; ces objets représentent un
concept, une idée. Chaque objet contient des attributs et des méthodes en rapport
avec un sujet.

10- Programmation orientée prototype


La programmation orientée prototype est un sous ensemble de la programmation
orientée objet. Dans ce paradigme, chaque objet est créé à partir
d’un prototype qui est lui-même un objet. Le prototype a donc une existence
physique en mémoire et est mutable contrairement aux classes.

Le JavaScript, le Lua ou le Self sont des exemples de langages utilisant ce


paradigme.

11- Programmation orientée classe


La programmation orientée classe est basée sur la notion de classes. Une classe
est statique, c’est la représentation abstraite de l’objet, c’est à ce niveau que se
passe l’héritage. Tout objet est donc l’instance d’une classe.
Les langages à classes peuvent être sous forme fonctionnelle (CLOS) comme
sous forme impérative (C++, Java), voir les deux (Python, OCaml).

CONCLUSION

Pour conclure, si vous envisagez de disposer d’un système informatique, tel


qu’un site Web, une application mobile, une application Web ou un logiciel,

Page 16
alors la programmation aura un rôle-clef dans son développement. Les
professionnels experts dans la programmation informatique peuvent
généralement endosser la responsabilité de vos projets de développement
informatique. Ils gèrent toutes les écritures informatiques qui permettent de
concevoir les différents programmes qui composent un système informatique.
Finalement, si vous sollicitez une agence web afin de programmer un système
spécifique, assurez-vous de demander un devis personnalisé gratuit.

WEBOGRAPHIE

https://fr.wikipedia.org/wiki/Programmation_informatique
https://etudestech.com/decryptage/apprendre-programmation-informatique/

Page 17
https://sokeo.fr/programmation-informatique
https://webitechparis.com/blog/langages-de-programmation/

Page 18

Vous aimerez peut-être aussi