Code source
Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Introduction

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 d'exécuter des programmes enregistrés. C'est un ensemble de circuits électroniques permettant de manipuler des...).

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 langage de programmation informatique de haut niveau, compréhensible par un être humain entraîné, permettant...) doit donc être :

  • Transformé en code compréhensible par la machine par l'opération de compilation ;
  • Transformé en code compréhensible par une machine virtuelle (Le sens originel de machine virtuelle (ou Virtual Machine (VM) en anglais) est la création de plusieurs environnements d'exécution sur un seul ordinateur, dont chacun émule l'ordinateur...), donc compilé aussi
  • Ou être exécuté tel quel par un interpréteur (En informatique, un interprète (parfois appelé, à tort, « interpréteur » par mauvaise traduction de l'anglais) est un outil ayant pour tâche...).

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 la diffusion sont universellement autorisées sans contrepartie financière....) et logiciel (En informatique, un logiciel est un ensemble d'informations relatives à des traitements effectués automatiquement par un appareil informatique. Y sont inclus les instructions de...) 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 restreinte (de l'ordre de quelques centaines de km²), subdivision de la civitas...) et de l'époque. Elle peut notamment être mise en œuvre pour percer les secrets d'une machine comme l'ES3B.

Analogie de la recette de cuisine

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.

Autres problématiques

On peut classer les normes de rédaction du code en plusieurs sous-catégories :

  • Règles de nommage : elles définissent comment donner un nom explicite et facile à retenir pour les éléments du langage utilisé, par la spécification d'espaces de nommage ou de conventions de nommage.
  • Présentation et formatage des sources : comment produire un code source formaté de manière lisible.
  • Documentation des sources : comment documenter les sources (par exemple par des commentaires ou des outils d'extraction de documentation logicielle)
  • Normes syntaxiques : comment éviter les structures syntaxiques complexes qui réduisent la facilité de compréhension du code, et accroissent les risques de dysfonctionnement.

Problématiques liées à la langue

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 d'écrire un code source qui sera analysé par une machine, généralement un ordinateur. Le...) 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 l'écriture des programmes informatiques. C'est une étape importante de la conception de logiciel (voire de matériel, cf....) (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 désigne ainsi ce que chaque élément a besoin de connaître de l’autre pour pouvoir fonctionner correctement.) 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.

  • Le français est utilisé pour des raisons légales, mais aussi parce que cette langue facilite la communication (La communication concerne aussi bien l'homme (communication intra-psychique, interpersonnelle, groupale...) que l'animal (communication intra- ou inter- espèces) ou la machine (télécommunications, nouvelles...), notamment lorsque plusieurs équipes/personnes doivent travailler sur un même projet (Un projet est un engagement irréversible de résultat incertain, non reproductible a priori à l’identique, nécessitant le concours et l’intégration...), et permet donc d'éviter les risques d'erreur, toutefois, l'utilisation du français souffre parfois de limitations techniques des langages (gestion des accents), ou de la présence de concepts anglophones dans les bibliothèques.
  • L'anglais est utilisé parce qu'il s'intègre naturellement avec les langages et bibliothèques déjà existants. Il est également utilisé dans nombre (La notion de nombre en linguistique est traitée à l’article « Nombre grammatical ».) de projets code source libre. Quelques entreprises choisissent la langue anglaise, afin de pouvoir faire sous-traiter les développements dans des pays à bas coût, où les développeurs peuvent ne pas comprendre le français. Il est également utilisé pour des raisons historiques, parce que d'anciens langages ne permettent pas de gérer les accents, et donc les langues autres que l'anglais.
  • Un projet comme OpenOffice (OpenOffice.org (parfois abrégé en OOo) désigne à la fois un logiciel libre de bureautique, une communauté de développeurs, et le site internet hébergeant l'ensemble du projet. Le but...).org contient certains commentaires en allemand, ce qui est logique (La logique (du grec logikê, dérivé de logos (λόγος), terme inventé par Xénocrate signifiant à la fois...) puisqu'étant un projet libre et collaboratif, tout (Le tout compris comme ensemble de ce qui existe est souvent interprété comme le monde ou l'univers.) le monde (Le mot monde peut désigner :) peut y apporter quelque chose et c'est là un beau mélange (Un mélange est une association de deux ou plusieurs substances solides, liquides ou gazeuses qui n'interagissent pas chimiquement. Le résultat de l'opération est une préparation aussi appelée mélange. Les...) de cultures et de langues dans la diversité des programmeurs.
Page générée en 0.118 seconde(s) - site hébergé chez Amen
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
Ce site est édité par Techno-Science.net - A propos - Informations légales
Partenaire: HD-Numérique