-
Script vs programme !
-> Intro, j'ai lu qqpart (une man page sans doute) que Linux ne tenait pas compte des SUID pour les scripts d'ou là question :
-> Question : Quelle difference entre script et programme ?
certes je sais ce qu'est script shell là pas de problème...
Je sais aussi ce qu'est un programme en C, pas d eproblème non plus...
mais pyton/perl/tcl/java ? ca fait des programmes ou des scripts ?
ou se trouve la frontiere ?
-
la frontiere entre script et programme est simple à comprendre et tient a une phrase :
"Tout ce qui n'est pas compilé est du script qu'il utilise sont propre interpreteur ou qu'il soit autoexecutable. Tout langage nécessitant une compilation pour que le programme soit executable construit des programmes ou applications"
C = programmes (a l'exeptions des interpreteurs de tests mais peu fiables)
pascal = programmes
tcl = scripts
shells = scripts
vi = scripts ou edition
awk = scripts
forth = scripts autoexecutable ou interpretés
perl = scripts
html = script (universel au niveau des interpreteurs mais script quand même)
etc...etc...
-
un programme c'est: du code compilé en code machine dépendant de la plateforme et exécutable sans pré-requis (sauf libraires éventuelles). Le C par exemple
un script c'est: du code non compilé, interprété par un interpréteur ( :!: ) et donc dépendant de l'interpreteur. Le script shell et sh
Au milieu, tu as Java, du code pré-compilé par un compilateur dépendant d'un type de plateforme et "exécuté" ensuite par une machine virtuelle dépendant également de la machine. Les classes Java sont portables sur tous les OS, mais les compilateurs et les VM sont dépendant de l'OS et de la plateforme
Voilà, c'est basique mais ça définit des frontières claires
-
Si j'ai bien compris le script est interpreté alors que le programme est directement executable...
Java produit donc des scripts (sauf si compilé avec gcj)...
Merci à vous deux.