Quels sont les langages de programmation les plus couramment utilisés? [fermé]

24

Lorsque j'ai suivi mes cours Java il y a un an, on m'a dit que Java est utilisé principalement dans les sociétés de jeux à l'étranger tandis que C ++ est utilisé ici aux États-Unis. Quelles langues dois-je privilégier pour un apprentissage approfondi?

Serneum
la source
3
Je soupçonne que la raison pour laquelle vous avez obtenu cette réponse était que le développement mobile - qui était historiquement basé sur Java - était beaucoup plus important en Europe qu'aux États-Unis (puisque les smartphones étaient beaucoup plus grands en Europe qu'aux États-Unis), et les studios de développement de consoles basés sur C ++ , vice versa. Les «sociétés de jeux» sont un large éventail de plateformes, de marchés et de budgets.

Réponses:

28

Les langages de programmation courants peuvent être divisés par "type" de développement de jeux.

Les grands jeux triple A qui repoussent les limites en matière de graphisme utilisaient généralement un mélange de C et de C ++ droits pour la majorité du projet. Souvent, un langage de script sera impliqué - cependant, ce n'est pas nécessairement vrai pour tous les moteurs.

Le code de jeu est souvent écrit dans un langage propriétaire (UnrealScript), Python, Lua (CryTek, Spark Engine) ou, dans certains cas, C # (The Sims 2). Quelques moteurs de jeu commencent à prendre en charge JavaScript (Unity, etc.).

Les langages de shader sont également utilisés, bien sûr.

Dans le domaine mobile, les iPhones sont dominés par l'objectif-C tandis que la plupart des autres téléphones portables utilisent Java (Android, Brew-based, etc.).

Quant aux indépendants ou aux petites entreprises, ils peuvent utiliser à peu près n'importe quoi en fonction de leurs plateformes cibles. Par exemple, C # est courant avec les petits développeurs Live. Les développeurs Flash utilisent évidemment ActionScript.

Alors voilà. J'espère que ça t'as aidé.

AA Grapsas
la source
Ne négligez pas la nouvelle récolte de jeux Web Javascript Canvas / WebGL qui s'exécutent dans les navigateurs Web!
ehsanul
Vous avez tout à fait raison. Malheureusement, il n'y a pas beaucoup de ces jeux qui sont monétisés. Mais, oui, ce serait correct d'ajouter à la liste.
AA Grapsas
qui appelez-vous petit temps?
Spooks
Un certain nombre des jeux mobiles les mieux classés sont également écrits en C ++ avec un wrapper Objective-C / Java (iOS et Android le permettent.) XNA (C #) est utile pour travailler avec Windows Phone 7 ainsi que l'indie marché sur XBox.
Nick Gotch
34

C ++ est la lingua franca de l'industrie des jeux sur console. C # est assez utilisé pour les outils et les pipelines.

munificent
la source
16

C ++ est assez important sur le marché actuel des jeux. La pensée C est encore largement utilisée.

Lors de la création de jeux, votre objectif principal ne doit pas être la langue mais le produit final. Ne démarrez jamais un projet en pensant "Comment pouvons-nous faire cela dans la langue X?" mais "Comment pouvons-nous faire cela de la meilleure façon possible?"

Ólafur Waage
la source
9
Je ne suis pas en désaccord avec vous, mais les langues les plus courantes sont sans doute les plus prises en charge et sont donc plus susceptibles d'être maintenables que quelque chose de plus ésotérique. Le choix des langues populaires a ses avantages.
Tetrad
3
@Tetrad oh je suis entièrement d'accord. Mais cela a souvent conduit sur une voie où quelque chose aurait pu être résolu de manière beaucoup plus simple avec un autre outil / langage.
Ólafur Waage
Bien que si le langage est plus simple, mais qu'aucun développeur ne l'utilise, est-ce vraiment plus simple? Comme beaucoup de choses sont beaucoup plus simples, disons, Haskell, ou Python ou Lisp qu'en C ++. Mais est-ce vraiment le cas?
Jürgen A. Erhard
8

La source ultime est l' indice TIOBE . Certes, il ne vous dira pas à quoi sert chaque langue ...

cyclope
la source
3
L'indice TIOBE est loin d'être fiable. La seule raison pour laquelle Delphi est au numéro 11 est que la communauté Delphi a décidé en masse de bombarder l'indice et de remonter le graphique.
rtperson
15
Vraiment, tous les cinq? Cela a dû prendre un certain temps.
Mike Strobel
-1 qui ne répondent pas à la question.
Klaim
1
@Mike One est mort de ... eh bien je ne peux pas vous le dire. C'est un secret.
Mateen Ulhaq
Je cherche un site comme celui-ci depuis si longtemps, mais je ne le savais pas. Merci!
Evorlor
7

Comme déjà mentionné, le C ++ est essentiellement le langage à apprendre; les principales consoles hébergent toutes un environnement de développement C ++, pour le meilleur ou pour le pire. C # commence à décoller, dans les jeux propulsés par XNA, mais est le plus souvent également utilisé pour le développement d'outils.

Lua est également l'un des langages de script les plus couramment utilisés dans les jeux; il est utile d'en avoir au moins une connaissance passagère.

Souvent, la chaîne de construction utilisée pour construire le jeu contiendra des scripts écrits en Python ou Perl; il est utile de les connaître également (bien que ce ne soit pas une exigence).

Blair Holloway
la source
4

Il est préférable de ne pas apprendre un seul langage, mais d'apprendre différents concepts de programmation et comment les appliquer dans quelques langages, cadres et environnements différents.

Danny Varod
la source
4

N'oubliez pas PHP. Il est très populaire dans MMORGP joué via le développement WWW. En Pologne fg, il existe un très grand nombre de MMORPG basés sur le moteur Vallheru, écrits entièrement en PHP.

FolksLord
la source
Ou d'ailleurs, juste les cadres de développement Web en général, bonne mention cependant!
Zombies
0

Vous ne devriez peut-être pas vous concentrer sur l'apprentissage d'une langue spécifique. Vous devez savoir comment vous développer.

Hier, j'ai téléchargé le SDK iOS et Xcode. Et je l'ai pris tout de suite et j'ai fait un petit tetris. Je suis un gars as3, et je n'ai même pas pris la peine d'apprendre Objective-C. Mais j'ai pu faire un jeu simple parce que je sais développer.

Donc, mon point ici est que vous devriez peut-être passer plus de temps à apprendre de nouveaux concepts qu'une langue spécifique. Ou Apprenez les langues X et transférez vos connaissances dans d'autres langues.

bliipStudio
la source
0

Le développement du jeu est une programmation d'application sous forme de jeu de balle différente.

Dans le monde des jeux, tout est question de vitesse. Lorsque vous repoussez l'enveloppe avec des graphiques HD 1080p, un son d'échantillonnage élevé et une IA nex gen chaque dernier cycle de processeur compte.

Historiquement, C et C ++ ont été les jeûnes, mais java est maintenant comparable au c ++ en termes de vitesse dans certaines circonstances.

C ++ vous permet un meilleur contrôle sur l'architecture sur laquelle vous concevez que tout autre langage.

La plupart des développeurs de jeux seniors sont bien seniors, ce qui signifie qu'ils ont été enseignés à l'ancienne, car ils ont été inventés et sont très compétents dans les technologies plus anciennes.

Mais la principale raison pour laquelle le développement de jeux commerciaux favorise le C ++ est qu'il est utilisé depuis plus de 15 ans dans l'industrie des jeux et qu'il existe littéralement des milliards de bibliothèques internes et publiques. Si vous le voulez, il est probable que quelqu'un l'a construit en c ++.

Cela dit, java devient de plus en plus populaire car il facilite le développement à grande échelle et les jeux architecturaux mobiles en constante évolution mais toujours à la pointe de la technologie continueront à avoir leur cœur écrit en c ++ pendant un certain temps.

Skeith
la source
-1

Objective-C pour les appareils iOS bien sûr. https://developer.apple.com/library/ios/#referencelibrary/GettingStarted/RoadMapiOS/chapters/Languages.html Et la plupart des programmes OS X y sont également codés: https://developer.apple.com/technologies/ mac / cocoa.html

Nevster
la source
3
Pas sauvegardé du tout.
doppelgreener
tiobe.com/index.php/content/paperinfo/tpci/index.html l' affiche comme # 3. Bien que vous puissiez faire valoir les mérites de l'indice tiobe, il n'y a aucun moyen de faire valoir que Objective-C n'est pas couramment utilisé.
nevster
Une meilleure justification que l'agrégation horrible de la malbouffe qu'est Tiobe serait simplement de faire référence à la documentation du développeur d'Apple, ce qui indique que la chaîne d'outils préférentielle pour le développement iOS (et OS X) comprend Objective-C car l'intégralité de l'API de base est exposée dans cette langue .
Josh
Ok - liens ajoutés. Je ne peux qu'imaginer que les downvotes proviennent de haineux ou de personnes plutôt ignorantes.
nevster