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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2015
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2015
    Messages : 48
    Par défaut
    "C'est pas le rôle des universitaire d'apprendre tous les détail d'un langage de programmation. Il sont là pourra apprendre les concepts généraux. Et comme C++ est bourré de complexité qui lui sont assez particulière,..."


    Le C++ n'est pas bourré de complexité mais de fonctionnalité, quand on les comprends, qui sont géniales.

    Je les utilisent et c'est un énorme avantage par rapport à d'autre langage, en terme de structures comme en terme d'efficacités.

    "c'est normal que les universités avec un temps de cours limité ne puissent pas tout couvrir. ..."

    Je suis d'accord, et d'ailleurs il me semble que dans certains pays les master en Info ont une année de plus pour justement les couvrir.
    J'en ai parlé avec mes profs car ils se posaient la question de justement mettre ce gendre d'UV.

    "Si tu veux un bon niveau de formation au C++, et même dans n'importe quel langage, il faut aller bien au delà de ce qu'on apprend à l''université."

    Évidement, j'en sais quelque chose, surtout dans le développement d'application scientifiques,
    mais certaine université le font : apprendre le c++ et même Visual Studio !
    J'ai moi-même écrit plus de de 80 GO de cours sur le C++, si je dois embauché des ingé,
    afin d'éviter qu'il perdent du temps à apprendre tous seuls.

  2. #2
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 690
    Par défaut
    Citation Envoyé par bmoraut Voir le message
    Qu'est ce que tu en sais que je ne maitrise pas le C++ ?
    Surtout en disant les modes de débuguage et les assertions ne sont pas le points importants pour assurer la sécurité du code !
    Vous savez peut-être faire du C++ mais si vous pensez que le débogage et les assertions sont les points clés pour assurer la sécurité, clairement vous avez quelques des lacunes dans ce domaine.
    Les assertions c'est toujours bien de les utiliser, mais ce n'est clairement pas le premier point pour assurer la sécurité car ça ne couvre que les domaines auxquels on pense, or malheureusement les problèmes de sécurité viennent surtout des cas particuliers que l'on oublie.
    Quant au débogage, c'est utile pour résoudre des problèmes dont on a connaissance, alors que les problèmes de sécurités sont au contraire des erreurs dormantes. Si on veut s'attaquer aux failles de sécurités, il y a d'autres outils externes bien plus adaptés comme les memory sanitizer, fuzzers, ...

    Citation Envoyé par bmoraut Voir le message
    Merci de rester poli et de ne pas faire des affirmations sans savoir.
    On ne peut pas entamer une discutions saine et constructive avec des gens comme toi !
    Je reste poli et me base uniquement sur ce que vous avez déclaré sur la façon de sécuriser du C++, ce qui montre quand même une manque de connaissances dans la partie sécurité du langage.

    Citation Envoyé par bmoraut Voir le message
    Le C++ n'est pas bourré de complexité mais de fonctionnalité, quand on les comprends, qui sont géniales.
    Je les utilisent et c'est un énorme avantage par rapport à d'autre langage, en terme de structures comme en terme d'efficacités.
    L'un va généralement avec l'autre. En augmentant les fonctionnalités, on augmente également la complexité, surtout quand les les fonctionnalité on un impact large qui peut entrainer des interactions surprenantes avec d'autres. C'est pas pour rien que la plupart des langages qui se sont posé en successeur du C++ (Java, D, Rust, ...) ont visé à limiter les fonctionnalités pour réduire cette complexité induite qui peut amener a de nombreuses erreurs

  3. #3
    Membre actif
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Avril 2015
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2015
    Messages : 48
    Par défaut Ne me donne pas de leçon !
    "Vous savez peut-être faire du C++ mais si vous pensez que le débogage et les assertions sont les points clés pour assurer la sécurité, clairement vous avez quelques des lacunes dans ce domaine. "

    ...

    "Je reste poli et me base uniquement sur ce que vous avez déclaré sur la façon de sécuriser du C++, ce qui montre quand même une manque de connaissances dans la partie sécurité du langage."

    D'affirmer que j'ai un manques de connaissances dans ce domaine relève que vous êtes bien prétentieux pour vous permettre de juger les autres.

    Mais pas de chance, j'ai définie un thèse qui pour écrire un application entièrement sécurisée,
    avec des principes révolutionnaires pour le développement de logiciels qui utilise un certains nombre de chose,
    comme les modes de débogages, qui permettent d'informer sur l'auto-vérification des logiciels,
    (afin de ne pas le ralentir en mode final).

    Dans mes plus 10 millions de lignes de codes validées, j'ai actuellement Zéro bugs.
    A un tel point, que si un client trouve un bug, je lui offre une licence gratuite.
    Cela fait 10 ans que je n'ai jamais rien offert.

    Alors désolé, moi aussi je relève dans tes propos que tu es un de ceux qui jouent aux experts, mais qui n'en sont pas.

    Tu a un certainement un bon niveau, mais il y a toujours mieux !

    Alors reste modeste, et ne préjuge pas des gens, car cela nuit au forum.

    Cordialement

  4. #4
    Membre Expert
    Avatar de Pyramidev
    Homme Profil pro
    Tech Lead
    Inscrit en
    Avril 2016
    Messages
    1 513
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Tech Lead

    Informations forums :
    Inscription : Avril 2016
    Messages : 1 513
    Par défaut
    Citation Envoyé par bmoraut Voir le message
    Le C++ n'est pas bourré de complexité mais de fonctionnalité, quand on les comprends, qui sont géniales.
    La complexité du C++ inclut à la fois une richesse en terme de fonctionnalités mais aussi beaucoup de complexité accidentelle, à cause de la rétrocompatibilité avec le langage C et de l'ajout d'un amas d'erreurs de conception.

    Par exemple, la coexistence de std::array et du type tableau natif alourdit le langage. Le type tableau natif est un reliquat du langage C.

    Autre exemple, std::invoke sert seulement à pallier l'absence de l'Uniform Function Call Syntax quand on fait de la programmation par template.

    Il y a aussi des pièges inutiles que le C++ est obligé de garder par rétrocompatibilité, comme le fait que redéfinir le destructeur d'une classe ne désactive pas automatiquement la génération implicite du constructeur de copie et de l'affectation de copie, alors que cela désactive bien la génération implicite du constructeur de mouvement et de l'affectation de mouvement (apparus en C++11).

    Quand on étudie Rust après avoir programmé en C++, cela met en lumière beaucoup de complexité accidentelle du C++.

    Citation Envoyé par Uther Voir le message
    C'est pas pour rien que la plupart des langages qui se sont posé en successeur du C++ (Java, D, Rust, ...) ont visé à limiter les fonctionnalités pour réduire cette complexité induite qui peut amener a de nombreuses erreurs
    Ouh là ! Tu peux retirer le langage D de la liste ! Bien au contraire, c'est un langage qui a essayé de cumuler le plus de fonctionnalités possible !

    À part ça, je n'aurais pas non plus donné Java en exemple pour chercher à convaincre un développeur C++. À l'époque où je n'avais appris aucun langage "exotique" comme Rust, Haskell ou Common Lisp, C++ était mon langage préféré, car il permettait de combiner le bas niveau du C, la POO du Java et la programmation par templates pour combiner la puissance d'abstraction, les performances et le contrôle sur le typage. Je n'étais pas convaincu par Java que je voyais comme un C++ appauvri pour être accessible par les noobs (ce qui est historiquement bien le cas au départ, surtout à l'époque où Java n'avait même pas les generics).

  5. #5
    Membre Expert Avatar de Uther
    Homme Profil pro
    Tourneur Fraiseur
    Inscrit en
    Avril 2002
    Messages
    4 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Tourneur Fraiseur

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 690
    Par défaut
    C'est vrai que dans le cas du C++ une partie de sa complexité vient de l'héritage du C.

    Pour ce qui est de la diminution du niveau de complexité de D ou Java, je ne dis pas que c'est une parfaite réussite, mais c'était quand même l'objectif visé à base.
    - Le slogan du créateur du D était : "Garder 90% de la puissance du C++ avec seulement 10% de la complexité".
    - Si Java te paraissait un C++ tronqué, c'est justement parce que c'était le but : retirer les fonctionnalités qui pouvaient engendrer trop de complexité.
    - De même, Rust a volontairement fait le choix de ne pas gérer certaines fonctionnalités de C++ (surcharge, héritage multiple, template metaprogramming...) pour ne pas avoir a assumer la complexité induite.

  6. #6
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    Citation Envoyé par bmoraut Voir le message
    Abandonné le C++ par Microsoft serait une grave erreur,
    qui conduirait à une perte de savoir et de codes sources de valeurs.
    Tu sais que le C++ sert à autre chose que de faire un OS Windows ?
    une grande partie (en tout cas à ma connaissance) sert pour le jeux video , mais aussi dans l'embarqué , arduino utilise le C++ comme langage par défaut (que bizarrement beaucoup croye que c'est du C... )

  7. #7
    Membre éprouvé Avatar de KsassPeuk
    Homme Profil pro
    Ingénieur Chercheur
    Inscrit en
    Juillet 2013
    Messages
    138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Chercheur
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2013
    Messages : 138
    Par défaut
    (note pour le côté public des thèses : non les thèses ne sont pas forcément publiques. Il y a au moins un cas qui peut rendre la thèse privée : si ça a trait à des travaux qui sont sur des éléments confidentiels - notamment pour certaines CIFRE ou travaux liés à la Défense - mais c'est plutôt rare et très fortement déconseillé car ça nuit fortement au démarrage de carrière d'un docteur)

  8. #8
    Membre chevronné
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2019
    Messages
    308
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2019
    Messages : 308
    Par défaut
    Torvalds qui crache sur le c++ C'est sûr que c'est beaucoup plus sécurisé de faire des malloc, des free, des memcpy et autres joyeusetés plutôt que de manipuler les vector, map, array, string, pointeurs intelligents du c++

Discussions similaires

  1. Avec quel ordinateur avez-vous fait vos premiers pas en informatique ?
    Par Stéphane le calme dans le forum Actualités
    Réponses: 16
    Dernier message: 09/03/2021, 21h15
  2. Robots auto-associateurs : premiers pas vers le Terminator II T-1000
    Par ToTo13 dans le forum Intelligence artificielle
    Réponses: 2
    Dernier message: 12/10/2013, 19h59
  3. premier pas vers SAP
    Par xxman dans le forum SAP
    Réponses: 1
    Dernier message: 10/10/2011, 07h42
  4. Premier pas vers une application J2ME
    Par sassou409 dans le forum Développement Mobile en Java
    Réponses: 2
    Dernier message: 30/06/2010, 17h30

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