So wählen Sie eine Programmiersprache und ein Escape Tutorial Fegefeuer

Vor ein paar Wochen habe ich über meine Erfahrungen mit dem Versuch berichtet, JavaScript, C #, Python und mehr von Codecademy, Udemy und freeCodeCamp zu lernen. Außerdem habe ich mich vom Fegefeuer des Tutorials verabschiedet und als Entwickler tatsächlich Fortschritte gemacht.

Die Entscheidung für eine Programmiersprache kann äußerst schwierig und zeitaufwändig sein, da es Dutzende von Optionen mit vielen widersprüchlichen Informationen gibt. In diesem Artikel werde ich einige Optionen vorstellen, die auf meinen eigenen Erfahrungen mit dem Erlernen des Codierens basieren, sowie Vorschläge zur Auswahl einer Programmiersprache, zum Ausweichen aus dem Fegefeuer des Tutorials und zum Fortschritt als Entwickler.

Hier ist eine Videoversion dieses Beitrags, wenn Sie es vorziehen (11 Minuten):

Szenario 1: Sie wissen, was Sie erstellen möchten

In Artikeln wie diesen (oder in den Infografiken "Welche Codierungssprache soll ich lernen?", Mit denen Sie wahrscheinlich bestens vertraut sind) werden Sie häufig gebeten, kritisch darüber nachzudenken, was Sie erstellen möchten, nachdem Sie es gelernt haben Code.

Dieser Ansatz ist nützlich, wenn Sie eine Vorstellung davon haben, was Sie nach dem Erlernen mit einer Programmiersprache tun möchten , aber nicht so sehr, wenn Sie nur das Programmieren lernen möchten , wie es meine Erfahrung war. Ich werde beide Szenarien in diesem Artikel behandeln.

Wenn Sie wissen, in welche Richtung Sie nach dem Erlernen einer Programmiersprache Karriere als Programmierer machen möchten, fällt es Ihnen höchstwahrscheinlich leichter, herauszufinden, welche Sprache Sie zuerst lernen müssen. Hier sind einige Vorschläge in diesem Fall.

Frontend-Entwicklung: JavaScript (und HTML / CSS)

Wenn Sie bereits wissen, dass Sie am "Front-End" von Websites arbeiten möchten - also an allem, was der Benutzer sieht, wenn er auf eine Website kommt -, sollten Sie Ihre Codierungsreise mit dem Erlernen von JavaScript beginnen. Sie werden wahrscheinlich zunächst HTML und CSS lernen, die das Rückgrat nahezu jeder Website bilden, und dann JavaScript hinzufügen, um die Funktionalität und Interaktivität Ihrer Websites zu verbessern.

JavaScript ist als Programmiersprache ziemlich allgegenwärtig und hat einen einfacheren Einstieg als andere untergeordnete Sprachen wie C ++. Es ist ein großartiger Ausgangspunkt, wenn Sie nicht wissen, was Sie lernen möchten ... aber dazu später mehr.

Backend-Entwicklung: Python, C # oder JavaScript (und SQL)

Angenommen, Sie möchten mehr über die Eingeweide von Websites erfahren, das "Back-End" verwalten und sich in der Datenbankverwaltung versuchen. Sie haben hier viele Optionen, und der einfachste Weg ist Python, eine anfängerfreundliche Sprache mit ausgereiften Frameworks (z. B. Django und Flask) für die Back-End-Entwicklung.

Sie können auch nichts falsch machen mit C #, das Sie mit dem .NET-Ökosystem von Microsoft und einer Programmiersprache vertraut macht, mit der Sie arbeiten können, sobald Sie damit fertig sind. Und wenn Sie daran denken, "Full Stack" zu betreiben - das heißt, Sie möchten Front-End- und Back-End-Entwicklung durchführen -, sollten Sie JavaScript lernen, das jüngere, aber hoch geschätzte Back-End-Frameworks wie Express und Koa enthält. Dies erleichtert auch Ihren Lernprozess, da Sie dieselbe Sprache zum Codieren beider Stapel verwenden.

Unabhängig davon, welche Sprache Sie für die Back-End-Entwicklung auswählen, werden Sie höchstwahrscheinlich auch SQL zu Ihrer Toolbox für die Datenbankverwaltung hinzufügen. Stellen Sie dies also auf Ihr Radar.

2D-Spieleentwicklung: JavaScript oder C #

Ich habe an anderer Stelle darüber geschrieben, mit welcher Engine Sie 2D-Spiele erstellen sollten, aber hier ist die Skinny.

Es gibt viele 2D-Spiele-Engines, von denen viele Ihren Vorstellungen als Spieleentwickler entsprechen oder nicht, und jede mit ihren eigenen Vorteilen, Eigenheiten und Lernkurven. Einige von ihnen, wie z. B. Game Maker Studio 2, verwenden ihre eigenen proprietären Sprachen, um Skripte auszuführen. Ich würde Ihnen jedoch empfehlen, zuerst JavaScript oder C # zu lernen, selbst wenn Sie langfristig eine andere Spiel-Engine verwenden möchten .

Mit JavaScript können Sie Frameworks wie Phaser verwenden, um 2D-Spiele zu erstellen, oder voll funktionsfähige Engines wie Construct 3 (das tatsächlich Drag-and-Drop-Entwicklung mit Platz für benutzerdefinierte Skripte verwendet). Wenn Sie stattdessen C # lernen möchten, arbeiten Sie mit Unity 2D oder vielleicht MonoGame. Ich würde jedoch empfehlen, mit nicht-motorischen Tutorials (z. B. .NET) zu beginnen, um zuerst einen guten Überblick über die Sprache zu erhalten.

Wenn Sie JavaScript oder C # lernen, erhalten Sie die grundlegenden Codierungskenntnisse, die Sie benötigen, um eine andere Spiel-Engine wie Game Maker in Angriff zu nehmen, und erhalten außerdem Informationen zu bewährten Methoden für die Programmierung und einer sauberen Code-Organisation.

3D-Spieleentwicklung: C # oder C ++

Es gibt viele Möglichkeiten, das Codieren für die Entwicklung von 3D-Spielen zu lernen, und ich würde vorschlagen, dass Sie mit C # oder C ++ beginnen. In der Tat würde ich Ihnen empfehlen, mit C # zu beginnen und sich bis nach C ++ durchzuarbeiten, es sei denn, Sie sind technisch versiert oder haben bereits Programmierkenntnisse. Sie haben eine einfachere Lernkurve und lernen grundlegende Programmierkonzepte, ohne sich mit Dingen wie Speicherverwaltung und Code auf niedrigerer Ebene befassen zu müssen.

Sie werden wahrscheinlich auf jeden Fall beides lernen, aber wenn Sie mit C # beginnen, können Sie mit Unity 3D basteln und dann mit Unreal Engine 4 zu C ++ wechseln.

Data Science / Maschinelles Lernen: Python

Obwohl es in anderen Sprachen Optionen zum Erlernen von Datenwissenschaft / -analyse und maschinellem Lernen gibt, ist Python derzeit der Goldstandard für diesen Bereich der Codierung. Es ist eine ziemlich einfache Sprache zu lernen und setzt Sie guten Programmiergewohnheiten und weit verbreiteten Frameworks aus, sodass Sie hier nichts falsch machen können.

Szenario 2: Sie wissen nicht, was Sie erstellen möchten

Es besteht die eindeutige Möglichkeit, dass Sie Tage, Wochen oder sogar Monate damit verbracht haben, Artikel, Videos, reddit-Posts und Fragen zum Stapelüberlauf zu lesen, die sich mit Programmiersprachen befassen, und immer noch keine Ahnung haben, wo Sie Ihre Zeit investieren sollen, weil Sie es nicht wissen was du bauen willst.

Ich war dort. Es ist nervig.

Meine Empfehlung an Sie, so banal es auch scheinen mag, ist, nur eine auszuwählen. Buchstäblich einer von ihnen, auch wenn sie hier nicht aufgeführt sind. Lerne JavaScript. Oder Python. Oder Rost. Oder Haskell.

OK, vielleicht nicht Haskell. Aber wählen Sie etwas aus und bleiben Sie lange genug dabei, um die Grundlagen zu lernen und zu prüfen, ob es eine Möglichkeit gibt, dass Sie diese Sprache verwenden möchten, um damit zu bauen. Und denken Sie dabei an zwei Dinge:

  1. Legen Sie ein Zeitlimit für sich selbst fest. Zum Beispiel: "Ich werde die nächsten drei Monate brauchen, um JavaScript mithilfe von freeCodeCamp-Tutorials zu lernen." Wenn Sie am Ende dieses Zeitraums das Gefühl haben, Fortschritte zu machen, und es für Sie interessant ist, machen Sie weiter! Wenn nicht, ist es möglicherweise an der Zeit, Ihre Wahl der Sprache zu überdenken und zu prüfen, ob es etwas gibt, das besser zu Ihnen passt.
  2. Erstellen Sie etwas, das nicht in Ihren Tutorials enthalten ist. Dies ist ein entscheidender Schritt für Ihr Wachstum als Entwickler. Ich werde es im nächsten Abschnitt behandeln.

Szenario 3: Sie stecken im Fegefeuer des Tutorials fest

Wenn Sie ein Tutorial nach dem anderen auf derselben oder einer anderen Website durchgeführt haben, ohne jemals das Gefühl zu haben, Fortschritte zu machen, sind Sie möglicherweise sehr frustriert über die Erfahrung, das Programmieren zu lernen. Ich war dort und kann helfen.

Der erste Schritt besteht darin, zu überlegen, wozu Programmier-Tutorials gut sind und was nicht. Die meisten Online-Tutorials - insbesondere solche, mit denen Sie direkt im Browser codieren können - eignen sich hervorragend, um Ihnen das Programmieren beizubringen.

Sie sind andererseits nicht gut, um Ihnen beizubringen, wie man ein Programmierer ist.

In den besten Tutorials lernen Sie grundlegende Codierungskonzepte kennen und müssen dieses Wissen anwenden, um Rätsel und Projekte zu lösen. Sie sind wunderbare Lernwerkzeuge, die, wenn sie über ihren Rahmen hinaus verwendet werden, zu Krücken werden können, die Ihr Lernen behindern.

Ein Programmierer zum Beispiel sitzt nicht den ganzen Tag herum und macht Tutorials. Ein Programmierer programmiert , und genau das müssen Sie tun, um Fortschritte zu erzielen, nachdem Sie die Grundlagen beherrschen.

Der beste Weg, um als Entwickler Fortschritte zu erzielen, besteht darin, ein Projekt in der Sprache Ihrer Wahl auszuwählen und es zu starten. Wenn Sie beispielsweise JavaScript lernen, können Sie eine einfache Website mit HTML / CSS erstellen und Interaktivität mit jQuery hinzufügen. Sie werden wahrscheinlich zunächst eine integrierte Entwicklungsumgebung einrichten und sofort vergessen, wie Sie etwas tun, was Sie in Ihren Tutorials gelernt haben, frustriert werden, zu Google gehen, die Antwort finden und weitermachen. Dann machen Sie Fortschritte, bleiben stecken, suchen nach Stapelüberlauf, kratzen sich an der offiziellen Dokumentation, teilen Ihren Code möglicherweise mit jemandem und wiederholen den gesamten Vorgang.

Und Sie werden genau das tun, was Programmierer tun, wenn Sie ein neues Projekt erstellen.

Schließlich können Sie mit der gewählten Programmiersprache wirklich nichts falsch machen, auch wenn sie nicht auf dieser Liste steht. Wenn Sie sich für eines entscheiden, die Grundlagen erlernen, ein Projekt erstellen und entscheiden, dass es nichts für Sie ist, hilft Ihnen diese Erfahrung auf lange Sicht tatsächlich weiter. Die Informationen, die Sie dabei lernen, sind nützlich, unabhängig davon, welche Sprache Sie für Ihre Projekte verwenden.

Du kannst es schaffen!

Wenn Ihnen dieser Artikel gefallen hat, lesen Sie bitte meine Spiele und Bücher, abonnieren Sie meinen YouTube-Kanal oder treten Sie dem Entromancy Discord bei.

MS Farzan, Ph.D. hat für bekannte Videospielunternehmen und redaktionelle Websites wie Electronic Arts, Perfect World Entertainment, Modus Games und MMORPG.com geschrieben und gearbeitet und war Community Manager für Spiele wie Dungeons & Dragons Neverwinter und Mass Effect: Andromeda . Er ist Creative Director und Lead Game Designer von Entromancy: A Cyberpunk Fantasy RPG und Autor der Nightpath Trilogy . Finden Sie MS Farzan auf Twitter @sominator.