Willms++ goes VB

Naja, nicht ganz. Aber immerhin spielt er jetzt wenigstens mit den Schmuddelkindern.

Review zum VHS-Seminar „Einführung in die objektorientierte Programmierung mit Visual Basic.NET“, Januar 2013

Wer seinen Bildungsurlaub mit André Willms im Komed verbringt, sollte vorher ein paar Grundregeln kennen:

  1. Egal, wie perfekt dein Algorithmus/Lösungsweg ist:
    der von Willms ist immer 3 Anweisungen und 5 Variablen kürzer
  2. Ägyptische Käfer sollte man nicht mit Programmierern in Labyrinthe stecken.
  3. Gib dein Abiturzeugnis zurück! Zumindest, was Mathe betrifft.
  4. Am dritten Tag wackelt dein VB6-Weltbild.
    Du irrst aber noch im Glauben, es verteidigen zu können.
  5. Wer am letzten Tag Variablen innerhalb von Klassen noch als Public deklariert,
    wird unehrenhaft entlassen.
  6. Am Ende merkst du, wie cool das Seminar eigentlich war.

Zum Hintergrund: Andre kommt didaktisch aus der C/C++-Ecke, in der man Programme noch ehrlich und mit bloßen Händen aus Bleistift und Papier erschafft.

Somit beginnt auch das Seminar trotz des OOP-Titels zunächst mit den klassischen Kontrollstrukturen der prozeduralen Programmierung. Unerlässlich für den Anfänger und hilfreich für den VB6-Umsteiger wegen der Änderungen an Sprachsyntax oder sowas wie expliziter Typumwandlungen. Damit im Schatten des Beamers kein Deliquent wegdöst, muss sich Käfer Scara von ihm nach jeder Lerneinheit durch ein Labyrinth zu einem Schatz lotsen lassen. Was echt komplex werden kann. (Spieleprogrammierer Willms hat das kleine Insekt übrigens nach Vorbild eines alten Amiga-Spiels gezüchtet).
Der Clou ist das direkte visuelle Feedback, äquivalent zur Quellcodegüte der Seminarteilnehmer. (Wenn der kleine Mistkäfer wegen „verbesserungswürdiger“ Programmierlogik kurz vor dem Ziel doch noch über die Klippe stürzt.)

scara

Der objektorientierte Teil des Seminars ist dann Heimspiel für den Dozenten. Solange es um Klassen, deren Methoden (aka Funktionen) und Exemplare (aka Instanzen) geht, ist die eigene objektbasierte Programmierwelt noch in Ordnung. Die Verwendung des neuen Konstruktors mit Paramterüberladung nimmt man da noch hin. Doch spätestens bei der Vererbung bzw. deren Durchbrechung mit „overloads“ bis hin zur Polymorphie mit „overrides“ kann sich keiner mehr auf vorhandenes Wissen stützen. Obwohl das zu implementierende Weihnachtsgeld-Beispiel sehr lebensnah ist, bleibt die Frage, ob der Programmieranfänger da noch mitkommt.

Das kann aber auch eine persönliche Sichtweise sein, weil man es einfach so nicht gelernt hat. Hört sich übrigens erstmal komisch an, nach etlichen Jahren VB-Programmierung wieder einen Anfängerkurs zu besuchen. Ist es aber ganz und gar nicht: Erstens verwenden wir auf der Arbeit unser VBx seit Markteinführung und haben noch nie Kontakt mit dem ganzen .NET-Gedöns und seinen einhergehenden Sprach- und IDE-Änderungen gehabt. Wird aber langsam Zeit, wo Microsoft Ernst macht und sogar XP nach gefühlten 200 Jahren den Hahn abdreht. Die Schlinge zieht sich zu.

Zweitens wird man gerade im Programmierumfeld irgendwann geistig unflexibel. Und faul. Da gibt es immer gleiche Herangehensweisen an gleich aussehende Aufgaben. EGK/KVK auslesen? Datenbank/Office manipulieren?. Egal, Dim i%, a%, x%  hat’s immer getan. Ob das im Einzelfall sinnvoll oder -los ist. Ein Bildungsurlaub kann da neue Ideen und Herangehensweisen bringen. Andre (dessen Firmenlogo stark an sowas wie Knax-Club erinnert) hat seinen Kurs trotz Alltagsgeschäft engagiert durchgezogen und jede unserer nervigen Fragen souverän beantwortet. Dass Arrays nach alter VB-Schule natürlich wie woanders auch mit Index 0 beginnen und dass nicht explizit initialisierte skalare Variablen in VB6 trotzdem einen Default-Wert haben: geschenkt.

Fazit:
Ein Seminar hängt immer auch von der Teilnehmergruppe ab. Je mehr „alte Hasen“ am Start sind, umso spezieller kann es werden. Ich würde diesen Kurs aber auch dem Programmieranfänger empfehlen, und sei es nur, um nach dem Grundlagenteil in die richtige Denkweise reinzukommen. Zuletzt sei auch eine Lanze für Visual Basic gebrochen: Mittlerweile ist die Sprache erwachsen geworden und schafft dabei trotzdem noch den Spagat zu verständlicher Syntax ohne 50 geschweifte Klammern pro Zeile.

Nach den fünf Tagen Verständnisgewinn beginnt nach Karneval der schwierige Teil: die praktische Umsetzung.