|
Publicité ' | ||||||||||||||||||||||||
|
|
#41 | |
|
Membre à l'essai
![]() Inscription : juin 2008 Messages : 142 ![]() |
Citation:
Maintenant, et pour etre un peu plus sérieux, je prends tellement plaisir à coder des choses avec le C++, boost et Qt que je ne vois plus l'utilité d'employer un autre langage (excepté le temps de compilation). Par exemple, les signaux de boost (pour le modèle et le controlleur) et ceux de Qt (pour le controlleur et la vue) m'aident beaucoup à coder un MVC que je trouve séduisant. Après, mes souvenirs de Java ont 10 ans, j'imagine que les choses ont évoluées. Pour le webservice, je ne connais pas bien le web, mais mon avis est que Java est sur sa fin par les choix que fait Oracle, le dernier procès avec Google en est la preuve. Je trouve par contre que GWT est une bonne solution. |
|
|
|
00
|
|
|
#42 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : août 2004 Messages : 3 665 ![]() |
@Matthieu Vergne: en fait, ce qui a tout chamboulé c'est la prolifération d'appareils portables (iphones, consoles, etc.). En gros, et selon ce que j'ai personnellement compris du problème, les langages interprétés tels le java sont trop gourmands en ressources (en particulier la consommation d'énergie: un processeur consomme beaucoup d'énergie).
c++ offre une bonne solution, à condition que les "sdk natives" des appareils puissent s'interfacer avec, et il semble que les constructeurs aient choisi cette voie. |
|
|
00
|
|
|
#43 |
|
Membre actif
![]() Matthieu VergneDoctorant (Requirements Engineering) Inscription : novembre 2011 Messages : 122 ![]() |
Donc plutôt que du cross-platform, ce serait du cross-environment.
|
|
|
00
|
|
|
#44 | |
![]() ![]() ![]() Guillaume BelzBiochimiste Inscription : novembre 2008 Messages : 5 314 ![]() |
Citation:
L'enseignement du C++ a longtemps été (et continu dans beaucoup de formations) avec être basé sur une approche "historique" (comprendre "archaïque"), orienté sur une approche bas niveau, sans prendre en compte les fonctionnalités évoluées (différent de complexe) du langage ni l'évolution des besoins des entreprises (maintenabilité, évolutivité, etc). Sans être un spécialiste du Java, j'imagine que le langage a appris à exploiter les ressources natives des systèmes. Idem pour la portabilité. Les différentes versions de la JVM peuvent parfois mettre à mal un programme java sur plusieurs machines. Le C++ a bénéficié d'outils de compilation et de libs portables (boost, Qt, cmake, etc) qui permet de proposer assez facilement une appli sur différentes plateforme (bien qu'un petit coup de normalisation de l'abi pourrait encore améliorer les choses) Bref, a part pour s'amuser à troller sur le chat, rester sur des idées préconçus n'aident pas trop
__________________
Vous souhaitez rejoindre l'équipe de bénévoles qui fait vivre Developpez (traduction, rédaction, modération) ? Contactez moi par MP. Ma page personnelle avec la liste de mes articles - Mon blog sur le C++, Qt et les GPU. Je suis régulièrement sur le chat pour les questions C++/Qt. Apprendre Qt 5 : vidéos d'installation (YouTube), extraites du livre Créer des applications avec Qt 5. |
|
|
20
|
|
|
#45 |
|
Membre actif
![]() Matthieu VergneDoctorant (Requirements Engineering) Inscription : novembre 2011 Messages : 122 ![]() |
Sauf que parler d'idées préconçues c'est un peu dur {'^_^}. Obsolète, d'accord, le fait est que j'ai plus touché à C++ depuis longtemps en switchant sur Java, justement pour ce côté portable et les librairies de base du langage qui permettent de rentrer dans le lard tout de suite sans avoir à retrouver telle ou telle lib. Les évolutions du C++, je n'ait suivi que ce qui voulait bien arriver devant mes yeux, autrement dit je suis loin d'être à jour. Cependant, ça ne justifie pas qu'on dise maintenant que la tendance se soit inversée, dans le sens où Java fonctionne toujours de la même manière (et donc est toujours aussi portable) en plus d'avoir tout de même gagné en rapidité (on l'utilise quand même sur des cartes à puces et des téléphones mobiles).
Dire que ça ait convergé et que maintenant il serait bon de se poser la question lequel est le mieux selon le cas qui se présente serait plus juste je trouve. Mais dire que Java fait du natif et C++ du portable... l'article est une source de troll à part entière {'^_^}. |
|
|
00
|
|
|
#46 | |
![]() ![]() Germino LegrandDéveloppeur de jeux vidéo Inscription : octobre 2010 Messages : 368 ![]() |
Citation:
__________________
|
|
|
00
|
|
|
#47 | ||||||
|
Expert Confirmé
![]() ![]() Joel LamotteDéveloppeur de jeux vidéo Inscription : août 2004 Messages : 1 552 ![]() |
Citation:
Les projets d'applications medicales, militaires, de robotique, d'infrastructure, de recherche ont pour priorite d'etre correct, pas vite fait (au risque de devenir litteralement mortel). Note que c'est la ou C++ est le plus present. La qualite dans le jeu video se fait avec du temps aussi quelque soit le language. Donc non pas toute. La plupart. Citation:
Citation:
Cela etant dis, comme il y a effectivement un ralentissement a coder en C++, ils travaillent tous avec le standard et les outils comme CLang pour ameliorer la vitesse a laquelle on itere en C++. Citation:
Citation:
C++ n'est actuellement pas bon pour le prototypage de concept. Coder rapidement une idee, la tester, la mettre publique, etc, tout ca c'est chaud en C++. Faire une application de qualite en revanche, selon les resources dispo, C++ colle largement au profil. Citation:
|
||||||
|
50
|
|
|
#48 | ||||||||
|
Membre éclairé
![]() Développeur informatique Inscription : décembre 2011 Messages : 236 ![]() |
Citation:
Ensuite d’après mon expérience, je peux dire que Java est plus multiplateforme que C++. Pour la gestion des dossiers par exemple, sans bibliothèque tiers, tu n’arriveras pas à compiler ton programme avec un même code source entre Linux et Windows. Citation:
Citation:
Le msdn n’est pas trop mauvais, tu as même une version française. Pour la javadoc tu as du lire l’ancienne documentation, celle de Java 7 est mieux foutu (exemple avec la classe String). Citation:
Pour les IHM il faut vivre avec son temps (Qt), par contre pour les bases de données, le standard pourrait très bien mettre en place des classes abstraites pour que les SGBD implémentent eux-mêmes des fonctions. Comme ça on aurait tous la même syntaxe dans les programmes (sans passer par Qt). Citation:
Citation:
Citation:
![]() Citation:
Peut-être que le JSR n’est pas un standard international, mais il n'est pas mauvais, ils ne font pas n'importe quoi chez le JCP. |
||||||||
|
|
02
|
|
|
#49 | |||
|
Expert Confirmé
![]() ![]() Joel LamotteDéveloppeur de jeux vidéo Inscription : août 2004 Messages : 1 552 ![]() |
Citation:
Encore une fois ca reste peu de boites, mais ca augmente. Ca sera jamais C++ partout evidemment, et c'est sain comme ca. Citation:
Citation:
|
|||
|
00
|
|
|
#50 | |
|
Membre Expert
![]() Chercheur Inscription : mars 2010 Messages : 1 143 ![]() |
Bonjour,
Citation:
|
|
|
|
00
|
|
|
#51 |
|
Expert Confirmé Sénior
![]() ![]() Inscription : août 2004 Messages : 3 665 ![]() |
|
|
|
10
|
|
|
#52 | ||
|
Membre émérite
![]() |
Citation:
(Développement Web + SSII) c'est tout de même une bonne partie du développement, mais je ne sais pas quel pourcentage. Accepte toutes les excuses d'un gars qui a la vision brouillée par des discours journaliers du genre "tenir les délais à n'importe quel prix quitte à faire de la merde et à devoir tout réécrire plus tard, limite c'est mieux comme ça on vend encore plus"... Citation:
.
__________________
Il ne faut pas oublier que la politesse et le respect sont mutuels. Mon framework Web haute performance : |
||
|
00
|
|
|
#53 |
|
Expert Confirmé Sénior
![]() ![]() Emmanuel DelogetDéveloppeur informatique Inscription : septembre 2007 Messages : 1 826 ![]() |
__________________
[FAQ des forums][FAQ Développement 2D, 3D et Jeux][Si vous ne savez pas ou vous en êtes...] Essayez d'écrire clairement (c'est à dire avec des mots français complets). SMS est votre ennemi. Evitez les arguments inutiles - DirectMachin vs. OpenTruc ou G++ vs. Café. C'est dépassé tout ça. Et si vous êtes sages, vous aurez peut être vous aussi la chance de passer à la télé. Ou pas. Ce site contient un forum d'entraide gratuit. Il ne s'use que si l'on ne s'en sert pas. |
|
00
|
|
|
#54 |
|
Expert Confirmé
![]() Baptiste ROUSSELDéveloppeur Temps réel Embarqué Inscription : janvier 2011 Messages : 1 292 ![]() |
Cela fait vachement peur comme vision du travail...
Quelle est le nom de votre SSII que je n'y postule pas ? Ces gens là seraient bien incapables de coder pour des cartes électroniques s'ils sont pas fichu capable de faire un logiciel pour un ordinateur.
__________________
|
|
|
10
|
|
|
#55 | ||
|
Expert Confirmé
![]() ![]() Joel LamotteDéveloppeur de jeux vidéo Inscription : août 2004 Messages : 1 552 ![]() |
Citation:
Note pourtant que Facebook et Google sont des entreprise totallement oriente sur le web et qui utilisent C++, Facebook de plus en plus. Donc c'est vraiment une question de besoin specifique a un projet a un moment T, pas une question de domaine. Et puis si Microsoft mets le paquets pour qu'Azure soit tres facilement utilisable en C++ pour faire des serveurs, je pense qu'il y a de bonnes raisons. Citation:
Mais comme je le soulignais, ya un moment ou ajouter du hardware coute plus cher que rendre le software moins gourmand, meme pour des serveurs. Apres, tout le monde ne vas pas realiser cela, surtout pour des applis web avec juste quelques milliers d'utilisateurs. Quand ca deviens massivement utilise, c'est autre chose. En fait on a cette hierarchie dans le dev web: - Torcher les premieres versions en Python ou Ruby ou PHP. - Augmenter les perfs avec de meilleurs serveurs. - A un moment ca coute trop cher, du coup refaire l'appli en Java ou C# est plus rapide (Java et C# sont dans la meme magnitude de vitesse d'execution-meme si C# est souvent un peu plus rapide-, Python et Ruby sont loin derrirere, C++ est souvent devant mais pas toujours dans l'ordre de magnitude devant). - Si on veut radicalement reduire le cout des serveurs (tous ces languages prennent quand meme pas mal de memoire vive qui coute cher niveau energie), on passe a une solution radicale: refaire l'appli en C++ Donc, le dernier stade est certes rare mais existe. Ya aussi les appli web ou le developpeur prefere payer ses programmeurs a faire une appli performante et peu couteuse en hardware qu'avoir a augmenter la paye du hardware tous les mois. Facebook a realise assez vite que meme si php est plutot rapide, il bouffait trop de hardware. Du coup ils ont fait un compilateur PHP qui genere du C++. Maintenant, ils sont passe a l'etape superieur en reecrivant reellement le code en C++ principalement parceque le code PHP convertis ne donne pas du code maintenable en C++ (donc tu dois continuer en PHP pour que ca vaille le coup, mais ca perds de son interet sur le long terme) De plus enplus de devs Facebook passent completement au C++, il faut dire que c'est une application super gourmande et qui se doit d'etre reactive. Pour rappel, quand ils sont passes au compilateur PHP->C++, ils ont reduis de moitier le parc hardware necessaire pour faire tourner Facebook. C'est aussi important de comprendre les limites de son application meme sur device portable. Admettons que je fasse un jeu tres long pour Android. C'est un RPG avec une histoire bien longue, qui garanti au moins 50h de jeu. Je la fais disons en Java pour me simplifier la vie. Le souci que je vais avoir, c'est que jouer au jeu va bouffer pas mal d'energie et donc reduire la qualite de l'experience du jeu (en plus du reste). Parceque c'est un jeu long. Alors bon tous les jeux sont pas long, mais le mien l'est. Alors pour reduire les soucis, je peu toujours tenter d'optimiser mon code Java, mais si je peu reecrire le tout en C++, ca va etre drastiquememt positif niveau energie. Au final, ca depends fortement de ce que l'ont fait, mais avec les devices et le coup du hardware en general, l'energie est super importante pour certaines applications, auquel cas c'est tentant de passer directement au bazooka. Pour peu qu'on ai des devs qui peuvent le faire. Personellement j'ai torche des jeux iphone tres vite en C++ ya quelques mois. Pour peu qu'on ait un framework adapte au type d'appli ( et yen a des tas ) on peut facilement faire des trucs peu gourmand et tres cross-platforme ( voir l'histoire de Super Hexagon ). Dans pas longtemps je compte m'emtrainer a faire du web avec C++ (certainement avec cppcms). Pour cela, je vais juste faire de tres petits sites dynamiques. A partir de cette experience et combine avec mes precedentes experiences avec Java, C# et Python pour le web (j'ai peu fait de Ruby), ca me donnera un vrai instinct de quand ca vaut le coup de passer au C++. Rien ne vaut l'experience. |
||
|
10
|
|
|
#56 |
|
Membre éprouvé
![]() Développeur informatique Inscription : janvier 2010 Messages : 339 ![]() |
SuferIX ma vision de la SSII n'est pas la même que toi.
En gros tu sorts un truc pourris en 2 jours à cause des délais (on verra plutard ou jamais). Et quand tu as une évol tu prends les même voir pire d'autres personnes pour repondre un truc bencale sur l'existant ont repars pas du début et ensuite tu vas sur la maintenance d'une appli vieille de 10 ans et tu as tout compris ... Ensuite Transgohan un projet c'est du temps, le temps c'est de l'argent donc un projet c'est de l'argent, tu peu être passionné mais les gens qui gère la boite c'est pas forcement leurs cas, donc tu applique ce qu'ont te demande welcome in the real world :s. Le problème d'un projet c'est les contraintes mais sans les contraintes ont se fait chier ^^. Le seul truc cool au bout du comptes c'est un projet prévu sur une grosse période de temps ^^ |
|
|
00
|
|
|
#57 | |
|
Expert Confirmé
![]() Baptiste ROUSSELDéveloppeur Temps réel Embarqué Inscription : janvier 2011 Messages : 1 292 ![]() |
Citation:
Après c'est vrai que je suis pas encore dans ce monde là, je travaille pour une entreprise bossant pour l'armée, donc je rentre dans le cas de projet qui sont réfléchis (bien que...) et pas des projets de 2ans à faire en 2semaines.
__________________
|
|
|
|
00
|
|
|
#58 |
|
Expert Confirmé
![]() ![]() Joel LamotteDéveloppeur de jeux vidéo Inscription : août 2004 Messages : 1 552 ![]() |
En fait dans le cas ideal, tu vas faire une claire difference entre du prototypage (ou tu peux aller vite et torcher le design), et le vrai developpement (ou tu n'auras rien reutilise des prototypes mais tu te serviras des infos tires des prototypes) ou il faut du code de qualite et maintenable.
Surtout en SSII ou plein de monde vas passer derriere. Mais les SSII elles meme ne voient pas d'un bon oeil le code de qualite qui est long a mettre en place effectivement. Sauf quand le client l'impose. Moi, apres diverses experiences, je preferes qu'on me vire plutot que de pondre du code qui me pourrira l'annee suivante parcequ'il sera difficile a maintenir. |
|
10
|
|
|
#59 | ||||||||||
|
Expert Confirmé
![]() Développeur informatique Inscription : décembre 2008 Messages : 777 ![]() |
Certes... pas vraiment un standard. J'aurais dû parler de première implémentation publique.
Citation:
Citation:
Citation:
Citation:
D'ailleurs, 2003, c'était, selon wikipedia, plus de l'ordre du bugfix. Et quand on parle de standard, on parle du moment ou il est effectivement publié, on enlève pas une période comme ça, pour le fun, parce que ça nous plaît. Les dates sont officielles, point barre. Si on commence à remettre en question les informations officielles, ou va t-on... Citation:
La principale différence entre C et Java, c'est que l'un compile et donc s'exécute partout, l'autre s'exécute partout en ne se compilant qu'une fois. Pour ça que je parlais de jouer sur les mots Citation:
Citation:
Citation:
Après tout, on peut très bien écrire un programme sans faire de classes... Peu m'importe la version française. Le problème est que ce site est bordélique, parce qu'il mélange des torchons et des serviettes! Tu as, en vrac, l'API win32, le framework .NET, les langages: C++, C++/CLI, C#, Vb... Il ne m'est pas aisé de m'y retrouver, pas aisé du tout! Citation:
Par contre, toujours un sacré manque d'exemples, et les pages sont impressionnantes de longueur. Heureusement que ça charge vite malgré tout (html simple en même temps Citation:
Mais sinon, je suis d'accord avec toi |
||||||||||
|
|
00
|
|
|
#60 | ||||||||
![]() ![]() |
Salut,
Citation:
Citation:
Par contre, si cette analyse de base est soignée, dés la troisième itération, le rythme s'accélère et l'on perd beaucoup moins de temps que s'il fallait tour rejeter à l'itération suivante. C'est vrai pour tous les langages, y compris pour C++ Si je venais à travailler pour une SSII qui me demande de faire du "rapide et crado", je lui demanderais mon C4 après trois mois Citation:
Il y a parfaitement moyen de faire du "rapide" en C++, mais il est très largement préférable de faire du "bien" Citation:
Il n'y a, en définitive que certains aspects propres à l'OS pour lesquels ce n'est pas forcément vrai (généralement liés au système de fichiers, d'ailleurs), mais, en choisissant correctement les bibliothèques avec lesquelles tu devras de toutes manières travailler (C++ en standard reste malgré tout... dépouillé Citation:
![]() Citation:
Citation:
A choisir, je préfère aussi les éviter autant que possibles Sauf que, parfois, il est beaucoup plus sain de passer un paramètre par défaut que de fournir une surcharge supplémentaire, car cela se répercuterais sur trop de classes ou parce que cela nécessiterait un refactoring par trop important Citation:
Sans l'héritage multiple, c'est impossible, avec, cela ne te posera aucun problème (note que la classe Turbine utiliserait déjà l'héritage multiple pour implémenter ses deux interfaces
__________________
en bas de page
|
||||||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com