Wo Carbon / Cocoa lernen?

@Winn: Ich habe mir das Buch neulich gekauft und habe es mir ein bisschen anders vorgestellt. Für Einsteiger ist das Buch sicher sehr gut geeignet, da das Programmieren in dem Buch eben von Anfang an gelehrt wird, als kenne man noch keine Programmiersprache. Doch wenn man schon andere Programmiersprachen so einigermaßen kennt, wie C oder besser noch C++ (weil es ja auch objektorientiert ist), dann hat man die erste Hälfe des Buchs sehr schnell durch (man überfliegt mehr oder minder). Ich habe es zwar noch nicht ganz durch, aber auch die andere Hälfte scheint für jemanden, der schon eine andere objektorientierte Sprache kennt (und dem auch die C-Syntax nicht fremd ist), recht einfach zu verstehen zu sein.. ich fühle mich teilweise ein wenig unterfordert. Ansonsten ist das Buch wirklich sehr gut gemacht (sieht man mal von ein paar (Rechtschreib)Fehlern ab).

Für mich selbst hätte es aber eher ein Buch getan, welches die Unterschiede zwischen Obj-C und C++ sowie die Besonderheiten von Obj-C aufzeigt und vielleicht noch ein paar Übungsaufgaben beinhaltet. Da wäre ich gewiss günstiger bei weg gekommen, aber gibt's sowas überhaupt?

Ciao
 
Original geschrieben von Zeeke
Für mich selbst hätte es aber eher ein Buch getan, welches die Unterschiede zwischen Obj-C und C++ sowie die Besonderheiten von Obj-C aufzeigt und vielleicht noch ein paar Übungsaufgaben beinhaltet. Da wäre ich gewiss günstiger bei weg gekommen, aber gibt's sowas überhaupt?

Ciao
Danke @Zeeke: Solch ein Buch würde mir auch mehr gefallen... Rechtschreibfehler find ich schon arg - Fehler in Beispielen ist ärgerlich... in der Regel ist dann das Buch bei mir durchgefallen... gerade wenn es an Einsteiger adressiert ist...
Hab hier noch was feines gefunden... dort werden ne Menge Fragen beantwortet carro Eine Gegenüberstellung der Syntax fand ich dort allerdings auch nicht...
-> http://www.dekorte.com/Objective-C/

Gruss Winn
 
Zuletzt bearbeitet von einem Moderator:
@Link

Also erstmal nen Link zu Tutorials :
http://www.macdevcenter.com/pub/ct/37
die Artikel von unten nach oben durcharbeiten (nach Datum sortiert)
:D sonst wirds schwer

Als Buch kann ich auch erstmal nur den Hillegass empfehlen, ist auf Englisch (aber verständlich geschrieben)

Mit deutschen Büchern sieht es verdammt dünn aus. Hab noch keins gesehen.

Und zur Erklärung was das/der Cocoa Framework ist:
Eine Ansammlung von vielen Funktionen (fertiger Code) den man in seinen Code integrieren / in seinem Code benutzen kann.
Der eigene Code kann in Objective-C (vorzugsweise), C, C++ (glaub ich auch) und Java geschrieben sein.

Das schwierige an Cocoa. Erstmal auf Objective-C umlernen (naja das geht noch). Und dann kommt der harte Teil bei dem man nach und nach den Cocoa Framework kennen lernt (am besten stück für stück durch Tutorials).
Und dann halt das umdenken von dem was man in der Schule gelernt hat (Pascal ächz) zum objekt-orientierten programmieren.

Aber nich aufgeben, es ist lernbar. Es dauert nur bischen am Anfang bis sich das Hirn drauf einstellt. Hab erst gar nich durchgeblickt und auf einmal im Café kam die Erleuchtung. :D
 
Objecticv-C ist so mächtig weil C so mächtig ist :D

Ich finde weder Objective-C noch Cocoa angenehm zu programmieren. Allerdings gefallen mir C++ und Java/Swing auch nicht :D Wird echt mal Zeit daß sich ein kluger Kopf mal wieder hinsetzt und was neues erfindet. Beispielsweise eine Skriptsprache wie Perl die nicht zwingend objektorientiert funktioniert aber (das wäre der Hammer) eine eigene GUI Library mitbringt, die das Aussehen der aktuellen GUI hat. Von der Syntax her würde ich mir ein Destilat aus Perl, PHP und JavaScript wünschen.

:D Das mußte mal raus.

Nee. im Ernst. ich würde mir den Stress Objective-C/Cocoa zu lernen nicht machen. Wer heutzutage nur noch für eine Platform entwickelt ist altmodisch, auch wenn man Mac Fanatiker ist.

BadHorsie
 
BadHorsie schrieb:
Nee. im Ernst. ich würde mir den Stress Objective-C/Cocoa zu lernen nicht machen. Wer heutzutage nur noch für eine Platform entwickelt ist altmodisch, auch wenn man Mac Fanatiker ist.

ganz so stressig is das auch wieder nicht :) und ich hab gelesen, dass es ein open-source projekt gibt, dass nextstep auf den pc portieren will.. hab aber vergessen wie das genau heißt..

du findest javascript gut!? ich hab ein arcade spiel damit programmieren müssen (für die uni.. fragt nicht, wie sinnvoll das ist) mit 850 Zeilen.. jedes programm das mehr als 200 zeilen hat wird auf einmal seeeeehr mühsam..

wenn dich die objektorientierung nervt, hindert dich ja nichts drann, alles in einer allmächtigen monsterklasse zu implementieren.. wennst vorher einfach nur sicher gehst, dass die klasse erzeugt wird und der kontrollfluss zu ihr übergeht, dann kannst dich innnerhalb der klasse aufführen wie du willst..

lg, f
 
Hallo, habe mal ein bischen gestöbert und in der c't einen Weblink auf
-> http://www.lernus.de
gefunden. Klingt vielleicht komisch, aber dort sind viele (gute?) Tutorials verlinkt, die C, C++ und sonstige Programmiersprachen beschreiben.

Dort lerne ich jetzt ersteinmal C, dann C++ und danach (wenn mir die Lust noch nicht vergangen ist) auch Objective-C. ;-)
 
@Faser: Hm, also ich bin derzeit dabei Objective-C zu lernen und halte es für dumm, C++ vor Objective-C zu lernen. Ich denke, man sollte entweder einfach C++ lernen, oder eben C und dann Objective-C (oder auch die beiden parallel).
Ich persönlich finde die Syntax von C++ schrecklich, die von Objective-C echt genial. Überleg also, ob der Schritt intelligent ist!
Jeder sollte für sich wissen, welche Sprache er verwenden möchte, jedoch sollte man den Entschluss nicht allzu schnell fällen.

Noch etwas: Ich denke, dass es nicht altmodisch ist, nur für eine Plattform zu entwickeln. Denn wenn das unter Windows getan wird, ist es okay, aber nicht auf alternativen Systemen? So eine Argumentation, nur weil man ein alternatives Betriebssystem hat, ist meiner Meinung nach unangebracht. Und hätten wir nur Unix-Kommandozeilen-Software und Java-Apps wäre der Mac genauso schrecklich wie viele andere Systeme :)
 
Pench schrieb:
@Faser: Hm, also ich bin derzeit dabei Objective-C zu lernen und halte es für dumm, C++ vor Objective-C zu lernen. Ich denke, man sollte entweder einfach C++ lernen, oder eben C und dann Objective-C (oder auch die beiden parallel).
Ich persönlich finde die Syntax von C++ schrecklich, die von Objective-C echt genial. Überleg also, ob der Schritt intelligent ist!
Jeder sollte für sich wissen, welche Sprache er verwenden möchte, jedoch sollte man den Entschluss nicht allzu schnell fällen.

c++ ist genauso wie obj-c ein nachfahre von c.. somit is es am logischsten c zu lernen, bevor man weiter geht.. ist meiner meinung aber auch ned umbedingt nötig..
die wahl der programmiersprache ist wie die wahl jedes werkzeugs von der aufgabenstellung sowie der persönlichen erfahrung und vorliebe abhängig.. das wichtigste ist, die dahinterliegenden konzepte zu verstehen.. der rest ist nur mehr viel arbeit :)

Pench schrieb:
Noch etwas: Ich denke, dass es nicht altmodisch ist, nur für eine Plattform zu entwickeln. Denn wenn das unter Windows getan wird, ist es okay, aber nicht auf alternativen Systemen? So eine Argumentation, nur weil man ein alternatives Betriebssystem hat, ist meiner Meinung nach unangebracht. Und hätten wir nur Unix-Kommandozeilen-Software und Java-Apps wäre der Mac genauso schrecklich wie viele andere Systeme :)

warum sollte man den gleichen fehler machen? "du lasst mich nicht mit deinem spielen, dann lass ich dich nicht mit meinen spielen" software ist nur dann sinnvoll wenn sie genutzt wird und je mehr leuten man die chance gibt, die software zu nutzen, umso besser.. und samma mal ehrlich.. auch wenns viele nicht wahrhaben wollen.. auch windoofuser sind nur menschen :)
 
... aber was für welche... *scnr*


'ne Frage, die u. U. zum Thema passt: Vorgestern hat Steve ja CoreImage und CoreVideo vorgestellt, genauso wie mehrere SDK's zur Integration in Spotlight oder Automator.

Wie funktioniert das nun? Was muss man als Programmierer tun?
Anscheinend kann man ja nun schöne Programme schreiben, die auf CoreImage/-Video aufbauen. Aber wo genau setzen die beiden an?
Sind sie ein Bestandteil vom Cocoa-Framework?
 
Faser schrieb:
Wie funktioniert das nun? Was muss man als Programmierer tun?
Anscheinend kann man ja nun schöne Programme schreiben, die auf CoreImage/-Video aufbauen. Aber wo genau setzen die beiden an?
Sind sie ein Bestandteil vom Cocoa-Framework?

core image und core video werden wie core audio eigene frameworks.. du kannst sie also auch ohne cocoa einsetzen..
 
Aha.

Wie integriert man denn überhaupt die Frameworks? Sagt man einfach am Anfang des Programmes, man möchte das und das Framework integrieren und kann dann auf dessen Funktionen zurückgreifen?
 
Faser schrieb:
Aha.

Wie integriert man denn überhaupt die Frameworks? Sagt man einfach am Anfang des Programmes, man möchte das und das Framework integrieren und kann dann auf dessen Funktionen zurückgreifen?

grob gesprochen: jepp
 
Plattformübergreifende Applikationen

Hallo zusammen,

wo ihr schon mal das Thema plattformübergreifender Applikationen gestreift habt...
Gibt's eigentlich eine Möglichkeit das Apple Look&Feel auf Windows Rechnern umzusetzen? Apple schafft das mit iTunes ja auch, aber ich habe bisher noch nichts über die benutzte Sprache (ich tippe auf Objective C), Compiler und Frameworks gefunden.
Bei mir geht es konkret um die Problemstellung, dass wir eine DB gestützte Applikation auf Windows Rechnern und auf dem Mac laufen lassen wollen. Bei der Datenbank schwanken wir momentan noch zwischen FileMaker und MySQL, auf der Sprachenseite haben wir uns schon Realbasic (ist halt Basic) und Delphi angeschaut. Der Nachteil von Delphi ist, dass es keinen Compiler für OS X gibt.
 
du könntest schreenshots der aqua gui schießen und das ganze in einem canvas widget nachbauen :D

BadHorsie
 
ChrisOnSki schrieb:
Hallo zusammen,

wo ihr schon mal das Thema plattformübergreifender Applikationen gestreift habt...
Gibt's eigentlich eine Möglichkeit das Apple Look&Feel auf Windows Rechnern umzusetzen? Apple schafft das mit iTunes ja auch, aber ich habe bisher noch nichts über die benutzte Sprache (ich tippe auf Objective C), Compiler und Frameworks gefunden.
Bei mir geht es konkret um die Problemstellung, dass wir eine DB gestützte Applikation auf Windows Rechnern und auf dem Mac laufen lassen wollen. Bei der Datenbank schwanken wir momentan noch zwischen FileMaker und MySQL, auf der Sprachenseite haben wir uns schon Realbasic (ist halt Basic) und Delphi angeschaut. Der Nachteil von Delphi ist, dass es keinen Compiler für OS X gibt.

schon mal was von java gehört? das wurde extra für solche zwecke entworfen.. ich schreib grad an einer applikation mit java und mysql.. funktioniert problemlos auf mac und windoof..

im prinzip kannst du dir jedes look & fell rotfl basteln das du willst, aber bei aqua würd ich aufpassen.. apple sieht es nicht so gern, wenn jemand anderer ihr l&f verwendet..
 
Also ich kenne Java (bei Business Applikationen) nur als extrem langsam, von daher gefällt mir eine compilierte Version schon besser. Was das nachbauen bzw. abkupfern angeht, so wäre es mir lieber wenn ich ganz legal auf dem Look&Feel aufsetzen könnte.
Das Ziel der ganzen Übung ist ja, auf allen unterstützten Plattformen ein einheitliches Erscheinungsbild zu haben.
 
langsam vielleicht, extrem langsam würd ich nicht sagen.. das einzige was lange dauert sind die ladezeiten am anfang.. dann gehts eigentlich recht fix dahin..

java wird auch compiliert :)

und bei business applikationen geht es nicht zwangsläufig um geschwindigkeit, sondern hauptsächlich um zuverlässigkeit.. wenn man seine vorstellungen halbwegs intelligent implementiert, dann sollte das ganze kein problem sein.. (abgesehen davon find ich java recht komfortabel zum programmieren.. ich sag nur: garbage collector :) )

auf einem anderen os wirst du das aqua l&f schlicht und ergreifend ned legal nutzen können (genauso wie das windoof l&f auf einer non-windoof kiste).. wenns einheitlich sein soll kann ich nur wieder sagen: bei swing hast das metal l&f, dass auf allen platformen gleich ausschaut..

ich möcht dich nicht missionieren, aber wenn du nicht java nimmst, machst du dir dein leben nur unnötig kompliziert..

plan b wär natürlich streng nach dem MVC-pattern vorzugehen und die ganze logik separat in c oder c++ zu implementieren und für jede platform ein eigenes userinterface zu schreiben.. das is dann natürlich um waaaaaahhnsinnig schneller.. aber dafür auch erst ein jahr später fertig :)
 
Zurück
Oben Unten