code source

Une définition du Jargon Français.

locution nominale, masculin.  [programmation]. Texte d'un programme ou d'une description de document, exprimé dans un langage d'ordinaire compréhensible par un être humain, destiné à être compilé, interprété, rendu ...

Synonyme source.

Voici une définition nettement plus complète, d'Erwan Esnault : le code source est la représentation dans un langage humainement compréhensible du fonctionnement d'une œuvre. Le langage est choisi initialement par l'auteur. Ce langage peut-être également standardisé, normalisé ou tout au moins reconnu et utilisé de la même manière par un ensemble de personnes. Le code source peut être complété de commentaires et de documentation en langage naturel. Le but du code source est d'être utilisé par un dispositif de transformation en langage compréhensible (processeur, compilateur, interpréteur) par une machine numérique (un ordinateur) qui produira le code machine. L'exécution de ce code par la machine donnera l'œuvre.

[modifier] Un programme, plusieurs codes sources équivalents

Voici un code source en langage Lisp, développé par un humain:

(write-line "Coucou!")

Voici un équivalent (simplifié) en langage C, tel que produit par l'analyse du précédent effectuée par un compilateur Lisp vers C:

#include <stdio.h>
 
int main()
{
  puts("Coucou!");
  return 0;
}

Voici un équivalent en langage d'assemblage, produit par gcc en analysant le source en C:

	.file	"hello.c"
	.section	.rodata
.LC0:
	.string	"Coucou!"
	.text
.globl main
	.type	main, @function
main:
	leal	4(%esp), %ecx
	andl	$-16, %esp
	pushl	-4(%ecx)
	pushl	%ebp
	movl	%esp, %ebp
	pushl	%ecx
	subl	$4, %esp
	movl	$.LC0, (%esp)
	call	puts
	movl	$0, %eax
	addl	$4, %esp
	popl	%ecx
	popl	%ebp
	leal	-4(%ecx), %esp
	ret
	.size	main, .-main
	.ident	"GCC: (GNU) 4.1.2"
	.section	.note.GNU-stack,"",@progbits