Kerli hat geschrieben:Den Artikel kann ich durchaus auch gut mit meiner Meinung vereinbaren. Ich frage mich nur ob ein Programmieranfänger nicht mit Begriffen wie Templates, const-corectness, Vererbung etc. etwas überfordert ist bzw. eher weniger damit anfangen kann. Vor allem der zweite Teil des Artikels ist dann wohl eher erst für eher fortgeschrittenere Programmierer geeignet...
Darüber habe ich auch nachgedacht, bleibt die Frage, wie man das am besten verpackt?
Den Punkt, den ich bei Java sehe ist, dass man die Nachteile erst wirklich begreifen kann, wenn man so gut Programmieren kann, dass man sich in Dinge, wie Template-Templates hineinversetzen kann, wenn man Projekte geschrieben hat, die so groß sind, dass man den Unterschied zwischen der Entwicklung mit Const-Correctness und ohne Const-Correctness vergleichen kann.
Von den Leuten, die mir Java beigebracht haben, hat niemand ein Projekt durchgeführt, dass diese Größe erreicht hat. Obwohl unterrichtet wird (es war ein Professor), fehlt die Kritikfähigkeit, weil das programmatische Denken überhaupt nichtweit reicht, die Probleme zu erkennen. Ein Informatiker sagte mir mal, dass er alles machen kann, was er will und er sich über meine Probleme nie Gedanken gemacht hat. Man muss erst auf die Idee kommen, über die Grenzen des eigenen Denkens hinauszudenken. Wie vermittelt man, dass das Lernen von Java dazu führt, dass man zunächst in eine große neue Welt startet, man viele neue, tolle Möglichkeiten kennen lernt, dass man bei dieser Entdeckungstour gleichzeitig sein Denken in Bahnen lenkt, die beschränkt sind und nur noch schwer aufzubrechen, wenn da nicht jemand ist, der da wirklich mit dem Presslufthammer rangeht und auf die Probleme hinweist?
PS: Ich habe einiges nochmal umformuliert, so dass es hoffentlich etwas leichter verdaulich ist.