Was sind die am häufigsten verwendeten Programmiersprachen? [geschlossen]


24

Als ich vor einem Jahr an meinen Java-Kursen teilgenommen habe, wurde mir gesagt, dass Java hauptsächlich in den ausländischen Spielefirmen verwendet wird, während C ++ hier in den USA verwendet wird. Auf welche Sprachen soll ich mich konzentrieren, um gründlich zu lernen?


3
Ich vermute, Sie haben diese Antwort erhalten, weil die mobile Entwicklung - die historisch auf Java basierte - in Europa viel größer war als in den USA (da Smartphones in Europa viel größer waren als in den USA) und die C ++ - basierten Konsolenentwicklungsstudios , und umgekehrt. "Gaming-Unternehmen" ist eine breite Palette von Plattformen und Märkten und Budgets.

Antworten:


28

Gängige Programmiersprachen können nach "Art" der Spieleentwicklung unterteilt werden.

Große Triple-A-Spiele, die in puncto Grafik den Rahmen sprengen, verwendeten für den Großteil des Projekts in der Regel eine Mischung aus reinem C und C ++. Oft wird eine Skriptsprache verwendet - dies gilt jedoch nicht unbedingt für alle Engines.

Gameplay-Code wird häufig in einer proprietären Sprache (UnrealScript), Python, Lua (CryTek, Spark Engine) oder in einigen Fällen in C # (The Sims 2) geschrieben. Einige Spiele-Engines unterstützen bereits JavaScript (Unity usw.).

Natürlich werden auch Shader-Sprachen verwendet.

Im mobilen Bereich werden iPhones von Objective-C dominiert, während die meisten anderen Handys Java verwenden (Android, Brew-basiert usw.).

Indies oder kleine Unternehmen können je nach Zielplattform so ziemlich alles nutzen. Zum Beispiel ist C # bei kleinen Live-Entwicklern weit verbreitet. Flash-Entwickler verwenden offensichtlich ActionScript.

Hier bitteschön. Hoffentlich hilft das.


Lassen Sie nicht die neue Kollektion von webbasierten Javascript Canvas / WebGL-Spielen aus, die in Webbrowsern ausgeführt werden!
Ehsanul

Sie haben vollkommen recht. Leider gibt es nicht viele dieser Spiele, die monetarisiert werden. Aber ja, das wäre richtig, um es der Liste hinzuzufügen.
AA Grapsas

Wen nennst du kleine Zeit?
Spooks

Einige der beliebtesten Handyspiele sind auch in C ++ mit einem Objective-C / Java-Wrapper geschrieben (iOS und Android ermöglichen dies). XNA (C #) ist für die Arbeit mit Windows Phone 7 und dem Indie nützlich Markt auf XBox.
Nick Gotch

34

C ++ ist die Verkehrssprache der Konsolenspielbranche. C # wird sehr häufig für Werkzeuge und Pipelines verwendet.


16

C ++ ist im aktuellen Spielemarkt ziemlich prominent. Gedanke C ist immer noch weit verbreitet.

Bei der Erstellung von Spielen sollte Ihr Hauptaugenmerk nicht auf der Sprache liegen, sondern auf dem Endprodukt. Beginne niemals ein Projekt und denke "Wie können wir das in Sprache X machen?" aber "Wie können wir das bestmöglich machen?"


9
Nicht, dass ich mit Ihnen nicht einverstanden bin, aber die gebräuchlichsten Sprachen werden wohl am meisten unterstützt und sind daher mit größerer Wahrscheinlichkeit wartbar als etwas Esoterischeres. Die Auswahl beliebter Sprachen hat seine Vorteile.
Tetrad

3
@Tetrad oh da stimme ich voll zu. Dies hat jedoch oft dazu geführt, dass etwas viel einfacher mit einem anderen Tool / einer anderen Sprache hätte gelöst werden können.
Ólafur Waage

Wenn die Sprache einfacher ist, aber kein Entwickler sie verwendet, ist sie dann wirklich einfacher? Viele Dinge sind beispielsweise in Haskell, Python oder Lisp viel einfacher als in C ++. Aber ist das wirklich so?
Jürgen A. Erhard

8

Die ultimative Quelle ist der TIOBE Index . Zugegeben, es sagt dir nicht, wofür jede Sprache verwendet wird ...


3
Der TIOBE-Index ist alles andere als zuverlässig. Der einzige Grund, warum Delphi auf Platz 11 steht, ist, dass die Delphi-Community sich massenhaft dazu entschlossen hat, den Index zu bombardieren und sich ihren Weg nach oben zu bahnen.
RTPerson

15
Wirklich, alle fünf? Das muss eine Weile gedauert haben.
Mike Strobel

-1 die die Frage nicht beantworten.
Klaim

1
@ Mike One starb an ... nun, ich kann es dir nicht sagen. Es ist ein Geheimnis.
Mateen Ulhaq

Ich habe so lange nach einer Site wie dieser gesucht, nur wusste ich es nicht. Vielen Dank!
Evorlor

7

Wie bereits erwähnt, ist C ++ im Wesentlichen das zu lernende Sprache. Die Hauptkonsolen hosten alle eine C ++ - Entwicklungsumgebung, egal ob gut oder schlecht. C # startet in XNA-basierten Spielen, wird aber meist auch für die Entwicklung von Tools verwendet.

Lua ist auch eine der am häufigsten verwendeten Skriptsprachen in Spielen. es ist hilfreich, zumindest eine vorübergehende Vertrautheit damit zu haben.

Häufig enthält die zum Erstellen des Spiels verwendete Build-Kette in Python oder Perl geschriebene Skripte. Es ist hilfreich, mit diesen auch vertraut zu sein (obwohl dies keine Voraussetzung ist).


4

Es ist am besten, nicht eine Sprache zu lernen, sondern verschiedene Programmierkonzepte zu lernen und sie in einigen verschiedenen Sprachen, Frameworks und Umgebungen anzuwenden.


4

PHP nicht vergessen. Es ist sehr beliebt in MMORGP, das über die WWW-Entwicklung gespielt wird. In Polen gibt es eine sehr große Anzahl von MMORPGs, die auf der Vallheru-Engine basieren und vollständig in PHP geschrieben sind.


Oder im Übrigen nur Webentwicklungs-Frameworks im Allgemeinen, gute Erwähnung!
Zombies

0

Vielleicht solltest du dich nicht darauf konzentrieren, eine bestimmte Sprache zu lernen. Sie sollten, wie man sich entwickelt.

Gestern habe ich das iOS SDK und Xcode heruntergeladen. Und ich nahm es sofort und machte ein wenig Tetris. Ich bin ein As3-Typ, und ich habe mich nicht einmal darum gekümmert, Objective-C zu lernen. Aber ich konnte ein einfaches Spiel machen, weil ich verstehe, wie man sich entwickelt.

Mein Punkt hier ist also, dass Sie vielleicht mehr Zeit damit verbringen sollten, neue Konzepte als eine bestimmte Sprache zu lernen. Oder lernen Sie X-Sprachen und übertragen Sie Ihr Wissen auf andere Sprachen.


0

Bei der Spieleentwicklung handelt es sich um eine andere Anwendungsprogrammierung für Ballspiele.

In der Welt der Spiele dreht sich alles um Geschwindigkeit. Wenn Sie die Hüllkurve mit 1080p HD-Grafiken verschieben, zählen ein hoher Sampling-Sound und eine zusätzliche KI für jeden letzten Prozessorzyklus.

Historisch gesehen waren C und C ++ das A und O, aber Java ist jetzt unter bestimmten Umständen in Bezug auf die Geschwindigkeit mit C ++ vergleichbar.

Mit C ++ können Sie die Architektur, auf der Sie sich befinden, besser steuern als mit jeder anderen Sprache.

Die meisten älteren Spieleentwickler sind weit fortgeschritten, was bedeutet, dass sie auf die Weise der alten Schule unterrichtet wurden, da sie erfunden wurden und als solche in älteren Technologien sehr erfahren sind.

Der Hauptgrund, warum die kommerzielle Spieleentwicklung C ++ bevorzugt, ist, dass es seit über 15 Jahren in der Spielebranche eingesetzt wird und buchstäblich Milliarden von internen und öffentlich zugänglichen Bibliotheken dafür vorhanden sind. Wenn Sie es wollen, ist es wahrscheinlich, dass jemand es in c ++ eingebaut hat.

Allerdings wird Java immer beliebter, da es die Entwicklung auf der weit verbreiteten und sich ständig ändernden mobilen Architektur erleichtert, aber die neuesten Spiele werden noch einige Zeit in C ++ geschrieben sein.


-1

3
Überhaupt nicht gesichert.
Doppelgreener

tiobe.com/index.php/content/paperinfo/tpci/index.html zeigt es als # 3 an. Obwohl Sie über die Vorzüge des Tiobe-Index streiten können, gibt es keine Möglichkeit zu argumentieren, dass Objective-C nicht allgemein verwendet wird.
21.

Eine bessere Rechtfertigung als die schreckliche Ansammlung von Junk, die Tiobe ist, wäre lediglich ein Verweis auf die Entwicklerdokumentation von Apple, aus der hervorgeht, dass die bevorzugte Toolchain für die iOS- (und OS X-) Entwicklung Objective-C enthält, da die gesamte Kern-API in dieser Sprache verfügbar gemacht wird .
Josh

Ok - Links hinzugefügt. Ich kann mir nur vorstellen, dass die Abstimmungen von Hassern oder Leuten stammen, die eher unwissend sind.
8.
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.