Ich bin der Meinung, dass man Konzepte nich eins zu eins vom Java auf C++ und umgekehrt übertragen kann. Natürlich ist beides OO.
Ich hab nicht behauptet, dass man die Konzepte aus C++ auf Java übertragen kann. Vieles ist in Java nicht möglich. Man muss sich in einigem Umgewöhnen. Das betrifft den umgekehrten Weg aber auch. Im Endeffekt ist es, was OO betrifft, aber zu 80% Syntax.
In deinen Anspielungen auf die Bibliotheken von Java sehe ich allerdings keinen Bezug zu OOP. In Java sind es Archive der Klassen in ihrer Packetstruktur (Zip-Dateien mit Metadaten, welche das Paket beschreiben) und damit in der Struktur den statischen Bibliotheken von C/C++ ähnlich. In der Handhabung sind es aber eher dynamische Bibliotheken. Der Classloader sucht sich in den Archiven das Paket und darin die Klasse.
Ich habe mich vielleicht ungenau ausgedrückt. Ich meine einfach, wenn man sauber OO in C++ machen kann heisst dass noch nicht, dass man das auch in Java kann und umgekehrt.
Absolut richtig. Dazu muss man wissen, was Eigenheit der Programmiersprache und was das Paradigma dahinter ist. Ich traue mir jetzt auch nicht zu, von 0 auf 100 guten Code in ObjC zu schreiben (Ich hab mit der Sprache noch nicht eine Zeile geschrieben, hab mir gerade erst die Syntax angesehen).
Schliesslich gibt es unterschiedliche Ansätze, programmieren zu lernen.
1) man lernt eine Sprache, dann die nächste und eine weitere.
2) man lernt anhand einer Sprache verschiedene Paradigmen (Strukturiert, Funktional, OOP, AOP,..)
Der erste Weg ist der, der schneller Erfolge verspricht, da man sich nicht um die Theorie kümmern muss, der zweite ist Theorie-lastig, erleichtert aber später das Lernen weiterer Sprachen. Ich würde mir mit meinem Wissen zutrauen, ObjC in 14 Tagen drauf zu haben und damit sauberen Code zu schreiben (die Feinheiten aussen vor gelassen).