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 :

langage de script et langage de programmation


Sujet :

Langages de programmation

  1. #1
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut langage de script et langage de programmation
    salut tous le monde .
    quel sont les différence entre un langage de programmation est un langage de script ?

  2. #2
    Expert éminent
    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
    Points : 8 586
    Points
    8 586
    Par défaut
    Bonne question, ça dépend pas mal de qui te répond....

    --
    Jedaï

  3. #3
    Membre confirmé
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    215
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 215
    Points : 558
    Points
    558
    Par défaut
    J'aurais tendance à répondre qu'un langage de script est un langage de programmation interprêté, et donc avec lequel le programme (appelé script) est immédiatement exécutable sans avoir à compiler etc...

    Au départ, les langages de script étaient limités, mais au fil du temps, et de langage comme perl, python, PHP, on en est arrivé à ne plus voir trop la différence entre langage de script et langage de programmation interprété.

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Pour moi, un langage de script est interprété (ou compilé à la volée de façon totalement transparente pour l'utilisateur et sans "coût" de temps visible) par un interpréteur et/ou une machine virtuelle, et il est intégrable au sein d'un logiciel quelconque afin d'obtenir une "symbiose" logicielle : le langage de script permet d'étendre et personnaliser le programme hôte, qui en retour "enrichit" le langage de script avec des commandes natives qui lui sont propres. A noter qu'un interpréteur de commande (shell Unix, interpréteur de commandes DOS/Windows, etc) est également considéré comme un programme hôte.
    Le code est ré-interprété à chaque exécution, sauf dans des cas particuliers de mise en cache d'une version "sûre" (intégralement vérifiée syntaxiquement, voire sémantiquement), et occasionne donc un "surcoût" de temps d'exécution pour une opération qui est, finalement, toujours la même et avec le même résultat. L'avantage est que le programme est le code source lui-même, et que toute modification est immédiatement testable sans aucun autre logiciel que l'hôte et son interpréteur intégré.

    Un langage de programmation, c'est un langage informatique permettant d'implémenter un algorithme (avec plus ou moins de facilités : implémenter des fonctions mathématiques "libres" en Scheme ou Lisp est trivial, en Assembleur y'a de quoi se tirer une balle), et possédant une grammaire précise et quasi-immuable.

    En ce sens, un langage de script EST un langage de programmation, mais tous les langages de programmation ne sont pas des langages de scripts.

    Si par "langage de programmation" tu sous-entendais "langage compilé", la différence est plus simple : un langage est dit compilé lorsqu'il doit passer par un compilateur, qui effectue les vérifications de syntaxe et de sémantique une seule et unique fois, afin de produire un "code exécutable" réduit à l'essentiel et n'ayant plus aucun lien visible avec le code source (il est d'ailleurs souvent impossible d'effectuer l'opération inverse de la compilation). Durant cette phase, le compilateur effectue un travail similaire à celui d'un interpréteur, la différence majeure étant que le code produit est stocké au lieu d'être exécuté directement.
    Ce code peut être natif (exécuté directement sur le processeur), ou être du bytecode (exécuté par un processeur virtuel, dans une machine virtuelle).

    Toutefois, c'est un résumé extrêmement succinct et réducteur que je te donne, le sujet est quand même très vaste... Il faudra préciser ta question si jamais tu n'as pas eu la réponse que tu souhaitais.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par Mac LAK Voir le message

    ........langage de script est interprété
    ou compilé à la volée de façon totalement transparente
    intégrable au sein d'un logiciel ........

    ......Un langage de programmation,
    permet d'implémenter un algorithme
    possédant une grammaire précise et quasi-immuable......

    .....En ce sens, un langage de script EST un langage de programmation, mais tous les langages de programmation ne sont pas des langages de scripts.....
    si j'ai bien compris ,un langage de programmation peut être interprété ou compilé par contre un langage de script est interprété ou compilé( à la volée)

  6. #6
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Un langage de programmation est destiné à implémenter des algorithmes. La manière dont c'est exécuté (interprété, précompilé, compilé bytecode, compilé natif) est totalement accessoire, et n'offre (presque) aucun intérêt tant que l'algo est correctement implémenté, et que ça répond donc au besoin.

    Un langage de script est interprété, le cas des compilations à la volée étant anecdotique... Et surtout, ça ne change pas le fait que ça reste "interprété", c'est juste une optimisation pour améliorer les temps d'exécution.
    Le plus important dans un langage de script, à mon sens, c'est qu'il est en "symbiose" avec un programme hôte...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  7. #7
    Expert confirmé
    Avatar de slim_java
    Homme Profil pro
    Enseignant
    Inscrit en
    Septembre 2008
    Messages
    2 272
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2 272
    Points : 4 539
    Points
    4 539
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    .....
    Le plus important dans un langage de script, à mon sens, c'est qu'il est en "symbiose" avec un programme hôte...
    tu peut m'expliquer de plus STP

  8. #8
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Je l'ai déjà fait, je recite mon premier message :
    le langage de script permet d'étendre et personnaliser le programme hôte, qui en retour "enrichit" le langage de script avec des commandes natives qui lui sont propres.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  9. #9
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Un langage n'est pas interprété ou compilé, c'est un programme qui l'est.
    L'interpréteur (ou le compilateur), n'est qu'une implémentation du langage (une parmi plusieurs possibles), et parler de langage interprété me semble un abus de langage (si je puis dire).

    Je préfère donc nettement rapprocher les langages de scripts des langages de programmation dynamique, comme le fait Wikipedia (c'est à dire un langage qui autorise des actions au moment de l'exécution là où les autres ne les autorise qu'au moment de la compilation : évaluation d'expression dynamiques, fermetures, ...).
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  10. #10
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Citation Envoyé par Philou67430 Voir le message
    L'interpréteur (ou le compilateur), n'est qu'une implémentation du langage (une parmi plusieurs possibles), et parler de langage interprété me semble un abus de langage (si je puis dire).
    C'en est bien un... Mais devenu tellement habituel depuis tellement d'années qu'il est peu probable qu'une confusion soit possible... Car si ce n'est pas pour créer des programmes, un langage ne sert à rien ! En lui-même, que ce soit ton interpréteur, compilateur ou même la grammaire du langage en question, ça ne sert à RIEN tant que tu ne fais pas un programme avec.
    C'est le même genre d'abus de langage qui fait dire que "les armes sont dangereuses"... Alors qu'en elle-même, une arme est totalement inoffensive, c'est un bête objet : c'est l'humain qui la manipule qui est dangereux ou pas...

    Je préfère donc nettement rapprocher les langages de scripts des langages de programmation dynamique, comme le fait Wikipedia (c'est à dire un langage qui autorise des actions au moment de l'exécution là où les autres ne les autorise qu'au moment de la compilation : évaluation d'expression dynamiques, fermetures, ...).
    Sauf que cela est réducteur : un langage interprété (ou langage de programmation dynamique si tu préfères) n'a pas forcément la notion de script, qui elle-même sous-entends que l'on pilote quelque chose à l'aide d'un programme (le script) "simple", dynamique et surtout au niveau de l'utilisateur final, sans qu'il aie les sources du programme piloté ni besoin des développeurs du programme pour faire tout ce qu'il a envie.

    C'est ce que je voulais souligner quand je parlais de "symbiose" entre un langage de script et son hôte... Si tu prends deux programmes (= les hôtes) scriptés par un langage de script quelconque (ex : Python), tu auras dans les DEUX programmes un tronc commun (la base du langage de script), PLUS des extensions propres à chaque hôte, et absentes de l'autre programme (API spécifique)... Chaque hôte enrichit et étend le langage de script, et le langage de script permet en retour de personnaliser le fonctionnement de l'hôte.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  11. #11
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Points : 5 753
    Points
    5 753
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    C'en est bien un... Mais devenu tellement habituel depuis tellement d'années qu'il est peu probable qu'une confusion soit possible... Car si ce n'est pas pour créer des programmes, un langage ne sert à rien ! En lui-même, que ce soit ton interpréteur, compilateur ou même la grammaire du langage en question, ça ne sert à RIEN tant que tu ne fais pas un programme avec.
    Je voulais dire que ce n'est pas une caractéristique intrinsèque d'un langage que d'être "interprété" ou "compilé" (seule sa syntaxe et sa sémantique le défini, son implémentation est généralement libre, sauf peut-être Java qui impose une machine virtuelle dans les spécifications du langages).
    Perl et Python peuvent être interprétés et compilés, Java est compilé et interprété, ...

    Sinon, pour la symbiose, pourrais-tu donner un exemple concret de ce qu'apporte un langage de script en terme de symbiose et que n'apporte pas un langage de programmation (comme C) ?
    Plus j'apprends, et plus je mesure mon ignorance (philou67430)
    Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
    Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
    Si c'est utile, say

  12. #12
    Expert éminent sénior

    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10 603
    Détails du profil
    Informations personnelles :
    Âge : 66
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 603
    Points : 17 913
    Points
    17 913
    Billets dans le blog
    2
    Par défaut
    juste pour ne pas faire couler beaucoup d'encre ??? de bande passante ?? inutile, je rappelle que ce sujet et déjà évoqué dans ce même forum :

    script vs programmation

    et

    jobs vs processus
    "Un homme sage ne croit que la moitié de ce qu’il lit. Plus sage encore, il sait laquelle".

    Consultant indépendant.
    Architecture systèmes complexes. Programmation grosses applications critiques. Ergonomie.
    C, Fortran, XWindow/Motif, Java

    Je ne réponds pas aux MP techniques

  13. #13
    Nouveau Candidat au Club
    Femme Profil pro
    BESWEB
    Inscrit en
    Juin 2017
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : BESWEB

    Informations forums :
    Inscription : Juin 2017
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Donc, en gros et pour faire simple:
    Programmation=codage binaire
    Script= Langage interprété par un programme

  14. #14
    Rédacteur/Modérateur


    Homme Profil pro
    Network game programmer
    Inscrit en
    Juin 2010
    Messages
    7 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Canada

    Informations professionnelles :
    Activité : Network game programmer

    Informations forums :
    Inscription : Juin 2010
    Messages : 7 115
    Points : 32 967
    Points
    32 967
    Billets dans le blog
    4
    Par défaut
    8 ans plus tard...
    Je n'ai jamais entendu ce terme de "langage de programmation", ou plutôt jamais entendu une telle différence. Un langage de script c'est un langage de programmation. Ecrire un script c'est programmer.
    Un langage de script aura besoin d'un interpréteur pour être exécuté et ne sera pas compilé dans un exécutable natif à la plateforme.

    Tes fichiers .py, tu dois avoir Python installé. Quand tu lances un .py, le système sait qu'il faut l'ouvrir avec Python, tout comme il ouvre notepad pour un fichier .txt.
    Tes fichiers .php sont exécutés par Apache ou ton serveur PHP.
    php et python sont des langages de script.
    Quand tu compiles un projet C++, tu as un .exe que le système lance tel quel, il ne lance pas de programme pour le lire et l'exécuter.
    C++ n'est pas un langage de script.
    Pensez à consulter la FAQ ou les cours et tutoriels de la section C++.
    Un peu de programmation réseau ?
    Aucune aide via MP ne sera dispensée. Merci d'utiliser les forums prévus à cet effet.

  15. #15
    Responsable Qt & Livres


    Avatar de dourouc05
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Août 2008
    Messages
    26 619
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2008
    Messages : 26 619
    Points : 188 601
    Points
    188 601
    Par défaut
    Et quand on ajoute des choses comme cling https://root.cern.ch/cling (une invite de commandes C++) ou Jython http://www.jython.org/ (un compilateur Python pour la JVM), ça devient de suite plus fun .
    Vous souhaitez participer aux rubriques Qt (tutoriels, FAQ, traductions) ou HPC ? Contactez-moi par MP.

    Créer des applications graphiques en Python avec PyQt5
    Créer des applications avec Qt 5.

    Pas de question d'ordre technique par MP !

Discussions similaires

  1. Réponses: 8
    Dernier message: 23/11/2005, 14h04
  2. Réponses: 4
    Dernier message: 01/06/2005, 17h01
  3. Définition langage de scripting
    Par Filippo dans le forum Langages de programmation
    Réponses: 2
    Dernier message: 28/12/2004, 09h25
  4. [langage] perl script pour balancer un B-arbre
    Par RonMaster dans le forum Langage
    Réponses: 5
    Dernier message: 22/10/2004, 17h35
  5. [langage] cherche script pour formater une chaine
    Par MASSAKA dans le forum Langage
    Réponses: 7
    Dernier message: 12/11/2003, 12h18

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