Vous êtes sur la page 1sur 6

Code source

Pour les articles homonymes, voir Code source (homonymie).

Cet article ne cite aucune source et peut contenir des informations erronées (signalé en
novembre 2021).

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de
qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références
utiles à sa vérifiabilité et en les liant à la section « Notes et références » (modifier l'article).

Trouver des sources sur « Code source » :

 Bing [archive]
 Cairn [archive]
 DuckDuckGo [archive]
 E. Universalis [archive]
 Gallica [archive]
 Google [archive]
 G. Books [archive]
 G. News [archive]
 G. Scholar [archive]
 Persée [archive]
 Qwant [archive]
 (zh) Baidu [archive]
 (ru) Yandex [archive]
 (wd) trouver des œuvres sur code source

Cet article est une ébauche concernant l’informatique.

Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les


recommandations des projets correspondants.
Copie papier d'un code source en Fortran des années 1970, imprimé sur du papier
continu (en), dédié aux fichiers textes.

En informatique, le code source est un texte qui présente les instructions composant un
programme sous une forme lisible, telles qu'elles ont été écrites dans un langage de
programmation. Le code source se matérialise généralement sous la forme d'un ensemble de
fichiers texte.

Le code source est souvent traduit — par un assembleur ou un compilateur — en code binaire
composé d'instructions exécutables par le processeur. Il peut sinon être directement interprété
à l'exécution du programme. Dans ce deuxième cas, il est parfois traduit au préalable en un
code intermédiaire dont l'interprétation est plus rapide.

Sommaire
 1 Dénomination
 2 Histoire
 3 Principe
o 3.1 Types de code sources
o 3.2 Coloration syntaxique
 4 Analogie avec la recette de cuisine
 5 Aspects légaux
 6 Notes et références
 7 Voir aussi
o 7.1 Articles connexes

Dénomination
L'expression est une traduction de l'anglais source code. Les expressions omettant le terme de
code sont communes : les sources, le source.

Histoire
Carte perforée contenant la ligne d'instruction « Z(1) = Y + W(1) ».

Dans les tout premiers temps de l'informatique, les programmes étaient entrés dans la
mémoire de l'ordinateur par l'intermédiaire des interrupteurs du pupitre de commande, sous
forme du codage binaire des instructions machines. Ce qui ne convenait qu'à de tout petits
programmes. Ils ont ensuite été chargés depuis des bandes perforées, puis des cartes
perforées.

Très rapidement, les programmes ont été rédigés dans un langage symbolique, langage
d'assemblage ou langage évolué comme Fortran, Cobol, puis traduit automatiquement par un
programme (assembleur, compilateur).

Avec l'apparition des disques magnétiques et des consoles interactives, des éditeurs de lignes
puis des éditeurs de textes ont été utilisés pour taper et modifier le code source.

Les possibilités limitées des ordinateurs de l'époque nécessitaient souvent l'impression du


code source sur papier continu (en) avec des bandes Carol.

Aujourd'hui, il existe des environnements de développement, dits Environnement de


développement intégré (IDE, Integrated Development Environment), qui intègrent notamment
les tâches d'édition et de compilation.

Principe
Types de code sources

Un logiciel est une suite d'instructions données à une machine. Un processeur ne peut
exécuter que des instructions représentées sous une forme binaire particulière. Sauf
mécanismes expérimentaux, il n'est pas possible pour un être humain de saisir directement un
code binaire dans la représentation qu'en attend le processeur : un être humain ne peut pas
écrire directement les champs de bits aux adresses attendues. Il est obligé de passer par un
code distinct appelé code source, et qui est par la suite traduit dans la représentation binaire
attendue par la machine puis chargé et exécuté par la cible.

Toutefois, l'écriture d'un code sous forme binaire, même dans un fichier séparé, pose de
nombreux problèmes aux êtres humains. C'est une représentation uniquement constituée d'une
suite ininterrompue de 0 et de 1 qui est difficile à lire, à écrire et à maintenir pour l'être
humain. La diversité des microprocesseurs et des composants présents dans un ordinateur ou
automate, implique qu'un code binaire généré pour un système ne puisse pas être a priori le
même que sur une machine distincte. Aussi, il existe autant de codes binaires que de
configurations et une complexité accrue excluant que l'être humain puisse concevoir
simplement un code binaire de grande ampleur.

Pour éviter ces écueils, et puisqu'une traduction est toujours nécessaire, l'être humain écrit un
code textuel afin qu'il soit plus lisible, plus compréhensible et plus simple à maintenir : c'est le
code source écrit dans un langage de programmation. Il est, dans la plupart des cas, plus
lisible, plus simple à écrire et indépendant du système cible. Un programme tiers
(compilateur, interpréteur ou machine virtuelle) se charge de la traduction du code source en
code binaire exécutable par la cible.

Copie d'écran d'un code source en Java.

Le code généré par l'être humain est appelé code source ; la façon dont est rédigé ce code
source est appelée langage de programmation ; le traducteur de ce code dans sa représentation
binaire est appelé compilateur, interpréteur ou machine virtuelle selon les modalités de la
traduction.

Dans la plupart des langages, on peut distinguer différents éléments dans un code source :

 les éléments décrivant l’algorithme et les données (le code source proprement dit) :
o des symboles identifiant des variables, des mots clefs dénotant des instructions,
des représentations de données ;
o des constantes littérales.

 les commentaires, qui documentent le code source le plus souvent en langage naturel,
destinés aux relecteurs du code source. Ils ne sont pas nécessaires à la production du
code exécutable mais peuvent être utilisés par le compilateur pour, par exemple,
produire automatiquement de la documentation.

Coloration syntaxique

Un code est plus facile à lire et à écrire avec un éditeur fournissant une coloration syntaxique
permettant de distinguer les différents éléments du code source. Les commentaires peuvent
par exemple être mis en vert.

Exemple de code en Ruby :

a = "\nThis is a double quoted string\n"

a = %Q{\nThis is a double quoted string\n}


a = <<BLOCK
This is a double quoted string
This is a double quoted string
BLOCK

a = %/\tThis is a double quoted string\n/

Autre exemple de code en Ruby :

hash = { :water => 'wet', :fire => 'hot' }


puts hash[:fire] # Τυπώνει: hot

hash.each_pair do |key, value| # Ή: hash.each do |key, value|


puts "#{key} is #{value}"
end

# Τυπώνει: water is wet


# fire is hot

hash.delete :water # Σβήνει το :water => 'wet'


hash.delete_if {|key,value| value=='hot'} # Σβήνει το :fire => 'hot'

Autre exemple de code en Ruby :

File.open('file.txt', 'w') {|file| # открытие файла «file.txt» для записи


(«w» - write)
file.puts 'Wrote some text.'
} # Конструкция устраняет неопределѐнность с закрытием файла: закрывается
здесь при любом исходе

Analogie avec la recette de cuisine


L'analogie du code source et de la recette de cuisine est souvent employée dans une volonté
de vulgarisation. Une recette est une liste organisée d'ingrédients dont les quantités et les
fonctions sont définies. Le but est d'obtenir le résultat voulu par le cuisinier, selon une
technique et un enchaînement d'opérations déterminés.

Ainsi le code source peut être apparenté à une recette de cuisine.

Ainsi, une personne dégustant un plat est en mesure de deviner les ingrédients qui le
composent et d'imaginer comment le réaliser. Néanmoins, pour un plat très raffiné et subtil
(comme pourrait l'être un programme), il est fort probable qu'elle ignore le mode opératoire
du cuisinier. Pour le connaître, une recette détaillée serait nécessaire (pour un programme, la
recette peut compter plusieurs millions de lignes de code). La solution alternative à cela serait
d'acheter des plats préparés, c'est un peu ce que l'on fait lorsqu'on achète des logiciels.

Aspects légaux
Le code source peut être public ou privé (voir logiciel libre et logiciel propriétaire). Toutefois,
le code binaire n'étant qu'une traduction du code source, il est toujours possible d'étudier un
logiciel à partir de son code binaire. La légalité des techniques utilisées à ces fins dépend du
pays et de l'époque. Elle peut notamment être mise en œuvre pour percer les secrets d'une
machine comme l'ES3B.

Notes et références
Cette section est vide, insuffisamment détaillée ou incomplète. Votre aide est la bienvenue !
Comment faire ?

Vous aimerez peut-être aussi