Swift-Tagebuch, Teil 3 Programmierung ist kein Kinderspiel

Autor / Redakteur: Christian Rentrop / Stephan Augsten |

Programmierkenntnisse hin oder her: Ein beträchtlicher Teil der Programmierung ist auch Kreativität. Das Erfinden oder Umstricken eines vorhandenen Open-Source-Programms ist gar nicht so banal, wie Anfänger denken. Auch unser Autor musste das lernen.

Anbieter zum Thema

Im Rahmen meines Swift-Lernprogramms half das Anschauen und nachvollziehen von fremden Swift-Projekten in XCode. Einzig: Mir fehlen die Ideen.
Im Rahmen meines Swift-Lernprogramms half das Anschauen und nachvollziehen von fremden Swift-Projekten in XCode. Einzig: Mir fehlen die Ideen.
(Bild: Rentrop / Apple Swift)

Der zweite Teil des Swift-Tagebuchs war von einem Erfolg gekrönt: Die erste eigene App – zusammengebaut mit Swift und dem famosen Apple XCode – war erstaunlich schnell erstellt, Icon und Funktion inklusive. Die Freude hielt allerdings nicht allzu lange an. Leider musste ich in den folgenden Tagen und Wochen feststellen, dass zum Programmieren mehr gehört, als das Zusammenlöten von Simpel-Programmen.

Das ist wie mit dem Sprechen einer Fremdsprache: Man kann das Vokabular und die Grammatik lernen, doch man beherrscht sie erst, wenn man sie eine Weile praktisch angewandt hat und all die kleinen Slang-Wörter, Tricks, Kniffe und Abkürzungen kennt – und dann muss man sie auch noch kreativ einsetzen. Wirklich fließend spricht man aber erst, wenn man wie ein Muttersprachler denkt.

Genau hier scheitere ich: Mir fehlt die Übung. Code will mangels Ideen einfach nicht zu meiner Muttersprache werden – und das sorgt im dritten und letzten Teil des Swift-Tagebuchs für ziemliche Frustration.

Tag 46: Die große Leere

Seit nunmehr sechs Wochen Swift-Kniffelei und der Erstellung von Mini-Programmen dachte ich zunächst, ich sei so etwas wie ein Programmierer. Sicherlich kein Programmierprofi, aber jemand, der sich so etwas autodidaktisch beibringen kann. Coder sein ist schließlich cool und Apples Swift-Dingens tut wirklich alles, um es Einsteigern leicht zu machen.

Einzig: Irgendwo in meinem Gehirn ist eine Hürde, die ich einfach nicht überspringen will, und das ist der Schritt, der jeder Programmierung vorausgeht: Die Idee für eine Software. Zwar bin ich mit etwas Hilfestellung – das Swift-Handbuch ist immer auf dem iPad geöffnet und liegt neben dem Rechner – in der Lage, ein wenig Code zu lesen und umzustricken. Was mir fehlt, ist die Kreativität.

Ich weiß nicht, was ich, außer lausigen kleinen Taschenrechner- und Hörtest-Apps, noch mit meinen neu erworbenen Kenntnissen anfangen könnte. Das liegt auch daran, dass der Objektbezug sich einfach nicht setzen will. Kennst du das, wenn es ein Wort gibt, das du regelmäßig verwenden willst, es die aber jedes Mal nicht einfällt? Genau so fühlt sich das an. Liebes Tagebuch: Ich bin höchstgradig frustriert!

Tag 57: Verzweifeltes Wühlen in GitHub-Repositories

Wenn es mit der eigenen Erstellung nicht klappen will, so denke ich, könnte ich doch wenigstens einen Blick in fremden Code werfen und mir ein wenig Inspiration holen. GitHub hat die nette Kategorie „Trending“, in der sich Swift-Projekte filtern lassen. Da sind einige coole Sachen dabei: Der Songtext-Downloader LyricsX für den Mac zum Beispiel, Umschalter für den macOS-Darkmode oder allerlei Bildschirmschoner und anderer Kleinkram. Ja, ich finde sogar völlig exotische Projekte wie ein grafisches macOS-Frontend für den Xi-Editor.

Echte Entwickler werden wohl verstehen, warum man noch einen Editor braucht. Mir verschließt sich das irgendwie. Aber gut: Ich lade einige Repos herunter, lese hier Code und kompiliere dort ein wenig. Leider kommt dabei nicht viel heraus, denn mir erscheinen die Projekte rund. Für Bugfixing bin ich noch viel zu unbewandert und Modifikationen... naja, die scheinen die Tools nicht zu brauchen. Zumindest fallen mir keine ein.

Tag 61: Zurück auf die Schulbank

Nachdem ich jetzt einige Tage GitHub-Repos geladen und mir den Code der Software angeschaut habe, weiß ich auch, wo mein Problem liegt: Ich war zu voreilig! Mir kommen keine Ideen, weil ich mich nicht wirklich traue oder Angst habe, zu scheitern, was natürlich Blödsinn ist. Trotzdem raucht mir trotz wiederholter Code-Betrachtung regelmäßig nach wenigen Minuten der Kopf.

Wie es scheint, beherrsche ich Swift ganz und gar nicht, vielmehr kann ich ein bisschen Coden und habe mich selbst überschätzt. Und Apples Versprechen „Jeder kann programmieren“ scheint zumindest für mich nicht zu gelten. Vielleicht reicht es aber auch nicht, sich täglich nur eine Stunde damit zu beschäftigen, ich müsste tiefer eintauchen.

Was mir aber ebenfalls fehlt, ist ein Gesamtkonzept, ein Ziel: Es ist, als würde ich Puzzleteile anstarren, aber nicht wissen, welches Gesamtbild sie ergeben könnten. Ich beschließe, kleinere Brötchen zu backen – und im Prinzip noch einmal von vorne anzufangen. Denn vielleicht, nur vielleicht, kommt mir unterwegs eine Idee, wofür ich die Swift-Programmiersprache überhaupt gebrauchen könnte.

Das war schon in der Schule so: Englisch fiel mir, zweckgebunden und anwendungsbezogen, relativ leicht, während mir Latein (außer dem Zweck, alte Inschriften zu lesen und dem Papst im Original zuzuhören) nicht so recht in den Kopf wollte. Mit Swift ist es ähnlich: Wie es scheint, fehlt mir der Zweck, wofür ich es einsetzen kann. Ich werde jetzt nochmal die Schulbank drücken.

Tag 73: Die zündende Idee fehlt nach wie vor

Nachdem ich jetzt noch einmal in Ruhe alle Swift-Lektionen durchgegangen bin, um mich noch einmal mit der Logik vertraut zu machen, ist mir noch immer keine zündende Idee für ein Projekt gekommen. Selbst nach über zehn Wochen Programmier-Übung fehlt mir der rechte Drive.

Irgendwie scheint es jedes Stück Software, das ich in meinem Leben benötigen könnte, bereits von anderen Entwicklern zu geben, und das in vielen Fällen gratis als Open-Source-Software. Vielleicht bin ich auch einfach zu spät in die Programmierung eingestiegen. Ich werde das Projekt „Programmierung mit Swift“ wegen anderer Projekte jetzt erst einmal auf Eis legen.

Fazit: Schnelle Erfolge – aber man braucht Ideen!

Nach diesen zweieinhalb Monaten mit Swift kann ich aber trotzdem folgendes Fazit abgeben: Die Erlernbarkeit ist gut, was schnelle Erfolge gewährleistet, die ihrerseits die Motivation fördern. Und das ist toll für jeden, der wirklich gerne programmieren will. Dennoch ist Swift keine Wunder-Programmiersprache, die Einsteiger mir nichts, dir nichts in professionelle Programmierer verwandelt.

Neben den technischen Grundlagen braucht Swift wie jede Programmiersprache Ideen – und den Wunsch, diese umzusetzen. Genau hier liegt der Grund für mein Scheitern – ich weiß schlicht nicht, was ich mit Swift machen soll. Immerhin: Ich fühle mich dank Apples Programmiersprache in der Lage, im Fall der Fälle irgendwann meine eigene Anwendung zu basteln – und das ist ja auch viel wert.

(ID:45553964)