[Programmation] Sondage / avis

noob4ever Message lu Posté le 11 Jan 2008 à 18:30 Bulle
Avatar de noob4ever
Explorateur

Messages : 295
GCPoints : 48742
Bonjour tout le monde,

J'ai eu l'idée de faire un débat, qui serait un sondage en même temps :

1/ Quel est votre paradigme de programmation préféré et pourquoi ? et que critiquez vous aux autres ?

En ce qui me concerne :

Je préfère la programmation orienté objet ( et la programmation structuré evidemment ). Developpement efficace et rapide. Beaucoup de possibilitées de developpement. Souple.

J'aime bien aussi la programmation fonctionelle, mais pas assez adapté aux jeux vidéo, cependant, les résultats en therme de lisibilité, souplesse, longueur du code, temps de developpement, la programmation fonctionelle et plus avantageuse.

Autre débat :

2/ Pour vous, quel sera le langage de l'avenir pour faire des GUI ? Et pour les jeux vidéo ?

Et un autre débat pas comme les deux autres, il concerne plus la conception de jeu en lui même.

3/ Pour les collisions par pixels, preferez vous le pixel perfect ou le BoundingBox ?
Bien entendu, expliquez pourquoi .



DirectX ( version novembre 2007 ) vs OpenGL (


4/ Pour votre méthode de rendu, preferez vous DirectX ou OpenGL ?
Bien entendu, dite pourquoi.



J'ai plus trop d'idées, mais quand j'en aurais d'autre, je posterai d'autre débat !

A vous !
What did C:/DARTHVADER said to C:/DARTHVADER/LUKESKYWALKER ?

I'm your folder
Daru13 Message lu Posté le 11 Jan 2008 à 18:39 Bulle
Avatar de Daru13
Membre Elite

Messages : 2884
GCPoints : 108090
Désolé je réponds pas aux débats par manque de conanisances dans ce domaine, mais :confused: ... 4 débats sur le même sujet, c'est bon ?
Désolé pour ce HS ( ne prenez pas mon message comme du modo-cocyping, c'est une qustion :absurd: ).
Mod Message lu Posté le 11 Jan 2008 à 20:32 Bulle
Avatar de Mod
Webmaster

Messages : 4954
GCPoints : 2100823
@ noob4ever : J'ai légèrement édité ton post de manière à mieux distinguer tes quatres questions.

1/ La programmation orientée objets pour les mêmes raisons que celles que tu cites du point de vue développement, et aussi pour celle que structurellement, c'est particulièrement intuitif à se représenter, rendant la manipulation de ces objets bien agréable :).

2/ Ca dépend pour beaucoup des bibliothèques qui verront le jour. Dure de donner de façon absolue son avis sur ça, la part d'inconnue est très grande . Néanmoins, à l'heure actuelle, la solution proposé en C# avec les Winforms me semble la meilleure, et le restera sans doute un petit moment dans l'avenir. Simplicité, confort d'utilisation, structuration, quand j'ai découvert ça après avoir longtemps programmé en C avec Win32, ça a été une petite révolution. Pour ce qui est de la création d'applications, c'est vraiment C# qui me semble le plus adapté.
Pour les jeux vidéo, je dirais C++. Ne serait-ce que pour les très nombreuses bibliothèques déjà compatibles, à commencer par DirectX et OpenGL. Le C++ est en plus un très bon langage du point de vue du rapport efficacité de programmation/performances finales. Je ne vois pas quel langage pourrait réellement le détrôner.

3/ Ca ne me semble par réellement une question de préférence, mais d'utilisation. Les collisions pixel perfect seront adaptées dans certains cas, les collisions BoudingBox dans d'autres. Là tout dépend donc de ce sur quoi on travaille.

4/ DirectX vs OpenGL. Débat classique, et je suis pour l'instant davantage partisan de DirectX pour la seule raison que je développe uniquement sous Windows à l'heure actuelle, et que DirectX semble le mieux adapté dans ce cadre.
J'utilise principalement Direct3D pour le rendu 2D, ce qu'il est bien plus facile de faire qu'avec OpenGL où il faut se contenter de plain 3D. De tous points de vus, le travail me semble plus simple sous DirectX, et d'autant plus que l'interaction avec les autres API issus de chez Microsoft se fait très naturellement. DirectX est en plus une bibliothèque C++ là où OpenGL se contente du C. Et comme je le disais plus haut, les objets, j'aime bien ^^. Pour ce qui est de la portabilité, la question, je ne me la pose pas. Lorsque l'on entame un projet, on doit bien savoir si l'on souhaite ou non le rendre portable sur différents OS/plateformes, et agir en conséquence. Le jour où j'aurais besoin d'avoir un code totalement portable, alors peut-être aurais-je une préférence pour OpenGL.
noob4ever Message lu Posté le 11 Jan 2008 à 20:48 Bulle
Avatar de noob4ever
Explorateur

Messages : 295
GCPoints : 48742
J'aime bien ton post Mod, je suis daccord avec toi a 90%.

Pour le langage d'avenir pour les GUI, il va y avoir F#, un vrai langage fonctionelle. Ainsi il y en aura pour tout les gouts.

Objet --> C#
Fonctionelle --> F#

Mais je pense que F# aura un avantage, pour les raisons citées a mon premier poste.

Pour le débat 3) .

J'ai aussi pensé comme toi, que c'étais une question d'adaptation, mais en fait non, car il y a le facteur calcule, ainsi dans la plupart des cas, je préfère BoundingBox.
What did C:/DARTHVADER said to C:/DARTHVADER/LUKESKYWALKER ?

I'm your folder
gus Message lu Posté le 11 Jan 2008 à 21:33 Bulle
Avatar de gus
Explorateur

Messages : 371
GCPoints : 52046
Moi je suis plutot partisant de OpenGL.

1)portable alors que DirectX ne fonctionne que sous windows

2)Pas de perte de perf constaté contrairement a se qu'on dit(sous Ogre)

3)Programmé en C,ce qui permet de programmer en C et en C++,alors que DirectX est uniquement C++.De plus , qui s'amuse a utiliser directement OpenGl et a faire son moteur 3d?

4)Les extensions

5)Plus de tutos que DirectX

6)OpenGl 3.0 devrais permetre d'utiliser les fonctionnalitées de DirectX 10 sous Xp et d'autres Os que Vista

Mais il y a des moins
1)Les cartes graphique ne font pas d'effort pour suporter les dernieres versions de DirectX

2)OpenGL 3.0 a du retard
Dernière édition le 11 Jan 2008 à 21:34
Mod Message lu Posté le 11 Jan 2008 à 21:37 Bulle
Avatar de Mod
Webmaster

Messages : 4954
GCPoints : 2100823
Je n'ai pas encore lu grand chose sur F#, j'ai toujours l'article dont tu avais donné le lien en attente, je regarderai ça :).

Par rapport au pixel perfect/BoundingBox, tu cites le facteur calcul, mais au final, même en prenant ça en compte, ça reste quand même dépendant au contexte dans lequel tu as besoin de la collision. Si ton application a besoin de détecter beaucoup de collisions, tu pencheras plutôt en faveur de la BoundingBox et inversement si tu as peu de calculs à faire. C'est quand même le cas concret qui conditionne le choix de l'un ou de l'autre.
Darktib Message lu Posté le 11 Jan 2008 à 22:43 Bulle
Avatar de Darktib
Membre Ultime

Messages : 4017
GCPoints : 347288
Alors,
Déja, je n'ai pas qu'un seul langage préféré :absurd: :
Pour les projets simple, avec ou sans GUI Win32 je préfere Darkbasic Pro.
Assez intuitif, facile, et les gui sont pas trop compliquées a faire avec Rainbow.
Sinon, pour le reste je préfere le C/C++.
Pour le paradigme, je préfere la POO. Simple, lisible, et efficace.
Je trouve que la programmation fonctionnelle peut devenir un vrai casse-tete^^

Pour le langage d'avenir pour les gui, je pense que ce sera un basic. Visual BASIC, par exemple.
Comme je ne sais que trop peu de choses par rapport au F#, je ne peut pas me prononcer sur ce langage.

Pour les jeux vidéos, le C++ sans hésitations, dans un jeu vidéos les performances sont quasiment le truc le plus important dans le choix du langage.

Pour les collisions, je préfere les bounding box : plus rapide, et si elles sont bien faites il n'y aura aucune difference visible avec les pixel perfect (a part les performances^^)

Pour l'API graphique je préfere DX. Comme je programme principalement sous windows je prefere DX, meme si OGL est plus rapide sur mon ordi WinXP :absurd: ^^
Par contre sur Vista OGL est dégommé... les performances sont catastrophiques...
Sur vista L'API graphique avec un grand L est DX10.Parce que c'est le plus performant.
noob4ever Message lu Posté le 12 Jan 2008 à 09:57 Bulle
Avatar de noob4ever
Explorateur

Messages : 295
GCPoints : 48742
Pour les jeux vidéo, il est clair qu'aujourd'hui le C++ gagne, mais dans 15 ans, quand le moindre pc a 400 euro sera equipé d'un quad core 5 ghz, et de 8 go de ram, je pense qu'un langage plus facile, et équipé d'un ramasse miette sera beaucoup plus avantageu, surtout en therme de rapidité de developpement

C#
What did C:/DARTHVADER said to C:/DARTHVADER/LUKESKYWALKER ?

I'm your folder
gus Message lu Posté le 12 Jan 2008 à 12:17 Bulle
Avatar de gus
Explorateur

Messages : 371
GCPoints : 52046
Si tu veu mon avis,se serat le java ou un langage pseudo-interpreté qui prendra la releve,a cause de sa portabilité et de sa simplicité...
Mod Message lu Posté le 12 Jan 2008 à 12:19 Bulle
Avatar de Mod
Webmaster

Messages : 4954
GCPoints : 2100823
Si Java avait dû décoller, il l'aurait fait depuis un bout de temps, comme cela avait été prévu, même si ça n'a jamais eu lieu. C# qui est une repompe de Java avec derrière le support de Microsoft, aurait bien plus de chances, d'autant plus qu'il y a XNA.
gus Message lu Posté le 12 Jan 2008 à 13:29 Bulle
Avatar de gus
Explorateur

Messages : 371
GCPoints : 52046
Mais java a décoller!Il suffit de voire que la majorité des offres d'emploi sont pour java...Il n'a pas décoller dans les JV a cause du manque de puissance des ordis actueles
noob4ever Message lu Posté le 12 Jan 2008 à 13:56 Bulle
Avatar de noob4ever
Explorateur

Messages : 295
GCPoints : 48742
Java est utilisé pour les applets.

http://fr.wikipedia.org/wiki/C_sharp

regarde les différences entre Java et C#

bref, C# est mieux que Java.
What did C:/DARTHVADER said to C:/DARTHVADER/LUKESKYWALKER ?

I'm your folder
Darktib Message lu Posté le 12 Jan 2008 à 15:08 Bulle
Avatar de Darktib
Membre Ultime

Messages : 4017
GCPoints : 347288
Java c'est peu puissant...
Un moteur 3D en java par exemple, ca doit pas etre tres performant^^
gus Message lu Posté le 12 Jan 2008 à 23:01 Bulle
Avatar de gus
Explorateur

Messages : 371
GCPoints : 52046
Mais ce qui fait la force de java,c'est qu'un progamme marchera aussi bien sur un intel quad core que sur un téléphone!Alors qu'avec C#,il faut tout recompiler....Sa simplifie la tache des developpeurs.
Darktib Message lu Posté le 13 Jan 2008 à 19:46 Bulle
Avatar de Darktib
Membre Ultime

Messages : 4017
GCPoints : 347288
Le C++ peut fonctionner sur quasiment tout !
Les telephones, les ordinateurs, les consoles,etc...

shadosan Message lu Posté le 13 Jan 2008 à 23:04 Bulle
Avatar de shadosan
Explorateur

Messages : 194
GCPoints : 8461
ouioui, et comme Gus a dit, il faut recompiler et distribuer une version pour [entrez ici un gros chiffre] systèmes, ce qui est un cauchemars lorsque l'on veux que notre programme soit 100% disponible. Et je ne parle pas des problèmes de portabilité rencontré, alors que n'importe quel code Java est portable.

bref, pour Java, il a l'avantage de la portabilité, des applets Web en tout genre (pensez Runescape), et semble-t-il une meilleur utilisation du réseaux.
Dernière édition le 13 Jan 2008 à 23:23
Répondre
GameCorp - Site d'apprentissage et d'entraide à la création de jeux vidéo.
XHTML Valid 1.1 - Page générée en 0.0483 secondes