IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langages de programmation Discussion :

Qu'est-ce qu'un script ?


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 9
    Par défaut Qu'est-ce qu'un script ?
    Existe-t-il une définition précise du mot script ?
    Quelle différence entre un langage de programmation et un langage de script ?

    Merci.

  2. #2
    Membre chevronné
    Avatar de joellel
    Profil pro
    Inscrit en
    Février 2003
    Messages
    234
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2003
    Messages : 234
    Par défaut
    En général, on utilise le terme de script pour un programme écrit dans un langage interprété.
    A l'origine, c'était pour les programmes écrits pour les interpréteurs de commande (scripts shell unix, par exemple), puis on l'a étendu pour d'autres interpréteurs (javascript, VBscript, ...).
    Ceci dit, on trouve des gens qui utilisent le terme script pour tout type de programme

  3. #3
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    J'ai toujours trouvé ça un peu stupide de dire qu'un langage de programmation, ça ne pouvait pas être interprété. Qu'est-ce qui empêcherait de concevoir un interpréteur C ? Un programme qui s'exécuterait directement à partir des codes sources ? Ca n'a à mon avis pas beaucoup d'influence sur la nature (le pouvoir d'expression, la turing-completion...) du langage en lui-même.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 178
    Par défaut
    Citation Envoyé par Eusebius
    Qu'est-ce qui empêcherait de concevoir un interpréteur C ?
    Je crois que ca existe, mais je ne me souviens plus du nom.

    Citation Envoyé par Eusebius
    Ca n'a à mon avis pas beaucoup d'influence sur la nature (le pouvoir d'expression, la turing-completion...) du langage en lui-même.
    Je rappel que tous les langages de programmation sont turing-complet.

    Par contre le fait qu'un langage soit interprété (d'ailleur il n'en reste plus bcp la plupart sont compilé à la volé vers du byte-code pour machine-virtuelle) permet des petites fantaisies qu'il est délicat de compiler correctement. Donc cela influe sur l'expressivitée du langage.

  5. #5
    Membre Expert

    Profil pro
    imposteur
    Inscrit en
    Avril 2003
    Messages
    3 308
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : imposteur

    Informations forums :
    Inscription : Avril 2003
    Messages : 3 308
    Par défaut
    Citation Envoyé par outs
    le fait qu'un langage soit interprété permet des petites fantaisies qu'il est délicat de compiler correctement.
    Oué... D'ailleurs plusieurs de ces fantaisies sont des sources de failles de sécurité... Mon point de vue profond en fait, c'est qu'il faudrait développer avec les langages interprétés, avec exactement la même rigueur que pour les langages compilés.

  6. #6
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    Citation Envoyé par Eusebius
    JQu'est-ce qui empêcherait de concevoir un interpréteur C ?
    Comme Ch par exemple ? Ou CInt ?

    Le terme script n'est pas seulement lié à l'interprétation plutôt qu'à la compilation du code mais plutôt à un but différent du langage généraliste : pour un langage de script l'expressivité et la facilité de mise en oeuvre de tâches complexe prime sur l'efficacité de l'exécution, de ce fait les langages de script modernes sont souvent digne de l'appellation de langage de haut niveau, bien plus que des langages comme C, C++, Java... (ceci n'est pas un troll, tout dépend de ce qu'on appelle langage de haut niveau, si l'on entend par là "langage dans lequel on peut accomplir une tâche hautement complexe sans s'embarasser de détails de mise en oeuvre" j'espère que la plupart des programmeurs présents s'accorderont sur le fait que Python, Perl, Ruby ou autres cousins sont nettement plus proche de cette définition que Java ou C++ (personne ne contestera pour C j'espère...)).

    A l'origine les langages de script avaient tendance à être très spécialisés dans leur domaine et à ne permettre qu'avec difficulté les escursions au-dehors, de plus ils avaient des performances déplorables car ils étaient souvent purement interprété (ligne par ligne...), mais aujourd'hui les frontières sont beaucoup plus flous car les langages de script phares (Python, Ruby, Perl) sont tout aussi généraliste que leurs grand frères langages de programmation, et la ligne entre l'interprété et le compilé est beaucoup plus difficile à tracer car tous ces langages passent par une phase de compilation vers un bytecode et se dotent souvent de compilateurs JIT ! De plus la question des performances, déjà bien réduites par les innovations précitées, revêt une importance bien moindre à la lumière de la puissance des machines actuelles.

    En résumé la distinction Script/Programme n'a plus vraiment lieu d'être aujourd'hui (sauf dans des domaines bien précis où la performance, la régularité ou le contrôle de la mémoire employée est vital) et j'emploie pour ma part indifféremment les deux termes pour parler des fichiers que j'écris en Perl.

    --
    Jedaï

  7. #7
    Expert confirmé

    Inscrit en
    Novembre 2005
    Messages
    5 145
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 5 145
    Par défaut
    Citation Envoyé par petitnuage
    Existe-t-il une définition précise du mot script ?
    Pas a ma connaissance.

    Quelle différence entre un langage de programmation et un langage de script?
    Pour moi, un langage de script c'est un langage qui delegue le boulot a d'autres
    programmes (principalement les langages de commandes -- shell) ou un petit
    langage specialise (genre awk, sed). Je ne nommerais donc pas TCL ou Perl des
    langages de script s'il n'y avait l'histoire -- perl a ete concu pour remplacer
    justement shell et petits langages specialise, tcl a ete concu pour etre etendu
    et servir de langage de commande pour des applications plus specialisees
    (l'extension la plus courante etant d'ailleurs tk, servant a ajouter une interface
    graphique a quelquechose qui n'en a pas).

    J'ai vu ces dernieres annees une tendance a utiliser script pour tout langage
    interprete et meme pour tout programme (encore que ca, je n'ai vu que sur
    developpez).

    A noter que dans le second sens (langage specialise/langage d'extension) on utilise
    aussi macro (qui a un sens propre ou le comportement est defini par pure
    substitution).

  8. #8
    Expert confirmé
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 55

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Pour ma part, les langages de script sont des langages faisant partie intégrante d'un logiciel (application ou système d'exploitation), et permettant de le piloter par programmation pour automatiser des tâches dévolues à ce logiciel. Entrent dans cette catégorie des langages comme VBScript, Javascript, les versions embarquées de Lisp (Emacs) ou Python, ... Selon cette définition, les langages de script ne disposent que d'une librairie de fonctions restreinte, leur première tâche consistant à servir de "glu" pour des composants logiciels auxquels ils accèdent généralement par l'intermédiaire d'une API.

    Toujours selon cette définition, des langages comme Perl, Python, Ruby ou même PHP ne peuvent plus vraiment être qualifiés de langages de script...
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

Discussions similaires

  1. Savoir quel shell est utilisé par un script
    Par OniChou dans le forum Shell et commandes GNU
    Réponses: 9
    Dernier message: 15/05/2008, 17h47
  2. [Wamp] Le même message m'est affiché pour des scripts différents
    Par salmoucha dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 18
    Dernier message: 05/03/2008, 17h38
  3. [CKEditor] Quelle est la licence du script fckeditor.php ?
    Par Annuaire411 dans le forum Bibliothèques & Frameworks
    Réponses: 5
    Dernier message: 02/11/2006, 21h50
  4. est ce possible les scripts js dynamique??
    Par kenny49 dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 21/07/2006, 12h12
  5. Réponses: 1
    Dernier message: 30/04/2006, 14h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo