Thesen Head

These 6 zu These 1

Vermittle die Denkweise der OOP von Anfang an

 

Home   

 


Thesen Text

Seit mehreren Jahren wird in Ausbildungsinstitutionen die Frage diskutiert, ob es für den Programmieranfänger besser sei, zuerst den klassischen Programmierstil weitgehend unter Ausschluss der OOP und erst in einer zweiten Phase die Konzepte der OOP zu erlernen. In der Unterrichtspraxis zeigt sich, dass bei diesem Vorgehen zwar der Einstieg in das Programmieren leichter fällt, dass aber in der zweiten Phase die Akzeptanz der OOP schlecht ausfällt, da sich der Lernende bereits an eine Denkweise gewöhnt hat, die sich fundamental von der OOP unterscheidet. So ist es für den Anfänger nicht immer nachvollziehbar, warum ein Problem für ihn komplizierter mit einem Klassendesign gelöst werden soll, wenn es prozedural einfacher geht. Da die im Unterricht behandelten Probleme meist so kleinen Umfang haben, dass sich die OOP nicht bezahlt macht, ist es zudem nicht leicht, den Lernenden zum Umdenken zu bewegen.

Gewisse Lehrpersonen gehen sogar so weit zu behaupten, dass der klassische prozedurale Programmierstil den Anfänger derart verderbe, dass es für die Einführung in die OOP besser sei, überhaupt keine Programmiervorbildung zu haben. Dies erinnert stark an die polemische Aussage, welche auf den bekannten Informatiker Edsger Dijkstra zurückgeht: „Learning BASIC causes permanent brain damage“. Es ist zwar richtig, dass das Einüben falscher Denkmuster zu vermeiden ist; da aber immer ein gewisser Teil der erlernten Programmiertechnik gültig bleibt, sind solche kategorischen Aussagen fraglich. Dabei wird auch außer Acht gelassen, dass der intelligente Mensch durchaus in der Lage ist, in Kenntnis des Schlechten das Gute zu tun.

Dieses Buch ist in der Absicht geschrieben, den allgemein anerkannten Prinzipien der OOP von Anfang an und in der Folge überall konsequent treu zu bleiben. Es wird darum nicht versucht, durch programmtechnische Tricks, etwa durch weitgehende Verwendung von static und Verzicht auf Vererbung, die OOP zuerst auf ein Minimum zu reduzieren und in einen zweiten Teil zu verbannen. Vielmehr wird von Anfang an auf einen Programmierstil Wert gelegt, wie er von der professionellen Java-Gemeinschaft gefordert wird. Dadurch ist zwar der Einstieg etwas anspruchsvoller und nicht auf das schnelle Lösen einfacher Programmieraufgaben ausgerichtet. Wegen des weitgehenden Verzichts auf Vorwärtsreferenzen und des exemplarischen Vorgehens ist das Buch aber auch so vom Programmieranfänger, der harmonisch in die OOP hineinwächst, zu bewältigen.