une veille discussion mais pleine de bonnes choses, je pense la maîtrise du java est un plus
une veille discussion mais pleine de bonnes choses, je pense la maîtrise du java est un plus
C++ vs java ? j'aurais plutot mis
pointeur vs référence et heritage multiple vs composition. même si le résumé ne s'arrete pas là il s'agit des 2 principaux totems des 2 langages.
le c++ est utilisable par les chercheurs dans des labos ainsi il est académique ,c'est le premier langage a étudier dans les lycées et les universités , par contre le java est un outil professionnel utilisé dans les boites de développement.
Bonjour,
Comme premier langage j'aurais plutôt dit Python, depuis le 3, ou dans notre cas ici Java.
Et le C++ est aussi beaucoup utilisé en entreprise. Il pose cependant un certain nombre de soucis, on peut rapidement mal faire et provoquer des conflits en mémoire ou des comportements aberrants.
Mais bien programmé ça reste l'un des langages les plus rapides et puissants.
le problème restera le même avec des langages de programmation "managed"...
En Net ou en Java,si le code est mal programmé eh bien on risque d'avoir une exception qui va tout bloquer le programme donc faudra tout relancer.
Pour des projets de logiciel de gestion genre compta comme ça l'utilisateur il rentre des tas de données ça plante à cause d'un exception donc il faut tout recommencer.
Cependant en contrepartie le problème des pointeurs en C/C++ s'ils sont mal utilisés c'est les effets de bords oui sur la mémoire centrale.
C'est pour cela qu'il y a des templates comme les "smart pointers"
Depuis quand les programmes "non-managed" ne plantent pas ???
Hummm... cela dépendra en fait surtout de l'approche et de la compréhension du langage.
Il est clair que si tu t'obstines à gérer la mémoire à la main, comme tu le ferais en C, (et comme trop de cours indiquent encore de le faire), tu te place dans une situation dans laquelle tu risques -- effectivement -- de causer des conflits et des choses encore bien moins faciles à résoudre.
Cependant, ce n'est pas un hasard si on parle depuis trèèèss longtemps de RAII en C++, car si tu respecte ce principe (et le principe de la responsabilité unique), les choses peuvent devenir beaucoup plus faciles!
Mieux encore, depuis l'arrivée de C++11 et de ses classes std::unique_ptr (qui étaient déjà disponibles bien plus tôt au travers du framework boost), il te suffit de pouvoir qui est le "propriétaire légal" d'une ressource, quel élément sera le seul à pouvoir décider de libérer cette ressources (à moins qu'il y en ait plusieurs dans le cas, raison de l'existence de std::shared_ptr et destd::weak_ptr) pour être sur d'éviter les problèmes
Depuis toujours, lorsqu'ils sont bien codés
Ces sont de langages itules dans la programmations qui necessite un grand effort
C++ >>>> Java
Change my mind.
JAVA la machine virtuelle et C++ la portabilité
C++ permet d'utiliser des functions non objet dans ce cas nous n'avons pas besoin d'instancier de déclarer son utilisation qui demande du temps et de la mémoire supplémentaire pour allouer sa déclaration en mémoire vive mais aussi au moment de l'exécution en devant systématiquement en Java créer chaque objet car chaque méthode de java doit être et c'est identique pour les variables déclarées dans un classe objet il n'est pas possible en voulant dé-protéger la lecture d'adresse mémoire $B800 pour les connaisseurs n'importe ou dans l'ordinateur en java alors que c et c++ le permet très efficacement ainsi que le langage Delphi utiliser comme compilateur pascal à vérifier avec Rust que je ne connait pas encore complémentent.
Java connait static qui peut être appliqué aux méthodes et aux variables.
Oui il faut toujours que ce soit au sein d'une classe, ce qui rend la syntaxe lourde imo, mais il n'y a rien à instancier.
Partager