1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Programmieranfänger: Einige Fragen!

Dieses Thema im Forum "OS X-Developer" wurde erstellt von tobsch.com, 09.05.06.

  1. tobsch.com

    tobsch.com Zabergäurenette

    Dabei seit:
    18.04.06
    Beiträge:
    602
    Hi ihr,

    ich möchte in nächster Zeit anfangen programmieren zu lernen. Ich kenne mich ein wenig schon aus, aber nicht genug. Hier einige Fragen:

    Welche Bücher könnt ihr mir für den Anfang empfehlen?
    Was muss ich alles für Programmiersprachen können, um normale Programme in XCode zu schreiben?
    Was ist der Unterschied zwischen Carbon und Cocoa?

    Das wär's für's erste.
    Aber ich denke ich werde bald noch einige Fragen haben...

    Ich hoffe ihr könnt mir einige Fragen beantworten.

    Gruß tobsch.com
     
  2. stoebe

    stoebe Uelzener Rambour

    Dabei seit:
    23.12.05
    Beiträge:
    371
    I.d.F. kann ich dir nicht wirklich weiterhelfen. Für den Einstieg reicht meistens schon ein gutes Tutorial - davon findet man im Netz mehr als genug.

    Das ist völlig egal. Von C++ über Java bis hin zu Cocoa ist alles vertreten. Im Zweifelsfalle findest du auch noch genug Xcode-Plugins (z.B. um Pascal programmieren zu können). Am besten schaust du dich einfach mal um, welche Programmiersprache dir am Meisten zuspricht.

    Cocoa:

    Carbon:

    Hier ist eigentlich gar nicht die Frage, für welche Sprache du dich entscheiden solltest; ganz klar Cocoa. Jedoch muss man dazu sagen, dass Cocoa als Einstieg verdammt schwer ist (wie ich finde). Falls du's trotzdem angehen willst, findest du hier ein paar echt gute Tutorials.


    Grüße,

    stoebe
     
  3. tobsch.com

    tobsch.com Zabergäurenette

    Dabei seit:
    18.04.06
    Beiträge:
    602
    Vielen Dank für deine schnellen Antworten!
     
  4. Demo

    Demo Süssreinette (Aargauer Herrenapfel)

    Dabei seit:
    02.04.04
    Beiträge:
    411
    Und vorallem am Anfang ohne IDE arbeiten. Damit lernt man unteranderem Dinge, die die IDE automatisiert.
     
  5. MacApple

    MacApple Lord Grosvenor

    Dabei seit:
    05.01.04
    Beiträge:
    3.470
    Cocoa ist keine Programmiersprache, sondern ein API, welches in der Programmiersprache Objective-C geschrieben wurde und eben mit Objective-C genutzt werden kann.

    MacApple
     
  6. Egger1000

    Egger1000 Osnabrücker Reinette

    Dabei seit:
    26.12.03
    Beiträge:
    994
    Ich würde dennoch mit einer prozeduralen Programmiersprache, wie z.B. C anfangen, dann zur objektorientierten mit C++ übergehen. Dann lernt sich vieles (Java usw.) wesentlich leichter - genauso wie weitere/andere Programmiersprachen.
     
  7. stoebe

    stoebe Uelzener Rambour

    Dabei seit:
    23.12.05
    Beiträge:
    371
    Jo, die Kernaussage war, dass er Cocoa gegenüber Carbon vorziehen sollte. Das Objective-C saumäßig schwer ist (wie ich finde - kann auch sein, dass ich mich noch nicht genug reingelesen habe), erwähnte ich aber schon.
     
  8. cyberchriss

    cyberchriss Becks Apfel (Emstaler Champagner)

    Dabei seit:
    07.04.06
    Beiträge:
    339
    Kennt jeder ein paar gute Anfänger howtos oder Bücher zum Thema C++ unter Xcode und dem Mac compiler?
    Wenn ich mit meinem C++ in 21 Tagen, das wohl für Visual C++ geschrieben wurde die Beispiele nachvollziehen möchte, gibt es schon in den ersten Kapiteln Probleme wegen unterschiedlicher Syntaxe.
     
  9. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.248
    "Accelerated C++; Moo; Koenig" oder "The C++ Primer; Lippman; Lajoie" sind gute Einsteigerbücher zu C++. Für die Bedienung von Xcode nimmt man die Original Apple Doku. Oder am Anfang erspart man sich das alles und compiliert die Miniprogramme auf der Shell, dann hat man das "IDE Lernen müssen" Problem geschickt umgangen.
     
  10. sumpfmonsterjunior

    sumpfmonsterjunior Morgenduft

    Dabei seit:
    17.03.05
    Beiträge:
    167
    Hi,

    ich würde Dir auf jeden Fall am Anfang von C abraten. Ebenso von C++, was noch viel komplexer ist. Um eine objektorientierte Sprache zu lernen, sind Kenntnisse in einer prozeduralen Sprache unnötig und können sogar hinderlich sein.

    Ob Objective-C saumäßig schwer ist, sei einmal dahin gestellt. Es ist in jedem Fall einfacher als C++. Dennoch eignet es sich besser als zweite Sprache, wenn man in objektorienterter Programmierung sattelfester ist.

    Ich würde Dir auf jeden Fall zu Java raten.
    Es ist leicht zu erlernen und ist eine ziemlich saubere Sprache.
    Es gibt massig gute Doku und Tutorials sowie Bücher in allen möglichen Sprachen und vor allem auf deutsch (obwohl Englischkenntnisse nie schlecht sind, die Referenzdoku der IDEs ist so gut wie immer in Englisch).

    Gruß, SMJ
     
  11. MatzeLoCal

    MatzeLoCal Rheinischer Bohnapfel

    Dabei seit:
    05.01.04
    Beiträge:
    2.421
    Jap, ich würde auch zu Java raten. Ist eine ideale Einsteigersprache. Von experimenten mit PHP usw würde ich absolut abraten (ausser du willst was für Webseiten machen)...

    Wenn Du dich allerdings auf den Mac spezialisieren willst oder zumindest anfangs nur dafür was machen willst, dann lern gleich Obj-C und Cocoa...
     
  12. tjp

    tjp Baldwins roter Pepping

    Dabei seit:
    07.07.04
    Beiträge:
    3.248
    Wenn man Objective-C lernen will halte ich diesen Schritt für kontraproduktiv, da man hier nicht lernt wie man Speicher selbst verwaltet muß. Und da Objective-C nun einmal massiv von C Interfaces abhängig ist, muß man das lernen. Entweder man lernt das von Anfang an oder man muß sich nachher liebgewonne Java Eigenheiten wieder abgewöhnen.

    C als Vorstufe für Objective-C ist nicht die schlechteste Wahl. ISO-Pascal oder Modula-II wären zwar besser, da man hier nicht so einem Humbug (insbesondere Zeigerspielereien) zusammenprogrammieren kann wie mit C, wenn man nicht weiß was man da tut, aber das fällt mangels brauchbarem Compiler faktisch aus.
     
  13. sumpfmonsterjunior

    sumpfmonsterjunior Morgenduft

    Dabei seit:
    17.03.05
    Beiträge:
    167
    Gerade die Speicherverwaltung ist ein Gebiet, mit dem Anfänger oft hoffnungslos überfordert sind. Wenn man einmal eine OO-Sprache beherrscht, ist es viel viel leichter, Objective-C zu lernen, als wenn man direkt von C kommt.
    Ausserdem unterscheidet sich die Speicherverwaltung von C doch erheblich von der unter Objective-C, insofern erfordert es eh einen Lernaufwand.

    Java hat neben der Doku den Vorteil, dass er OO-Konzepte von der Pike auf mitbekommt (die in Cocoa genauso essentiell wie in den Java Bibliotheken sind), die Programme auf jeder Platform laufen und es Cocoa auch unter Java gibt.

    Gruß, SMJ
     
  14. MatzeLoCal

    MatzeLoCal Rheinischer Bohnapfel

    Dabei seit:
    05.01.04
    Beiträge:
    2.421
    Richtig, aber ich würde deswegen trotzdem eher mit Obj-C anfangen als mit Java (wenn man eh nur auf dem Mac bleibt), denn es ist auch so, dass es schwierig ist, die Speicherverwaltung nach zu lernen bzw nicht zu vergessen... so von wegen "gewohnheitstier" und so.

    Hmm... Cocoa und Java, das Thema ist nicht mehr sonderlich aktuell. Apple hat die Weiterentwicklung eingestellt, darum ist die Zunkunft davon wohl eher düster.
     
  15. tobsch.com

    tobsch.com Zabergäurenette

    Dabei seit:
    18.04.06
    Beiträge:
    602
    Erstmal danke für eure Zahlreichen Ratschläge.

    Ja also, ich arbeite auch viel mit Macromedia Flash 8 und lerne deswegen gerade ActionScript 2.0. Und ActionScript ist ja seit der Version 2.0 eine objektorientierte Sprache. Also wenn ich das dann richtig verstehe, kann ich, wenn ich ActionScript 2.0 beherrsche, auch gleich mit objective-C anfangen, oder?

    Gruß tobsch.com
     
  16. MatzeLoCal

    MatzeLoCal Rheinischer Bohnapfel

    Dabei seit:
    05.01.04
    Beiträge:
    2.421
    Ich kenne zwar ActionScript nicht, aber Du kannst IMMER mit Obj-C einsteigen... IMHO

    Ich finde die Sprache auch sehr schön... bei mir liegen die Schwierigkeiten eher im InterfaceBuilder bzw in der Kommunikation zwischen eigenen Klassen und der GUI. Ich kenne das von Java halt anders. Dort ist sämtlicher Code unter meine Kontrolle.. mit dem IB verliere ich die etwas.. und hab ich wenns komplexer wird noch Schwierigkeiten... aber ich hab im Moment auch nicht so viel Zeit um...

    Trotzdem bleibe ich dabei.. der Einstieg mit Obj-C ist 100% ratsam
     
  17. mullzk

    mullzk Linsenhofener Sämling

    Dabei seit:
    04.01.04
    Beiträge:
    2.529
    ich würde mit java anfangen, vor allem weil es sehr viel mehr literatur und online-tutorials für anfänger gibt. die überwiegende mehrheit von obj-c-literatur setzt c- oder java-kenntnisse voraus, oder geht zumindest nicht gross auf die grundlegenden prinzipien ein.

    das mit dem speicher-management hat ein dafür und ein dawieder, einerseits ist es für anfänger praktisch, sich nicht damit herumschlagen zu müssen, andererseits kann es auch nie schaden, so etwas von pike auf drin zu haben und nicht am schluss viel gelerntes wieder auf den haufen zu werfen.
    allerdings: mit an sicherheit grenzender wahrscheinlichkeit wird mit os x.5 leopard fertig sein mit memory-management, die objective-c runtime wird mit einer garbage collection ausgestattet werden. siehe dazu John Siracusa. Wenn du dir mit deinem ersten produkt zeit lassen kannst, wird sich dieser lernschritt daher erledigen. und dann bist du sehr gut gefahren, wenn du mit java angefangen hast.

    schlussendlich ist java vs. obj-c reine geschmackssache. beides sind tolle sprachen, die nicht unendlich schwierig zu erlernen sind, grosse frameworks beinhalten und von beginn weg zu gutem code animieren.

    hände weg von c und c++, diese sprachen sind einfach nur scheisse. grundlegend ok, aber die prinzipien lernt man auch anderen orten. aber dafür unhandlich, verwirrend und zu schlechtem code verleitend. wenn du c lernst wirst du danach als zweites lernen müssen, sämtliche patterns wieder zu vergessen und mit objektorientiertem denken anzufangen.

    literatur-empfehlungen hätte ich zwei:
    hillegass: cocoa programming for mac os x. sagt recht wenig zu obj-c, aber sehr viel zu cocoa und auch etwas zu xcode. der absolute klassiker
    kochan: programming in objective-c. sagt nichts zu cocoa und xcode, aber sehr viel zu obj-c, insbesondere auch für leute ohne c-kenntnisse.

    cheesemans 'cocoa recipes for mac os x' (auch als vermont recipes) ist auch ein gutes buch das auf viele aspekte von cocoa sehr detailliert eingeht, allerdings ist es halt schon recht alt und geht auf die absoluten hammerframeworks von panther und tiger (bindings, core data etc.) nicht ein. damit würdest du vielleicht ein bisschen sehr viel lernen, was du nachher nicht mehr brauchen würdest, weil cocoa es unterdessen für dich macht.
     

Diese Seite empfehlen