Le code source (ou les sources voire le source) est un ensemble d'instructions écrites dans un langage de programmation informatique de haut niveau, compréhensible par un être humain entraîné, permettant d'obtenir un programme pour un ordinateur (Un ordinateur est une machine dotée d'une unité de traitement lui permettant...).
Les systèmes d'exploitation ne peuvent pas directement exploiter le code source ; ils ne peuvent que lancer des exécutables. Le code source (Le code source (ou les sources voire le source) est un ensemble d'instructions écrites dans un...) doit donc être :
Le code source peut être public ou privé (voir logiciel libre (Un logiciel libre est un logiciel dont l'utilisation, l'étude, la modification, la duplication...) et logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements...) propriétaire).
Toutefois, il est techniquement possible, bien que ce soit plus compliqué, de savoir ce que fait un logiciel sans avoir le code source. La légalité des techniques utilisées à ces fins dépend du pays (Pays vient du latin pagus qui désignait une subdivision territoriale et tribale d'étendue...) et de l'époque. Elle peut notamment être mise en œuvre pour percer les secrets d'une machine comme l'ES3B.
L'analogie du code source et de la recette de cuisine est souvent employée dans une volonté de vulgarisation. La recette est une liste organisée d'ingrédients en quantités et fonctions définies, dont le but est d'obtenir un résultat visé par le cuisinier (Cuisine), selon une technique et un enchaînement d'opérations déterminés..
Ainsi le code source peut être apparenté à une recette de cuisine.
Par exemple, si on mange un plat, il est fort probable que l'on puisse deviner les éléments principaux de sa composition et imaginer dans les grandes lignes comment le faire. Néanmoins, pour un plat très raffiné et subtil (comme l'est un programme) on ne pourra pas savoir comment le chef a procédé. Il faut la recette détaillée (pour un programme la recette peut compter plusieurs millions de lignes de code !) pour pouvoir reproduire le plat... ou bien on est obligé d'acheter les plats préparés.
On peut classer les normes de rédaction du code en plusieurs sous-catégories :
Le code peut se faire suivant des normes très précises qui sont d'autant plus importantes que le langage de programmation (Un langage de programmation est un langage informatique, permettant à un être humain...) ou les outils utilisés permettent des dérives.
Le code s'écrit en utilisant d'une part un langage de programmation (La programmation dans le domaine informatique est l'ensemble des activités qui permettent...) (par exemple java), et d'autre part une langue humaine (français, anglais, allemand) pour les commentaires. Plusieurs problématiques concernent la langue : la langue utilisée dans les spécifications et conceptions, la langue utilisée dans les commentaires, la langue utilisée lors de l'exécution dans l'interface (Une interface est une zone, réelle ou virtuelle qui sépare deux éléments. L’interface...) homme-machine, la langue utilisée pour nommer les concepts (identificateurs), les langues dans les bibliothèques logicielles utilisées. Ces problématiques sont souvent liées, notamment avec la javadoc, et l'encodage du code source.
En France, en 2006, les deux principales langues utilisées sont le français et l'anglais, même si d'autres langues sont utilisées de manière anecdotique.