Re:Welche Programmiersprache sollte man als Anfänger lernen?
von Border am 27.03.19 um 12:37
Antwort auf: Welche Programmiersprache sollte man als Anfänger lernen? von Pascal Parvex

Fast drei Jahre alt? Hatte ich gar nicht mitbekommen. Wahrscheinlich, weil ich nie in die Technik hier schaue :D
Hier nur mal mein "Werdegang" bisher:

Ich habe mir Mitte 2017 auch diese Frage gestellt. Ich hatte eine Idee für eine App und wollte unbedingt wissen, wie man das umsetzen könnte. Vorherige Erfahrung hatte ich eigentlich nur rudimentär in HTML. Das Ganze ist aber absolut nicht vergleichbar (und wenn, dann nur sehr, sehr entfernt) mit "echten" Programmiersprachen. Ich kenne auch keine Leute persönlich, die Software entwickeln (abgesehen von den Entwicklern in der Firma).

In der Schule habe ich mal an einem Apple 2 Computer in einer Computer AG ein Quiz-Spiel entwickelt. Ich konnte mich allerdings an nichts mehr erinnern, außer an die Begriffe Variable, Abfrage und Klasse. Die Begriffe, wohlgemerkt, nicht deren Bedeutung :)

Da ich iPhone Besitzer und Mac User bin, war für mich naheliegend, dass ich dort ansetzte. Swift heißt die Programmiersprache, die Apple (mittlerweile quelloffen) zur Verfügung stellt. Allerdings braucht man hier XCode, um das Ganze für macOS, iOS, tvOS und watchOS anwenden zu können. Praktisch ist, dass es für jedes Gerät Simulatoren gibt, so dass man nach dem Kompilieren (je nach Komplexität sind das nur wenige Sekunden) gleich am Bildschirm auf dem simulierten Gerät testen kann. Gleichzeitig bietet Apple den Playground in XCode an, wo man seinen Code rein technisch testen kann, ohne visuelle Begleiterscheinungen wie Buttons oder sonstige Oberflächen. Also direkt im Programm.

Da ich in Vollzeit arbeite, habe ich mich für einen Online-Kurs entschieden und bin über Udemy.com auf einen deutschen Kurs gestoßen. Swift 4 und XCode 9. Ich habe den Kurs nie abgeschlossen (obwohl ich bei ca. 75% bin), weil mir zwischendurch während des Lernens immer wieder Ideen kamen, die ich in mobilen Apps umgesetzt habe. Das hat tatsächlich funktioniert. Nur 5 Wochen, nachdem ich mit dem Lernen als absoluter Neuling begonnen hatte, hatte ich tatsächlich eine eigene App im Apple App Store.

Ich habe irgendwann erkannt, dass man mit Swift schon recht limitiert ist, da es eben nicht für Android, Windows und andere Systeme brauchbar ist. Mächtige Sprache, keine Frage, aber eben eingeschränkt, was die Veröffentlichungen angeht. Im Nachhinein kam mir häufiger der Gedanke, dass ich vielleicht mit Java, C# oder C++ hätte beginnen sollen, weil sich hiermit Applikationen für alle Plattformen umsetzen lassen. Ich hätte auch eine Ebene unter Swift ansetzen und zunächst Objective-C lernen können. So wäre der Einstieg in Swift relativ einfach gewesen.

Nach einer kurzen Auszeit von der Anwendungsentwicklung, habe ich umfassende Kurse zu HTML 5 und CSS 3 nachgeholt. Aktuell will ich PHP und JavaScript anschließen. Wenn man das gesamte Web-Paket, so will ich es mal nennen, in den Grundzügen draufhat, kann man sehr viele umfangreiche Dinge umsetzen und profitiert beispielsweise von Umsetzungen von Web-Projekten als App. Da ich das alles neben dem Beruf mache, geht es eher schleppend voran und ich freue mich immer über Erfolgserlebnisse.

Aufgefallen ist mir irgendwann, dass die Syntax vieler Sprachen sehr, sehr ähnlich ist. Sogar PHP und JavaScript haben in den grundlegenden Funktionen sehr viel Ähnlichkeit mit Objective-C, C, Java oder Swift. Die Schreibweise ist eben leicht anders. Die Logik aber fast immer die Gleiche. Bei der einen Sprache muss man mehr abfragen, bei der anderen Sprache spart man sich hier und da Elemente, da das bereits, je nach Aufbau, inklusive ist.

Ich weiß nicht, wohin mich meine Reise führt, aber es war schon immer ein kleiner Traum, eine tolle Idee zu haben und dann in der Lage zu sein, nicht nur das Design, sondern das gesamte Konstrukt selbst umsetzen zu können. Man merkt schnell, dass man auch nach zwei Jahren immer noch ein Anfänger ist und wer keinen Bock darauf hat, Dokumentationen zu lesen oder lange zu recherchieren, teilweise Abende lang Trial-and-Error-Sessions zu fummeln, sollte das Ganze lieber seinlassen. Ich bin schon auf Dinge gestoßen, die mich tagelang beschäftigt und beinahe wahnsinnig gemacht hätten. Und dann kommt halt so'n "gelernter" Entwickler, guckt einem mit 'ner Tasse Kaffee in der Hand über die Schulter, zeigt auf den Bildschirm und sagt: "Was'n das da? Nimm lieber 'ne Schleife."
Aufregung, Fluchtiraden und nahender Nervenzusammenbruch: 3 Tage
Code nach der Bemerkung ändern und sehen, dass alles funktioniert: 35 Sekunden

So liefen die ersten Wochen häufiger ab :)

Im Moment bin ich wie gesagt nicht sicher, was ich machen soll. PHP finde ich furchtbar trocken (mag am Tutor liegen, keine Ahnung), aber PHP und JavaScript gehören halt dazu, wenn man im Web was reißen will. Aber auch C# in Verbindung mit Unity interessieren mich ziemlich. Das kann man wiederum auch mit Swift verbinden und richtige Spiele umsetzen - 2D oder 3D, völlig egal. Wenn ich die Zeit hätte, würde das alles schneller gehen, aber so ist es eben.

Wenn man mich jetzt abschließend fragt, welche Sprache man als Neuling zum Einstieg wählen soll, sage ich: nimm die,  mit der du so viele Plattformen wie möglich erreichst. Wahrscheinlich C# oder Java. Hoffe aber vor allem, dass du eine Lernmethode findest, die dir Spaß macht. Es gibt nichts Schlimmeres als Tutoren, die nur komisch rumstammeln und nicht wirklich erklären können, was sie da treiben.

Viel Erfolg! :D

< antworten >