Zeph> t'as du louper genre les 10 premieres minutes ou il explique bien ce qu'est son cas de figure, ce sur quoi il bosse, et quelles sont ses contraintes?

et ouais ca s'applique aussi surement a l'embarque, c'est pour ca j'imagine qu'il cite un des talks d'avant qui portait sur le software de curiosity (et a priori des mars-rovers en general?), en disant que leur utilisation du C++ etait assez similaire.
D'ailleurs je l'ai pas regarde mais ce talk la doit etre assez interessant aussi

et le mec pretend pas faire un talk sur le C++ en general. Mais je trouve que bcp de ce qu'il dit s'applique effectivement a tous les domaines de code, C++ ou pas, jeux ou pas. Le fond de sa presentation, c'est pas tant sur quelles features du langage il utilise ou pas, mais sur l'etat d'esprit dans lequel ils approchent une problematique, pour apres la traduire en code.
bearbecue > intéressant, faudra que je regarde
L'utilisation du C++ reste assez polémique même dans les grosses boîtes ; par exemple, il me semble que chez Google ils n'utilisent pas les exceptions dans les projets en C++.
.. et dans le JV. quasiment personne dans le domaine n'utilise les exceptions. trop merdique, trop de surcouts "caches". Sur le papier c'est joli, concretement c'est une autre histoire. (en plus c'est pas supporte par toutes les plateformes sur lesquelles bcp de devs de jeux doivent build

)
et les rares que j'ai vu qui les utilisaient, c'est que sur PC. Et parcequ'ils n'ont jamais dev que sur pc, et que les PC, c'est des machines tolerantes niveau goritudes. "ca passe"...
ils ont des devs qui ont dev ailleurs que dans le JV avant, et qui ont garde leurs habitudes. Le jour ou ils doivent avoir plus de perfs et ou ils peuvent pas juste acheter un nouveau pc plus puissant (lire: ils doivent faire un portage console, et les concurrents qui savent dev correctement sur ces plateformes font des jeux qui les lattent niveau technique

), ben ils sont dans la merde, et ils apprennent a la dure ce que c'est.
nitro:Ce que je retiens surtout de la vidéo c'est que le mec fait du C++ sans exceptions, sans templates, sans STL, sans héritage multiple, sans surcharge d'opérateur, sans RTTI, voire même sans classes"
- sans exceptions: ouais clairement
- sans templates: non, pas "sans templates", mais "sans templates pour un oui ou pour un non, juste parceque t'as repere un bout de code que tu pourrais templater"

Ou juste parceque tu peux. Avant d'en avoir besoin, genre branlette intellectuelle "ouais alors jvais code un scenegraph de la mort pour mon jeu, avec des templates sur le type de node, ca va etre ultra generique, ca va etre trop classe !". Ultra generique peut etre, peu de lignes de code peut etre, dur a comprendre, a debugger, et code genere ignoble, surement.
Lorsqu'elles sont mal utilisees, ca peut etre a la fois moins lisible, moins performant, et moins maintenable. et des fois meme quand elles sont bien utilisees, sans parler des temps de compil. Au taff qd on faisait le portage PS3, on a divise l'overhead de notre lib dans la taille memoire du binaire final PAR DEUX juste en de-templatisant certains trucs et en le pensant un peu mieux. Tant que t'as pas ete concretement confronte a ce genre de pbl, et que tu a pas pu juste en avoir rien a battre, c'est assez difficile de realiser.
- sans STL: ouais, tout template, cf au dessus, ultra lourd, over-engineered, pas utile POUR SES BESOINS, et peut facilement etre battu niveau perf aussi. Si tu veux torcher une appli ou un proto rapidement, evidemment c'est super pratique et je trouverais ca tres con que quelqu'un recode sa propre classe d'array sans une tres bonne raison. Perso je m'en sers pour des tests ou des trucs rapides/protos. Certainement pas pour notre vrai soft.
- sans heritage multiple: ouais je connais quelques autres boites qui font ca. Nous on s'en sert un peu, mais plus des masses. au final ya pas tant de cas que ca ou c'est vraiment justifie. Niveau clarte, qualite de code final, et maintenabilite/facilite de refactoring, c'est pas tip top. J'ai pas encore vu de cas concret ou c'etait vraiment necessaire et ou ca pouvait pas etre re-ecrit en heritage simple.
- sans RTTI: la RTTI builtin du C++ doit gerer toute une chiee de cas differents. le pire etant sans doute le dynamic_cast avec des heritages multiples virtuels. Par consequent, en plus de generer plein de trucs dont t'as rien a branler, t'as des dyn-casts ultra lents. La encore, dans notre cas au taff, les quelques rares cas ou on a besoin de RTTI, on contourne avec des trucs tout simples, absolument pas lourds, specifiques aux besoins qu'on a, et qui sont bien plus legers et rapides que la solution ultra-generique de la RTTI builtin.
- sans classes: non, il n'a clairement pas dit ca

juste sans classes pensees de facon abstraite et code-centric

pis ouais la conf est sur le C++, mais c'est pas hors sujet, il parle de leurs developpements en C++. jsais pas ca vous interesse pas en tant qu'users du C++ (ou que spectateurs potentiels d'une conference sur le C++), de savoir comment d'autres gens (brillants, probablement plus que nous tous ici), utilisent le C++, et pourquoi ils utilisent ou n'utilisent pas certaines parties?
(entre les bouts de code "cas d'école" et son rant sur les design pattern dont 90% des développeurs se foutent probablement totalement)
mais justement, meme du code ultra simple comme ca est candidat a ce qu'il dit, c'est encore pire dans des pas cas d'ecole bcp plus complexes.
Certains se vexent quand on leur demande en entretien d'embauche de recoder un strlen. Bah c'est un peu pareil je trouve. Ce qu'il montre est certes tres simple, mais extremement pertinent.
Il aurait pu montrer un cas concret plus complexe qui aurait perdu tout le monde et qui aurait bouffe les 3/4 de son temps de parole, mais ca aurait ete un peu useless non?
(et en plus, il a montre un cas concret, avec la classe Node d'ogre)