CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Quel langage...

babouche136
babouche136
Niveau 4
11 juillet 2008 à 17:08:24

Quel langage utilisent les développeurs pour concevoir leurs jeux sur consoles (Wii, PS3, Xbox 360...) ?

Simple curiosité... :(

EmeraldWeapon
EmeraldWeapon
Niveau 10
11 juillet 2008 à 19:22:57

Je crois qu'il y a des SDK spéciaux pour les consoles qui sont fournis aux développeurs par Sony, Microsoft, Nintendo, et ça doit ressembler si ce n'est être du C/C++.

saleGauss
saleGauss
Niveau 9
11 juillet 2008 à 22:07:32

niveau langages, pour toutes les machines actuelles (PS2,3,360...), je pense qu'il existent des compilos qui compilent du C et du C++.

Et je pense qu'à part certains points bien précis qui dépendent de la machine, se sont exactement les meme langages que ceux définis dans les normes.
Un exemple de truc qui peut changer : les types. je suis pas persuadé que toutes les machines supportent les double, les long double, etc...
Mais en terme de syntaxe c'est la meme chose.

Et au niveau librairie graphique, oui, chaque constructeur offre une API pour sa machine.

caelacanthe
caelacanthe
Niveau 10
12 juillet 2008 à 11:53:56

il est clair que c'est des langages de bas niveau (surtout pour la ps3 :noel: ), parce qu'avec du python ou du java, les jeux rameraient :(

isukthar
isukthar
Niveau 10
12 juillet 2008 à 12:51:41

Sur XBox 360, on peut utiliser du C#.

guyver2
guyver2
Niveau 10
12 juillet 2008 à 12:53:52

sur psp les devs amateurs peuvent utiliser le C, le C++ (avec quelques limitations I/O) et aussi le lua.

Engineer
Engineer
Niveau 12
12 juillet 2008 à 15:36:44

Comme l'a dit lsukthar, on peut coder sur Xbox 360 grace a XNA en C#

sbas
sbas
Niveau 10
15 juillet 2008 à 22:39:04

caelacanthe: Pas vraiment, python rame car c'est un langage interprété. Dans un langage compilé, le processeur n'a qu'à lire le code machine.

De plus Python et C sont tous deux des langages de la troisième génération, il n'y a donc pas de différence dans la "hauteur" du langage.

dnob700
dnob700
Niveau 10
15 juillet 2008 à 22:54:18

je ne sais pas comment tu compte tes générations mais il y a plus de vingts ans qui séparent le python du C et ça fait très certainement une grosse différence.

Python a énormément de concept de très haut niveau (programmation objet, typage dynamique, opérateur lambda, réflexivité, etc.) qui sont complètement inconnu du C. Tandis qu'il est débarrassé de la couche bas niveau de ce dernier (arithmétique de pointeurs, entre autre).

non vraiment, je crois que python est de plus haut niveau que le C. D'ailleurs le C a été conçu pour écrire des OS alors que le python a été conçu pour être lisible. Ce n'est clairement pas le même dessein pour ces deux langages.

sbas
sbas
Niveau 10
15 juillet 2008 à 23:34:47

La troisième génération regroupe les langage ayant des mots qui leurs sont propres se rapprochant de l'anglais.
Python ne peut pas être un langage de la quatrième génération car cette catégorie regroupe les langage de gestion d'entreprise et de base de données.
Mais il faut reconnaître bien sur que python a un plus haut niveau d'abstraction que C. Cependant, il est dit que l'on doit regrouper ces niveaux de la sorte.

De plus, le temps n'a rien a joué sur la notion de génération, si c'était le cas, dans quelques années, il obligatoire de développer des langage de gestion, qui ne couvrent qu'une maigre partie de ce qu'est capable de faire un ordinateur.

m-2
m-2
Niveau 10
16 juillet 2008 à 00:52:43

si tu es vraiment intéressé par la programmation de jeu, utilise XNA, un langage spécialement conçu (ça reste du C#) pour la Xbox 360

il suffit de downloadé Visual C# Express (gratuit) puis d'y ajouter l'extension XNA (gratuit), tous deux disponibles sur le site de microsoft

ensuite, t'as deux possibilités, soit tu utilise XNA en mode Windows, ce qui te permet de faire des jeux utilisant le clavier et la souris (voir même une manette Xbox branché sur ton PC) et c'est totalement gratuit..

2e possibilité, si ça ne te dérange pas de payer un peu, tu peux t'abonner à Xbox Live (60$/an) ainsi qu'au XNA Creator Club (environ 20$ je crois, à vérifier), tu pourra ainsi télécharger tes jeux sur ta console et les distribuer à tout tes amis!

de plus, comme XNA ne sert qu'à faire des jeux, il y a beaucoup d'aide, d'exemple, de didacticiel et de contenus graphiques 100% gratuit disponible un peu partout..

dnob700
dnob700
Niveau 10
16 juillet 2008 à 03:22:38

bon, c'est une définition de "génération", mais ce n'est pas forcément pertinent au regard de ce qu'on appelle usuellement la "hauteur" d'un langage (le terme est impropre).

Dans tout les cas, python est un langage de bien plus haut niveau que le C. Indépendamment de leur génération.

(l'assembleur aussi est un langage de troisième génération, non ? car il a des mots qui lui sont propres mais qui se rapprochent de l'anglais)

sbas
sbas
Niveau 10
16 juillet 2008 à 12:42:22

Non, l'assembleur est un langage de seconde génération: il possède une syntaxe "copiée" sur le langage machine, tandis que ceux de la troisième génération ont leurs propre mots(IF, GOTO, DEFUN), qui ne peuvent pas être directement traduit en code machine.

godrik
godrik
Niveau 30
16 juillet 2008 à 13:36:21

sbas fait référence aux génération de langages de programmation.
http://fr.wikibooks.org/wiki/Programmation/Langages_de_programmation
Cette notion reflete (plus ou moins) la difficulté d'apprentissage par un néophyte/expert.

En bref, relativement a des questions de performances. on s'en fout. Ca n'a rien a voir.

l'argument:
"caelacanthe: Pas vraiment, python rame car c'est un langage interprété. Dans un langage compilé, le processeur n'a qu'à lire le code machine."
est relativement pipo. L'interpreteur pourrait prendre tout le code au démarrage pour le compiler. On aurait alors un code natif pour le processeur qui devrait s'exécuter rapidement.

Cependant ton argument ne tient pas, ce n'est pas parceque python est interpreté qu'il est lent (l'est il vraiment d'ailleurs ?). C'est probablement parceque lorsque les gens developpe en python, ils ne se posent pas de question d'optimisation de leur code en fonction de leur plateforme cible.

pour plus de détails, je recommande la lecture des benchmark java contre c++:
http://kano.net/javabench/
qui conclu que java est plus rapide que c++ (comment est-ce possible, il est interpreté ?)

et de
http://bruscy.multicon.pl/pages/przemek/java_not_really_faster_than_cpp.html
qui repond au premier benchmark.
je me permet de faire un copier/coller de sa conclusion ici:
"The most important conclusion is obvious. (For this set of benchmarks,) C++ is clearly the winner.
[...]
Unfortunately, there's also a third conclusion. It seems that it's much, much easier to create a well performing program in Java. So, please consider it for a moment before you start recoding your Java program in C++ just to make it faster..."

dnob700
dnob700
Niveau 10
16 juillet 2008 à 13:54:44

selon le lien que tu donne godrik, je rangerais même le python dans la génération 6 (langages OO).

sbas : le mot clef GOTO existe tel quel en assembleur (même s'il s'appelle JUMP), MASM propose aussi un mot clef IF, peut-être plus limité que celui du C, mais qui a à la fois la propritété d'être directement traduisible en langage machine (c'est de l'assembleur) tout en ayant plus d'expressivité. On peut bien entendu définir des fonction en asm. bon j'ergote, mais tes exemples de mots clefs propre à un langage de haut niveau sont très mal choisie. En fait, ce ne sont pas les mots clefs qui compte, mais l'expressivité autorisé des instructions. En C ou en assembleur on écrit exactement la même chose. Mais on peut écrire en une seule instruction quel que chose qui en prendrait plusieurs en asm (opération mathématique à séparer par exemple).

Du point de vue du compilateur, compiler du C vers du langage machine est presque aussi simple que compiler de l'asm (on peut faire une traduction directe de l'un vers l'autre), (des assembleurs de bonne qualité permettent de définir des variables par exemple ce qui aurait été une spécifité du C sinon)

godrik : est-ce que l'interpréteur du java n'est pas un JIT ? auquel cas ça peut expliquer les très bonnes performances. Mais stricto-sensu ce n'est pas exactement un langage interprété alors.

godrik
godrik
Niveau 30
16 juillet 2008 à 14:49:19

si j'ai bien compris (je ne fais pas de java au quotidien et je parle de mémoire du benchmark que j'ai lu il y a quelques mois), il y a deux version de la JVM, la version client et la version server. La version client a de tres mauvaise perf, visiblement, le code est quasiment interpreté (un tout petit peu de JIT, mais les caches sont tres petits). La version serveur par contre semble deployer toute l'artillerie du JIT compilation, cache de code, statistique d'utilisation et de branchement, inlining, deroulement des fonctions recursive...

Quand on regarde le benchmark de pres, java a une mauvaise gestion de la mémoire (:ding:) et donc certaine opération se font tres tres mal a cause de fragmentation de ram, de manque de localité... Ces points la peuvent etre géré manuellement en C++ (bien que ca entraine des ligens de code et des compétences supplémentaires)

Puisqu'on en est a parler de gestion mémoire, j'avais lu des choses amusantes sur les langages garbage collecté. Je pense a une version je-ne-sais-plus-laquelle-de caml. L'algorithme de GC fait du copy-and-sweep. Basiquement la mémoire est entierement recopié régulièrement, a cette occasion, un parcours des références est effectué pour faire le ménage dans la mémoire. Cet algo avait du fait de bonnes performances parceque les données étaient toujours groupé en mémoire. Cela dimuninait le nombre de défault de cache de l'application. J'avais vu des benchmarks, ou une implantation simple en caml avait de bien meilleur perfs que l'implantation not-that-idiot en C++.
Ils parlaient d'ailleurs de rajouter des statistiques dans les access mémoire pour essayer d'augmenter la localité des donénes, i.e. essayer de mettre ensemble les bloc de données accéder simultanément.

Finalement, pour enterrer les "générations de langages de programmation" en faisant remarquer que quelques langages ne rentrent pas bien du tout dans cette nomenclature, je parle des langages ésotériques comme les expressions régulieres, le whitespace, le brainfuck...
Cette notion de générations a été inventé il y a bien longtemps et AMHA n'a pas vraiment de sens aujourd'hui.

Pseudo supprimé
Pseudo supprimé 17 juillet 2008 à 02:38:25

Et avec ça, on peut classer le C en sixième génération?
http://www.planetpdf.com/codecuts/pdfs/ooc.pdf
:o))

yetimothee
yetimothee
Niveau 8
17 juillet 2008 à 10:29:41

Eh non, parce que l'orienté objet en C est assez connu déjà, et n'est pas prévu nativement :)

Pseudo supprimé
Pseudo supprimé 17 juillet 2008 à 17:18:32

Alors c'est un langage de 3ème génération native mais de 6ème génération non native? :o))

dnob700
dnob700
Niveau 10
17 juillet 2008 à 17:54:18

il est possible de faire de la "programmation OO" en C. Mais le C n'est pas un "langage OO". Donc dans le contexte de ces "générations" il me semble vraiment être de troisième génération.

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment