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 :

Script vs programmation


Sujet :

Langages de programmation

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut Script vs programmation
    Bonjour,


    Je me demande quels sont les différences entre programmation interprété et programmation compilé et java ?
    Quelle différences de performaces y a t'il ?
    Quelles différences de sécurité ?
    ...

  2. #2
    Expert confirmé

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut


    la principale différence entre un script et autre chose, c'est qu'un script n'est qu'un ensemble de commandes, qui, ELLES, sont soit d'autres scripts, soit ces AUTRES CHOSES...


    Un script en tant que tel ne fait rien du tout, si il n'y a pas quelqu'un qui s'est tapé de faire un certain nombre de programmes , qui du coup vont devenir des commandes...

  3. #3
    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 souviron34 Voir le message
    la principale différence entre un script et autre chose, c'est qu'un script n'est qu'un ensemble de commandes, qui, ELLES, sont soit d'autres scripts, soit ces AUTRES CHOSES...


    Un script en tant que tel ne fait rien du tout, si il n'y a pas quelqu'un qui s'est tapé de faire un certain nombre de programmes , qui du coup vont devenir des commandes...
    On a saisi que tu n'aimes pas les langages interprétés, néanmoins tu fait ici preuve d'une grande méconnaissance du domaine, ce que tu décris est un shellscript seulement, et même dans un shellscript d'ailleurs il y a un certain nombre de commandes qui n'entrent pas dans ta description.

    Un langage compilé est un langage dont les codes sources doivent être compilés (autrement dit "transformés") par un compilateur en langage machine, c'est à dire en une suite d'instruction directement exécutable par le processeur de ton ordinateur (je simplifie un peu ici mais sinon il faudrait que je commence à décrire le rôle de l'OS...).

    A contrario un langage interprété est un langage dont les codes sources ne sont pas compilés en langage machine (directement exécutable par l'ordinateur), mais restent en l'état et sont interprétés par un interpréteur, autrement dit un programme (compilé lui en langage machine) qui va parser (déchiffrer et transformer en une structure de donnée) le code source et exécuter les instructions qui s'y trouvent.

    Jusque là les choses étaient simples et on pouvait dire : les langages compilés sont performants, les langages interprétés sont horriblement lent, malheureusement (pour la simplicité de l'explication) ou heureusement (pour le progrès de l'informatique), la plupart des langages dits "interprétés" utilisent aujourd'hui une approche hybride dans laquelle leur code source peut-être compilé vers une forme intermédiaire dite "bytecode" qui n'est pas le langage de ta machine, mais plutôt une sorte de langage machine adapté à la VM (Machine Virtuelle) qui va l'exécuter.
    Les VM sont généralement nettement plus rapides que les interpréteurs d'antan, et pour rajouter à la confusion, un certain nombre d'entre elles utilise ce qu'on appelle de la compilation JIT (Just In Time/Juste à temps) qui compile pendant l'exécution un bout de bytecode en langage machine natif pour l'exécuter directement sur le processeur !
    C'est l'approche adoptée par exemple par Java et .NET, et ces deux plateformes sont franchement très rapides, se rapprochant vraiment de la vitesse des langages compilés comme le C++, et même la dépassant dans certains cas bien particuliers.

    --
    Jedaï

  4. #4
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    Citation Envoyé par Jedai Voir le message
    On a saisi que tu n'aimes pas les langages interprétés, néanmoins tu fait ici preuve d'une grande méconnaissance du domaine, ce que tu décris est un shellscript seulement, et même dans un shellscript d'ailleurs il y a un certain nombre de commandes qui n'entrent pas dans ta description.

    Un langage compilé est un langage dont les codes sources doivent être compilés (autrement dit "transformés") par un compilateur en langage machine, c'est à dire en une suite d'instruction directement exécutable par le processeur de ton ordinateur (je simplifie un peu ici mais sinon il faudrait que je commence à décrire le rôle de l'OS...).

    A contrario un langage interprété est un langage dont les codes sources ne sont pas compilés en langage machine (directement exécutable par l'ordinateur), mais restent en l'état et sont interprétés par un interpréteur, autrement dit un programme (compilé lui en langage machine) qui va parser (déchiffrer et transformer en une structure de donnée) le code source et exécuter les instructions qui s'y trouvent.

    Jusque là les choses étaient simples et on pouvait dire : les langages compilés sont performants, les langages interprétés sont horriblement lent, malheureusement (pour la simplicité de l'explication) ou heureusement (pour le progrès de l'informatique), la plupart des langages dits "interprétés" utilisent aujourd'hui une approche hybride dans laquelle leur code source peut-être compilé vers une forme intermédiaire dite "bytecode" qui n'est pas le langage de ta machine, mais plutôt une sorte de langage machine adapté à la VM (Machine Virtuelle) qui va l'exécuter.
    Les VM sont généralement nettement plus rapides que les interpréteurs d'antan, et pour rajouter à la confusion, un certain nombre d'entre elles utilise ce qu'on appelle de la compilation JIT (Just In Time/Juste à temps) qui compile pendant l'exécution un bout de bytecode en langage machine natif pour l'exécuter directement sur le processeur !
    C'est l'approche adoptée par exemple par Java et .NET, et ces deux plateformes sont franchement très rapides, se rapprochant vraiment de la vitesse des langages compilés comme le C++, et même la dépassant dans certains cas bien particuliers.

    --
    Jedaï
    merci pour la réponse
    mais pour quel type application privilégie t on l'intérprété ou le compilé ?

  5. #5
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Citation Envoyé par sliderman Voir le message
    merci pour la réponse
    mais pour quel type application privilégie t on l'intérprété ou le compilé ?
    Salut,

    Ta question avait un sens avant, à l'époque décrite par Jedai où les langages interprétés étaient horriblement lent. Maintenant, avec la compilation JIT, les limites des deux types deviennent bien plus flou : on peut quasiment tout faire en Java !
    Mais si on parle en revanche de langage de script, leur fonction à la base est (majoritairement) l'automatisation de taches répétitives : traitement de logs, création de comptes utilisateurs, récupération périodique de données sur un site web, administration réseau, installation de logiciels... Mais rien n'empêche d'utiliser un langage de script pour faire une application lourde.

  6. #6
    Expert confirmé

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    j'ajouterais que, outre les problèmes de sécurité (voir la discussion sur les clients-serveurs et la sécurité http://www.developpez.net/forums/sho...d.php?t=254692), il peut y avoir également des problèmes de vitesse, suivant ce que l'on veut faire..

    Par exemple, pour une application sensée faire du maillage 3D ou de l'image de synthèse, ou dans laquelle le temps de réaction graphique avec un grand nombre d'objets est en cause, on choisira bien évidemment un langage compilé (exemple typique d'une application de maillage : 100 000 vecteurs), pour accèder au plus vite aux fonctions graphiques.

    A l'inverse, pour une appli grand public destinée au Web, ou avec un faible nombre de graphisme devant être modifiés en temps réel, on optera plus pour un langage style Java, Php, etc..

    De la même manière, pour un programme de calcul scientifique, on optera vraisemblablement pour un langage compilé. Mais pour effectuer ce calcul tous les jours toutes les 3 heures, on utilisera vraisemblablement un script, qui appellera ce programme....

    Mais la question est vaste....

  7. #7
    Membre éprouvé
    Homme Profil pro
    Technophile Web
    Inscrit en
    Mai 2007
    Messages
    930
    Détails du profil
    Informations personnelles :
    Sexe : Homme

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

    Informations forums :
    Inscription : Mai 2007
    Messages : 930
    Par défaut
    Citation Envoyé par Woufeil Voir le message
    avec la compilation JIT
    ça veut dire uoi exactement JIT
    yum est écrit en python (langage interprété) est il est très rapide

  8. #8
    Expert confirmé

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 610
    Billets dans le blog
    2
    Par défaut
    Citation Envoyé par Jedai Voir le message
    On a saisi que tu n'aimes pas les langages interprétés, néanmoins tu fait ici preuve d'une grande méconnaissance du domaine, ce que tu décris est un shellscript seulement, et même dans un shellscript d'ailleurs il y a un certain nombre de commandes qui n'entrent pas dans ta description.
    ...
    Désolé, je ne parlais pas du tout de ça, mais de la signification des termes...

    Par rapport au titre du thread...

    Un script par rapport à un programme...

    Je n'ai jamais dit que j'étais contre les langages interprétés...

Discussions similaires

  1. aide sur script ou programme SVP
    Par peterthepower dans le forum Programmation système
    Réponses: 0
    Dernier message: 15/10/2012, 18h56
  2. [Système] Executer un programme externe depuis un scripte php
    Par Scorpion Rouge dans le forum Langage
    Réponses: 1
    Dernier message: 24/01/2006, 11h59
  3. Réponses: 4
    Dernier message: 24/10/2005, 08h36
  4. Script vs programme !
    Par Gandalf dans le forum Linux
    Réponses: 3
    Dernier message: 07/09/2004, 11h43
  5. Lancement d'un programme java depuis un script php
    Par gexti dans le forum Développement Web en Java
    Réponses: 8
    Dernier message: 07/05/2004, 17h40

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