D
Dexter1997
Gast
Hallo Freunde der Sonne,
Kurzfassung:
Die Frage wird länger. Wer keine Zeit oder Lust hat, aber mir einen Rat geben will, die Kurzfassung:
Welche Programmiersprache sollte man als Programmieranfänger zuerst beherrschen, um einfache Spiele entwickeln zu können?
Ausführlich
Ich beginne bald mein Informatikstudium, möchte aber auch in meiner Freizeit Programme entwickeln, also nicht nur im Rahmen eines Studiums bzw. ausschließlich aus fremdbestimmten Gründen.
Vorallem interessiere ich mich für die Entwicklung von einfachen Computerspielen, speziell Rollenspielen. Später möchte ich auch in der Lage sein, einfache 2D-Spiele zu entwickeln, ähnlich folgendem Aussehen:
https://de.wikipedia.org/wiki/Isometrie-Engine
Hierbei möchte ich möglichst viel selber machen. Die Planung, Programmierung und Erstellung der Grafiken möchte ich selbst übernehmen. Bis dahin ist es aber ein langer Weg.
Ein bisschen was über die Programmierung weiß ich schon. Ich habe Python, Java, C, C++, Javascript (+HTML u. CSS) bereits ausprobiert. Mein Profil auf Code Review zeichnet ein Bild von dem ab, wozu ich schon "in der Lage bin".
https://codereview.stackexchange.com/users/141134/dexter-thorn
Als Anfänger, der ich mein zukünftiges Handwerk "bitterernst" nehme, erschlägt mich vorallem die Große Fülle an Programmiersprachen und die Pro- und Kontraargumente sowie Meinungen von großen Persönlichkeiten über jeweilige Sprachen / Programmierparadigmen. Das führte dazu, dass ich selbsterklärte Lernprojekte nie wirklich durchgezogen habe, weil ich immer hin- und hergerissen war und nur hier und da mal reinschnupperte.
Hier mal ein paar Gedanken meinerseits zu den Programmiersprachen:
Es gibt Programmiersprachen, dessen Programmcodes man erst kompilieren muss und solche, die zur Laufzeit interpretiert werden. Der Performanceverlust bei interpretierten Sprachen ist mir allerdings ziemlich egal, so rechenaufwendig kann das Spiel eines einzigen Programmierers nicht werden. Zumindest nicht meine. Meine Befürchtung liegt eher darin, dass das Erlernen einer interpretierten Sprache nur zu oberflächlichen Erkenttnissen über die Programmierung führen könnte, da solche meist eher einfacher Natur sind (Python, Java) und viele Optionen, die man beispielsweise in C oder C++ hat dort nicht vorhanden sind. Dementsprechend würden hier lehrreiche Lektionen ausfallen. Auch weiß ich nicht, ob es gut ist, als Anfänger direkt objektorientierte Sprachen zu erlernen, ohne zuerst das prozedurale Paradigma verstanden zu haben. Vorallem bin ich dort deswegen unsicher, weil es viele hochkarätige Programmierer gibt, die Objektorientierung nicht nur kritisieren, sondern verachten. Das verunsichert einen nachdenklichen Charaktertyp wie mich sehr.
Hier meine Gedanken zu einigen Programmiersprachen
C
Ich glaube, es wäre gut C zu lernen, da einem das Erlernen dieser Sprache gleichzeitig grundlegende Kentnisse darüber ermöglicht, was beim Programmieren "wirklich vorgeht", was innerhalb des Computers geschieht. Ein von mir befürchteter Nachteil liegt allerdings darin, dass C nicht zum Entwickeln von grafischen Computerspielen gemacht wurde und die Literatur diesbezüglich eher mager ausfallen könnte.
C++
Hier denke ich dasselbe wie C, nur hat C++ bei mir einen Imageschaden, da meine "Vorbilder" (besser gesagt: die Meinungen dieser Leute sind für mich interessant) wie Linus Torvalds oder Richard Stallman und selbst der wichtigste Vordenker der Objektorientierung, Alan Kay, von C++ nichts halten.
Java
Super hierbei ist, dass Java Bibliotheken für so ziemlich alles anbietet, und dann auch noch plattformunabhängig. Nachteil: Man lernt eben nur "oberflächlich" programmieren, da Java vieles vereinfacht und wichtige Konzepte rausschmeißt (Zeiger, Speicherverwaltung) bzw. diese selbst erledigt. Außerdem ist Java eine rein objektorientierte Sprache, ermöglicht also syntaktisch kein anderes Programmierparadigma, ohne hässlichen Code schreiben zu müssen, der umständlich aussieht. Nicht zu vergessen, dass viele hochkarätige Programmierer von Objektorientierung teilweise nichts halten.
Python
Hierbei denke ich dasselbe wie über Java, nur das der Kritikpunkt der Objektorientierung rausfällt.
Abschließend möchte ich noch sagen, das das anfängliche Erlernen einer sehr abstrahierenden, vereinfachenden Sprache vielleicht nicht so problematisch ist, da man das Aneignen von tiefgründigem Wissen über Computer eigentlich von einem Informatikstudium erwarten darf, also sowieso auf mich zukommt.
Was würdet ihr einem verunsicherte Programmieranfänger wie mir raten, der möglichst früh kleinere eigenständige Spiele, und später aufwendigere Spiele größtenteils im Alleingang programmieren will? Ich wäre sehr interessiert an Ratschlägen.
Danke für die Aufmerksamkeit!
Kurzfassung:
Die Frage wird länger. Wer keine Zeit oder Lust hat, aber mir einen Rat geben will, die Kurzfassung:
Welche Programmiersprache sollte man als Programmieranfänger zuerst beherrschen, um einfache Spiele entwickeln zu können?
Ausführlich
Ich beginne bald mein Informatikstudium, möchte aber auch in meiner Freizeit Programme entwickeln, also nicht nur im Rahmen eines Studiums bzw. ausschließlich aus fremdbestimmten Gründen.
Vorallem interessiere ich mich für die Entwicklung von einfachen Computerspielen, speziell Rollenspielen. Später möchte ich auch in der Lage sein, einfache 2D-Spiele zu entwickeln, ähnlich folgendem Aussehen:
https://de.wikipedia.org/wiki/Isometrie-Engine
Hierbei möchte ich möglichst viel selber machen. Die Planung, Programmierung und Erstellung der Grafiken möchte ich selbst übernehmen. Bis dahin ist es aber ein langer Weg.
Ein bisschen was über die Programmierung weiß ich schon. Ich habe Python, Java, C, C++, Javascript (+HTML u. CSS) bereits ausprobiert. Mein Profil auf Code Review zeichnet ein Bild von dem ab, wozu ich schon "in der Lage bin".
https://codereview.stackexchange.com/users/141134/dexter-thorn
Als Anfänger, der ich mein zukünftiges Handwerk "bitterernst" nehme, erschlägt mich vorallem die Große Fülle an Programmiersprachen und die Pro- und Kontraargumente sowie Meinungen von großen Persönlichkeiten über jeweilige Sprachen / Programmierparadigmen. Das führte dazu, dass ich selbsterklärte Lernprojekte nie wirklich durchgezogen habe, weil ich immer hin- und hergerissen war und nur hier und da mal reinschnupperte.
Hier mal ein paar Gedanken meinerseits zu den Programmiersprachen:
Es gibt Programmiersprachen, dessen Programmcodes man erst kompilieren muss und solche, die zur Laufzeit interpretiert werden. Der Performanceverlust bei interpretierten Sprachen ist mir allerdings ziemlich egal, so rechenaufwendig kann das Spiel eines einzigen Programmierers nicht werden. Zumindest nicht meine. Meine Befürchtung liegt eher darin, dass das Erlernen einer interpretierten Sprache nur zu oberflächlichen Erkenttnissen über die Programmierung führen könnte, da solche meist eher einfacher Natur sind (Python, Java) und viele Optionen, die man beispielsweise in C oder C++ hat dort nicht vorhanden sind. Dementsprechend würden hier lehrreiche Lektionen ausfallen. Auch weiß ich nicht, ob es gut ist, als Anfänger direkt objektorientierte Sprachen zu erlernen, ohne zuerst das prozedurale Paradigma verstanden zu haben. Vorallem bin ich dort deswegen unsicher, weil es viele hochkarätige Programmierer gibt, die Objektorientierung nicht nur kritisieren, sondern verachten. Das verunsichert einen nachdenklichen Charaktertyp wie mich sehr.
Hier meine Gedanken zu einigen Programmiersprachen
C
Ich glaube, es wäre gut C zu lernen, da einem das Erlernen dieser Sprache gleichzeitig grundlegende Kentnisse darüber ermöglicht, was beim Programmieren "wirklich vorgeht", was innerhalb des Computers geschieht. Ein von mir befürchteter Nachteil liegt allerdings darin, dass C nicht zum Entwickeln von grafischen Computerspielen gemacht wurde und die Literatur diesbezüglich eher mager ausfallen könnte.
C++
Hier denke ich dasselbe wie C, nur hat C++ bei mir einen Imageschaden, da meine "Vorbilder" (besser gesagt: die Meinungen dieser Leute sind für mich interessant) wie Linus Torvalds oder Richard Stallman und selbst der wichtigste Vordenker der Objektorientierung, Alan Kay, von C++ nichts halten.
Java
Super hierbei ist, dass Java Bibliotheken für so ziemlich alles anbietet, und dann auch noch plattformunabhängig. Nachteil: Man lernt eben nur "oberflächlich" programmieren, da Java vieles vereinfacht und wichtige Konzepte rausschmeißt (Zeiger, Speicherverwaltung) bzw. diese selbst erledigt. Außerdem ist Java eine rein objektorientierte Sprache, ermöglicht also syntaktisch kein anderes Programmierparadigma, ohne hässlichen Code schreiben zu müssen, der umständlich aussieht. Nicht zu vergessen, dass viele hochkarätige Programmierer von Objektorientierung teilweise nichts halten.
Python
Hierbei denke ich dasselbe wie über Java, nur das der Kritikpunkt der Objektorientierung rausfällt.
Abschließend möchte ich noch sagen, das das anfängliche Erlernen einer sehr abstrahierenden, vereinfachenden Sprache vielleicht nicht so problematisch ist, da man das Aneignen von tiefgründigem Wissen über Computer eigentlich von einem Informatikstudium erwarten darf, also sowieso auf mich zukommt.
Was würdet ihr einem verunsicherte Programmieranfänger wie mir raten, der möglichst früh kleinere eigenständige Spiele, und später aufwendigere Spiele größtenteils im Alleingang programmieren will? Ich wäre sehr interessiert an Ratschlägen.
Danke für die Aufmerksamkeit!
Zuletzt bearbeitet von einem Moderator: