Beste Literatur?

  • Beste Literatur?

    Hey Leute!

    Seid gnädig mit mir und verzeiht mir diese Frage, die hier mit Sicherheit schon sehr oft gestellt wurde, die ich aber nochmals stellen möchte, da die Suchfunktion nicht soo viel hilfreiches ausgespruckt hat.

    Ich habe schon viel Programmiererfahrung in Java gesammelt und ein bisschen in C++. Jetzt möchte ich aber in die App Programmierung (iPhone + iPad) einsteigen und suche hierfür Literatur.. Es wird viel angeboten, aber man weiß nie, ob man damit glücklich wird oder nicht. Sicher ist das auch ein Stück Geschmackssache, aber dennocht habt ihr bestimmt n paar Tips für mich!

    Vielen Dank für Eure Hilfe!!

    P.S.: Eine Einführung in Objective C sollte das Buch auch haben. Das haben aber denke ich viele Bücher...
    P.P.S.: Könnt ihr mir den Unterschied zw Obj. C und Cocoa in einem Satz erklären, bzw. die unterschiedlichen Anwendungsfelder aufzeigen? Dankeee!
  • mrbela schrieb:

    Ich habe schon viel Programmiererfahrung in Java gesammelt und ein bisschen in C++.

    Ich fürchte, dass es keinerlei Umstiegsliteratur für Javaerfahrene gibt.
    Insofern kann es durchaus sein, dass dich diese Grundlagenbücher nicht weiter bringen, denn entweder fühlt es sich an wie 'Weiß ich schon, kenn ich schon, interessiert mich grad überhaupt nicht." oder wie "Ist ja alles gut und schön, aber wo sind die relevanten Informationen?"

    Deshalb ein bis drei Tipps:
    • Vergiss Exceptions, du wirst sie nur sehr, sehr, sehr selten zu Gesicht bekommen.
    • Nimm Warnings sehr, sehr, sehr ernst. (IntelliJ warnt mich beispielsweise über jeden Scheiß. 'isSomething is always true when reaching here' obwohl es einfach mal um Längen lesbarer ist. Xcode tut das nicht. Wenn Xcode warnt, dann aus guten Gründen.)
    • In Verbindung mit dem ersten Punkt: Es gibt keine NullPointerReference Exception, du kannst lustig jede Nachricht an nil senden. Es gibt keine ClassCastException, du kannst NSObject lustig nach NSString, NSNumber, NSArray, NSDictionary, NSSet und anschließend zurück nach NSObject casten.
    Das bedeutet aber nicht, dass NSObject plötzlich auf -objectEnumerator oder -integerValue reagiert. ;) Es gibt einfach keine Exception, weil es wie im Android NDK alles als 'void *' definiert ist.
    • Interfaces (im Java-Sinne) sind nicht existent, da man Header und Protokolle hat
    • An Stelle statischer Methoden nutzt man Klassenmethoden, Klassenvariablen gibt es jedoch nicht. Insgesamt sollte man meiner Meinung nach den Static-Kram komplett vergessen oder zumindest so nutzen wie in C üblich und nicht wie in C++/Java/C# eingebürgert.

    Naja, und all die tollen Java Design Pattern kannst du auch mal komplett vergessen, da Apple ihre eigenen Namen dafür haben und ihre Design Pattern auch rigoros durchdrücken. ;)
    Cocoa ist dank Objective-C um Längen dynamischer als Java und genau deshalb bringt einen das gesammelte Java-Wissen an etlichen Enden nicht weiter.
    «Applejack» "Don't you use your fancy mathematics to muddle the issue!"

    Iä-86! Iä-64! Awavauatsh fthagn!

    kmr schrieb:

    Ach, Du bist auch so ein leichtgläubiger Zeitgenosse, der alles glaubt, was irgendwelche Typen vor sich hin brabbeln. :-P