Sven Rudolph schrieb am 22. Juni 2011 21:02
> Bei den hier aufgelaufenen Kritiken, frage ich mich gerade, ob der
> Autor sich überhaupt noch traut Teil 2 zu schreiben?
Also mir hat schon die Polemik am Anfang des Artikels gereicht, um
nicht weiterlesen zu wollen. Richtig wütend wurde ich dann bei
folgendem Abschnitt:
* snip *
Während C++ die prozedural orientierte Sprache C um die Fähigkeit
erweitert, objektorientiert zu entwickeln, ist Java "von Natur aus"
objektorientiert. In C++ sind nahezu noch alle C-Sünden möglich,
weshalb damit eben auch ein nicht stringentes objektorientiertes
Entwickeln, inklusive des Vermischens beider Ansätze, denkbar ist.
Das geht in Java nicht (abgesehen vielleicht vom ausschließlichen
Verwenden statischer Methoden, auf das die Reihe noch detaillierter
eingeht).
* snip *
Die aus diesem Abschnitt herauszuhörende Meinung, dass man in einigen
Programmiersprachen sauber programmieren muss, in anderen fast nicht
sauber programmieren kann, ist an Naivität und Realitätsferne fast
nicht zu übertreffen.
Zur Erinnerung:
- In C++ sind std::list<int> und std::list<std::string> zwei
verschiedene Klassen, in Java sind List<Integer> und List<String>
dieselbe Klasse (Und List<int> gibt es nicht).
- Um ein prozedural modelliertes Programm von C oder C++ nach Java zu
portieren muss ich nur class X drumherum und static for jede Prozedur
schreiben.
- Java bietet mit Reflection ein Werkzeug mit dem sich mehr Unfug
anstellen lässt als mit Function Pointern in C.
Es gibt noch einige andere Sachen die ich jetzt anbringen könnte aber
was ich sagen möchte:
Ein Programm wird dadurch wartbar und wertvoll das es korrekt
modelliert ist, bekannte Pattern benutzt und sich an Konventionen
hält. Die Programmiersprache ist dabei nebensächlich.