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

C++ Discussion :

C++ est-il devenu un langage de script ?


Sujet :

C++

  1. #21
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Citation Envoyé par pgoetz Voir le message
    Donc, C++ se complexifie (cf parametric template) et devient aussi "peu" performant qu'un language de script tel que Python.
    Ca ne peut pas se juger sur un seul exemple, du reste, la fonctionnalité lente citée existe depuis longtemps et n'a aucun rapport avec les nouvelles choses introduites.

  2. #22
    Expert confirmé

    Homme Profil pro
    pdg
    Inscrit en
    Juin 2003
    Messages
    5 756
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : pdg

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 756
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par harddisc Voir le message
    Et vu que getline a des performances catastrophiques (googlez "c++ getline slow"), je ne serais pas étonné qu'en plus la version python ait des performances au moins égales à celle du c++.
    Sans compter qu'il utilise std::endl qui flush donc le fichier sur disque autant de fois qu'il y a de lignes dedans.

    Citation Envoyé par grunk Voir le message
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    file_put_contents($fichier1,file_get_contents($fichier2));

    Vous m'excuserez mais pour le moment je reste sur les "vrais" langages de script
    Tu as oublié de trier tes lignes

    Mais on est d'accord : C++ c'est pas ce qu'il y a de mieux pour faire des scripts.

  3. #23
    Membre émérite Avatar de ctxnop
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2007
    Messages : 858
    Par défaut
    Citation Envoyé par pgoetz Voir le message
    Etrange comparaison, n'est-t-il pas?

    Comparer C++ (-O3) avec Python en terme de performance alors que tous auraient pensé que C++ eût battu Python sans coup férir.
    Donc, C++ se complexifie (cf parametric template) et devient aussi "peu" performant qu'un language de script tel que Python.
    C'est une traduction foireuse. Dans la source c'est
    Citation Envoyé par la source
    compile time with -O3 is roughly the same as Python VM startup and has to be done only once
    Autrement dit, il compare le temps de compilation avec le temps de démarrage de la machine virtuelle utilisée par l'interpréteur Python.
    Ce qui, soit dit en passant, est complètement irrelevant comme comparaison

  4. #24
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Citation Envoyé par ctxnop Voir le message
    Autrement dit, il compare le temps de compilation avec le temps de démarrage de la machine virtuelle utilisée par l'interpréteur Python.
    Ce qui, soit dit en passant, est complètement irrelevant comme comparaison
    En fait, si, dans son idée, le temps d’ « exécution » du « script » c++ est égal à la somme de :
    - temps de compilation (la première fois)
    - temps d’exécution

    Tandis que le temps d’ « exécution » du script python est égal à la somme de :
    - temps de lancement de la vm python (tout le temps)
    - temps d’exécution du programme.

    Dans cette optique là, comparer les deux fait (un peu) sens pour dire qu’en terme de « worst case performance », c++ fait au moins aussi bien que python.

    Mais ça reste quand même bof bof comme comparaison…

  5. #25
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Oui, c'est d'autant moins malin que Python met en cache le bytecode dans un fichier .pyc pour justement éviter de recompiler à chaque fois...

  6. #26
    Membre actif
    Homme Profil pro
    Ingénieur
    Inscrit en
    Octobre 2006
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Transports

    Informations forums :
    Inscription : Octobre 2006
    Messages : 48
    Par défaut
    Citation Envoyé par IceFinger Voir le message
    Il n'y a que moi que ça choque ?
    Il n'utilise le vector que pour une classification ? C'est pas une list<> qu'il faudrait utiliser afin que ce soit réellement efficace ?

    Après, ne pas donner le critère "exécutable a la volée" dans les critères est un peu abusif pour moi (bien que pour le C++ il y ait CINT).
    Il faudrait essayer de trier une list avec sort pour voir ce qui se passe...

  7. #27
    Invité de passage
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2012
    Messages : 1
    Par défaut
    Titre racol-trolleur, article dénué d'intérêt. Une vraie blague. Pourquoi toujours se tenir à ce type de présentation dans les news de développez.com?
    Un peu d'originalité vous tuerait ?
    Par exemple ces questions niaises à la fin ? "C++ 11 fait-il de C++ un langage de script ? Pourquoi ?".
    Non mais quel humain normalement constitué peut ne pas éclater de rire ?! Et l'auteur, pardon le traducteur (attention aux erreurs de traduction relevées dans les commentaires !) n'a pas honte ?
    C'est quoi le but ? informer les gens ? Dans ce cas là on attendrait un peu de travail en amont. Exemple :
    1) Définir ce qu'est un langage de script
    2) Rappeler brièvement dans quel contexte le c++ est utilisé
    3) Expliquer les avantages / désavantages liés à sortir le C++ de son emploi habituel
    4) Conclure en apportant des éléments de réponses à la question suivante, qui me semble moins absurde que l'originale : "quel intérêt peut avoir un programmeur à utiliser le C++ plutôt qu'un langage de script pour accomplir des tâches de haut niveau"

    Plutôt que ça on a une mauvaise traduction et des blagues. Arrêtez le massacre !

    Un programmeur en colère.

  8. #28
    Membre extrêmement actif
    Avatar de NVCfrm
    Homme Profil pro
    Administrateur Système/Réseaux - Developpeur - Consultant
    Inscrit en
    Décembre 2012
    Messages
    1 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations professionnelles :
    Activité : Administrateur Système/Réseaux - Developpeur - Consultant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Décembre 2012
    Messages : 1 037
    Billets dans le blog
    5
    Par défaut
    Bonsoir,

    Pour moi la différence entre les langages de programmation haut niveau, c'est que certains délèguent la robustesse du code au programmeur. Pour les besoins que l'on sait, on trouvera ce type de langage plus adapté qu'un autre. D'autres dispensent le programmeur de tracasseries d'allocation mémoire, fuites..., en mettant suffisamment de fonctionnalités pour ça. Ce type de langage est également préférable dans les situations qu'on sait.
    La distinction de la catégorie c/c++ de certains langages (scripts) reste cette traduction en binaire une seule fois pour toutes, avec cette manipulation bas niveau de la mémoire en direct.
    Ces changements n’ont pas pour objectif de faire disparaître les langages de script, ironise Jussi Pakkanen, avant de conclure que « C++ peut désormais être utilisé dans les scénarios pour lesquels le langage n’était pas prévu à la base ».
    Cet extrait ne contient-il pas substantiellement le but de l'article?
    bien que connaissant peu ou rien du c++ et modestement du c je crois avoir compris ceci:
    Il veut démontrer que la simplification du codage se rapproche, en terme de production pour le programmeur des langages interprétés, donc plus de robustesse garanti au programmeur.
    La simplicité et clarté du code démonstratif m'incite d'ores et déjà à m’intéresser au c++, me disant qu'il est en fin de compte moins pénalisant en avantages que procure les langages interprétés.

  9. #29
    Membre actif
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 49
    Par défaut
    Cet article m’a bien fait rire, surtout l’exemple. Le C++ n’est pas du tout adapté au scripting…

    Voici le même programme, écrit en Haskell : http://lpaste.net/94404.

    Il ne faut pas trop s’emporter avec C++11

  10. #30
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Citation Envoyé par skypers Voir le message
    Voici le même programme, écrit en Haskell : http://lpaste.net/94404.
    Certes, mais ce n’est pas avec un exemple comme ça que tu vas convaincre qu’haskell est un langage lisible.

    <troll>cela dit, si c’est pour remplacer perl </troll>

  11. #31
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    après

    Python est-il adapté pour un usage professionnel ?
    Java est-il un langage de programmation mourant ?

    voilà

    C++ est-il devenu un langage de script ?



    Notre portail actualités est en passe de devenir une référence dans les bêtisiers.

  12. #32
    Membre actif
    Homme Profil pro
    Inscrit en
    Décembre 2010
    Messages
    49
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 49
    Par défaut
    Citation Envoyé par white_tentacle Voir le message
    Certes, mais ce n’est pas avec un exemple comme ça que tu vas convaincre qu’haskell est un langage lisible.

    <troll>cela dit, si c’est pour remplacer perl </troll>
    Dat troll.

  13. #33
    Membre éclairé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2008
    Messages
    836
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Décembre 2008
    Messages : 836
    Par défaut
    Mis à part le fait qu'il n'utilise que la nouvelle syntaxe de for du standard 2011, je me pose des questions au sujet de la performance de son truc...

    Utiliser un vector, donc, un tableau dynamique tout ce qu'il y a de plus bête, puis le trier ensuite avec sort, ça ne serait pas plus efficace avec un conteneur fait pour, genre... je sais pas, on veut un conteneur trié, alors, std::set, qui trie à l'insertion?

    Enfin, de toute façon, même si je suis d'accord que C++11 est bien utile pour diverses raisons, il n'empêche qu'il reste des trucs chiants en C++, par exemple le fait de devoir utiliser des pointeurs dans les collections polymorphiques, au lieu de pouvoir utiliser des références.

    Et s'il voulait mettre en avant le traitement du texte en C++11, il aurait peut-être dû trouver le moyen de parler des conversions int/float/double <-> string.

    Attention, codes pompés de divers sites, j'ai la flemme de penser...

    Pour rappel, avant, on devait faire des trucs comme ça pas sûr de tout, je n'ai jamais aimé cette façon de faire):
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    #include <sstream>
     
    int i = 5;
     std::string s;
     std::stringstream out;
     out << i;
     s = out.str();

    Ou comme ça, en squattant la libc ( ce que je faisais, j'ai horreur des flux ):
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    /* strtol example */
    #include <stdio.h>      /* printf */
    #include <stdlib.h>     /* strtol */
     
    int main ()
    {
      char szNumbers[] = "2001 60c0c0 -1101110100110100100000 0x6fffff";
      char * pEnd;
      long int li1, li2, li3, li4;
      li1 = strtol (szNumbers,&pEnd,10);
      li2 = strtol (pEnd,&pEnd,16);
      li3 = strtol (pEnd,&pEnd,2);
      li4 = strtol (pEnd,NULL,0);
      printf ("The decimal equivalents are: %ld, %ld, %ld and %ld.\n", li1, li2, li3, li4);
      return 0;
    }

    Maintenant, on à ça:
    Code C++ : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    // stol example
    #include <iostream>   // std::cout
    #include <string>     // std::string, std::stol
     
    int main ()
    {
      std::string str_dec = "1987520";
      std::string str_hex = "2f04e009";
      std::string str_bin = "-11101001100100111010";
      std::string str_auto = "0x7fffff";
     
      std::string::size_type sz;   // alias of size_t
     
      long li_dec = std::stol (str_dec,&sz);
      long li_hex = std::stol (str_hex,nullptr,16);
      long li_bin = std::stol (str_bin,nullptr,2);
      long li_auto = std::stol (str_auto,nullptr,0);
     
      std::cout << str_dec << ": " << li_dec << '\n';
      std::cout << str_hex << ": " << li_hex << '\n';
      std::cout << str_bin << ": " << li_bin << '\n';
      std::cout << str_auto << ": " << li_auto << '\n';
     
      return 0;
    }
    C'est quand même vachement mieux, pour concurrencer Java ou les langages de script, non? Même si, je me doute bien, ce n'est pas la panacée...

    PS: je continue à utiliser scanf, printf et leurs petits copains, car tant qu'il me faudra passer par des stream pour lire un fichier en "pur c++" je ne serai pas satisfait.

    PPS: j'ai de plus en plus l'impression que DVP fait de plus en plus dans le people version geek. Java ne mourra pas demain, même si un gland le dit. Les tablettes tactiles ne remplaceront jamais le desktop, même si c'est plus adapté pour un PDG. C++ n'est pas utilisé comme langage de script, et ça fait des années qu'on pourrait le faire, si on le voulait, et si la syntaxe était moins complexe.

  14. #34
    Membre Expert
    Avatar de Klaim
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Août 2004
    Messages
    1 717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 1 717
    Par défaut
    Encore une news bien naze.

    Un truc par rapport a ce point et l'exemple:

    des puissantes fonctions de manipulation de chaines ;
    La manipulation de chaine...j'espere qu'il ne parle pas de textes encodes via unicode

    Notez que son exemple ne marche pas correctement sous windows si les entrees ne sont pas des chaines ascii (ou Ansi je sais plus).

    Peut etre que quand C++ aura de quoi traiter du texte unicode correctement, je serais d'accord pour l'utiliser a la place de quelques scripts python.

    Citation Envoyé par Freem Voir le message
    Utiliser un vector, donc, un tableau dynamique tout ce qu'il y a de plus bête, puis le trier ensuite avec sort, ça ne serait pas plus efficace avec un conteneur fait pour, genre... je sais pas, on veut un conteneur trié, alors, std::set, qui trie à l'insertion?
    Cela dis le set n'a pas une memoire contigue. J'aurais aime que flat_set et flat_map (dans boost) fassent partie du standard: ce sont des vector qui agissent comme des set et map. Plus lents a l'insertion, invalident les valeurs quand elles bougent, mais carrement plus rapide a la recherche et a l'iteration.

  15. #35
    Membre expérimenté

    Homme Profil pro
    Etudiant
    Inscrit en
    Juillet 2012
    Messages
    108
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juillet 2012
    Messages : 108
    Par défaut
    Citation Envoyé par germinolegrand Voir le message
    Je ne dirais donc pas un langage de script, toutefois un langage simple d'utilisation, définitivement oui, et ce depuis le C++11. (attention, dès qu'on passe côté créateur les choses sont à nouveau à leur difficulté habituelle). C'est ce qui me fait croire en la possibilité d'un enseignement C++11 pour débutant plus accessible qu'avant.
    Bonjour, je suis d'accord sur le début de ta phrase, mais la fin me rend totalement des nues ; le C++11 permet de faire du code clean, rapide. Bien que certains le pensent fortement, je ne pense pas que celui-ci change la philosophie de base du langage (pour plein de raisons que je pourrais développer dans un autre message) ; concernant le vive du sujet donc l'enseignement, outre ton message, je me souviens que tu pensais et tu avais exposé l'idée suivante (très proche de ton message) que pour un débutant en C++, il vaudrait mieux lui faire apprendre le C++11 (pour des raisons de simplicité, de solutions apportées et nouvelles features et autres...) ;
    Je suis totalement pas d'accord, le debutant en C++, devra toujours se referer au C++03, bien qu'en lui enseignant(le cpp11) tu lui diras, que le code est plus clean, plus rapide à écrire (exemple range for), plus puissant, et autres... ; mais ce dernier devra tout de même comprendre pourquoi c'est le cas, et donc se référer à l'ancienne norme à savoir le C++03 (pour ensuite regarder les solutions, et nvlles features qu'apportent le C++11)

  16. #36
    Membre Expert

    Avatar de germinolegrand
    Homme Profil pro
    Développeur de jeux vidéo
    Inscrit en
    Octobre 2010
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur de jeux vidéo
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Octobre 2010
    Messages : 738
    Par défaut
    Pour ma part, si par langage de script on entend langage qu'on utilise pour ses besoins quotidiens, pour un traitement rapide, alors je répond que oui je l'utilise également ainsi (par exemple j'avais besoin d'un petit script qui transformait des images png en images 16 bits en terme de code asm8086, j'ai écrit ça en moins d'une demi-heure en C++/SFML, intégré ça à mon dépôt, et zou, ça faisait fort bien le travail).

    Pour ce qui est de dire apprendre C++03 avant C++11, c'est exactement comme dire d'apprendre le C avant le C++. C'est utiliser l'approche ascendante. L'approche que je prône est descendante, c'est à dire montrer d'abord comment utiliser quelque chose (du plus utile au plus subtil), puis comment marche ce quelque chose, et enfin comment passer du côté créateur avec cette fonctionnalité.

    Il n'y a aucun intérêt à dire : voilà du code legacy, on va vous apprendre à coder comme ça, ensuite on passera à du code moderne et vous pourrez tout réapprendre et perdre vos mauvaises habitudes.

    L'approche ascendante a un intérêt majeur : on sait ce qu'il se passe dans les dessous de ce qu'on apprend de nouveau. Mais un inconvénient majeur : tant qu'on a pas connaissance complète de tout le haut-niveau, toute cette connaissance du bas-niveau est absolument et fondamentalement inutile en pratique, voire nuisible. Est-il utile de préciser que l'apprenant va s'ennuyer et se décourager à souhait si à chaque fois qu'on monte d'une couche on lui dit : bon tout ce que t'as appris avant, bah on peut faire mieux, plus vite, plus simplement, tu peux réapprendre à coder.

    Et le fait est que l'on aura beau utiliser l'approche ascendante au maximum, dès lors qu'on tombera sur une nouvelle feature qui n'était pas couverte par la base qu'on a eu des couches inférieures, hop on se retrouve en approche descendante qui finalement est plus naturelle (oui, qui donc sur ce forum a appris comment implémenter une std::function avant d'en utiliser une ?).

    Savoir faire un programme qui fonctionne et fait ce que l'on a prévu, voilà quelque chose de plus utile que de perdre son temps à essayer de faire dès le premier coup quelque chose d'optimisé dans les moindres détails, ce qui ne s'apprend en définitive et quoi qu'il arrive qu'avec l'expérience.

    Si l'on vous avait expliqué la physique atomique avant de vous montrer que l'huile ne se mélange pas avec l'eau, il y a fort à parier que l'on se moquerait de votre professeur de physique-chimie pour un bout de temps.

    Si l'on vous avait inculqué les règles de la grammaire avant même de vous avoir appris à vous exprimer, vous n'auriez à mon humble avis pas compris grand chose à la première explication, vous auriez appris à parler avec retard, et il aurait fallu repasser par la case cours de grammaire par la suite de toute façon. Ceci est probablement le parallèle le plus parlant/convaincant que je puisse trouver.

  17. #37
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    164
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 164
    Par défaut
    Citation Envoyé par Aurelien.Regat-Barrel Voir le message
    Tu as oublié de trier tes lignes
    Pour appuyer ses propos, Pakkanen présente un bout de code permettant de lire toutes les lignes d’un fichier pour les enregistrer dans un fichier différent (cas concret où se démarquent les langages de script).
    Dans le descriptif il n'est nullement question de tri, mais dans le code si : son cahier des charges est mal formulé

  18. #38
    Membre très actif

    Profil pro
    Étudiant
    Inscrit en
    Décembre 2004
    Messages
    499
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2004
    Messages : 499
    Par défaut
    bonjour,

    j'ai envie de rajouter qu'avec les histoires de cloud, de web, etc. ce qui manque aussi à C++ pour se comparer à javascript/python/java/.net c'est un mode "safe" où le compilateur arrive à prouver que le programme n'est pas dangereux pour celui qui l'exécutera :

    --> il manque à C++ un mode où le compilateur arrive à prouver que le programme ne présente aucun risque du point de vue d'un anti-virus

    notez que C++/CLI lui possède un mode safe : c'est celui où on n'écrit aucune ligne de C++, uniquement du code avec des types .NET

  19. #39
    Membre Expert
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    1 415
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2007
    Messages : 1 415
    Par défaut
    Citation Envoyé par acx01b Voir le message
    j'ai envie de rajouter qu'avec les histoires de cloud, de web, etc. ce qui manque aussi à C++ pour se comparer à javascript/python/java/.net c'est un mode "safe" où le compilateur arrive à prouver que le programme n'est pas dangereux pour celui qui l'exécutera.
    C'est absurde.

    Premièrement, ce n'est pas le rôle du compilateur, mais du code qui exécutera le code compilé, soit la machine virtuelle pour les langages cités. C'est le résultat de la compilation qui doit être contrôlé, pas l'étape de transformation du code source. Vérifier le code source n'a aucun intérêt puisque le code compilé peut être altéré.
    De plus, les contrôles en question ont lieu sur la cohérence du bytecode pour prévenir les plantages et les comportements incohérents, mais il n'apportent aucune garantie de sécurité à l'utilisateur. Les exemples de trous de sécurtié béants en Java et en Javascript ne manquent pourtant pas dans l'histoire !

    Ca n'a aucun sens de vouloir appliquer cela à du code assembleur. Mais si tu fais tant confiance à cette sécurisation, tu n'as qu'à compiler ton code C++ en Javascript. Enjoy.

    Citation Envoyé par acx01b Voir le message
    notez que C++/CLI lui possède un mode safe : c'est celui où on n'écrit aucune ligne de C++, uniquement du code avec des types .NET
    Y en a aussi qui aiment les huîtres chaudes.

  20. #40
    Membre Expert
    Avatar de white_tentacle
    Profil pro
    Inscrit en
    Novembre 2008
    Messages
    1 505
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2008
    Messages : 1 505
    Par défaut
    Citation Envoyé par acx01b Voir le message
    bonjour,

    j'ai envie de rajouter qu'avec les histoires de cloud, de web, etc. ce qui manque aussi à C++ pour se comparer à javascript/python/java/.net c'est un mode "safe" où le compilateur arrive à prouver que le programme n'est pas dangereux pour celui qui l'exécutera :

    --> il manque à C++ un mode où le compilateur arrive à prouver que le programme ne présente aucun risque du point de vue d'un anti-virus

    notez que C++/CLI lui possède un mode safe : c'est celui où on n'écrit aucune ligne de C++, uniquement du code avec des types .NET
    Si tu ne fais pas confiance à un programme, tu l’exécutes dans un bac à sable.

    Et ça n’a rien à voir avec la techno employée. On peut très bien sandboxer du code asm (même si, je te l’accorde, on manque d’outils simples à utiliser pour que ça soit à la portée du premier quidam venu).

    Enfin, je suis curieux de savoir ce qu’est un programme qui ne « présente aucun risque du point de vue d’un anti-virus ». Un truc qui ne lit aucun fichier, n’écrit rien, ne communique pas en réseau et n’alloue pas de mémoire*? Ça va être limité comme programme, c’est sûr…

Discussions similaires

  1. Réponses: 0
    Dernier message: 15/08/2013, 19h44
  2. Ruby est-il un langage de Script ?
    Par Guilhem89 dans le forum Ruby
    Réponses: 2
    Dernier message: 16/12/2011, 10h46
  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