1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Unsere jährliche Weihnachts-Banner-Aktion hat begonnen! Wir freuen uns auf viele, viele kreative Vorschläge.
    Mehr dazu könnt Ihr hier nachlesen: Weihnachtsbanner 2016

    Information ausblenden

programmieren in os x - aber wie?

Dieses Thema im Forum "OS X-Developer" wurde erstellt von alfonso_p, 21.03.08.

  1. alfonso_p

    alfonso_p Gast

    Ich wollte mal ein paar Gehversuche in der Programmierung für meinen Mac machen.
    Daher hier die Frage, ob das nur in Objective C zu machen ist. Ich hab ein bißchen C
    und C++ Erfahrung, damit aber seit Jahren nicht mehr viel gemacht.
    Beruflich war ich über die letzten Jahre eher viel mit Java und C# in Berührung.
    Ein erster Blick auf Objective-C läßt mir daher einen kalten Schauer den Rücken runterlaufen. Alles voller Sonderzeichen, eckige Klammern, was soll so etwas? Hinzu kommt auch, daß ich nicht unbedingt diese Sprache erlernen möchte, da ich sie außerhalb vom Mac ja nirgends anwenden kann.
    Also jedenfalls möchte ich sie nicht erlernen, wenn es nicht unbedingt notwendig sein sollte.
    Und daher meine Fragestellung:
    Ist, um den Mac und Cocoa und vielleicht auch OpenGL vollständig programmieren zu können, Objective-C von Nöten oder läßt sich das auch mit C und C++ bewerkstelligen? Ich habe auch gelesen von einer Java-Cocoa Bridge, aber das Apple die wohl (weiß der Teufel weshalb) nicht mehr fortführt. Dann habe ich noch von Unterstützung für Ruby und Python gelesen. Da dies aber interpretierte Sprachen sind, hat man hier wohl mit Abstrichen zu rechnen, oder wird der produzierte Code in XCode vorkompiliert und erreicht dadurch die gleiche Ausführungsgeschwindigkeit wie ein mit Objective C geschriebenes Programm? Und kann man auch mit diesen Sprachen alles am Mac programmieren oder ist man dann eher eingeschränkt?

    Fragen über Frage, vielleicht kann mir jemand weiterhelfen und auch ein paar Bücher empfehlen zu Ruby mit XCode, Objective-C, OpenGL am Mac. Es scheint nicht sonderlich viel Literatur zu geben. Mich wundert daher insgesamt ein bißchen, ob Apple vielleicht einfach kein Interesse an einer größeren Entwicklercommunity hat oder einfach nur aus purem Stolz verkrampft an Objective C festhält.

    vielen Dank für Eure Hilfe und ein paar schöne Feiertage

    Alfonso
     
  2. gucadee

    gucadee Strauwalds neue Goldparmäne

    Dabei seit:
    14.08.07
    Beiträge:
    638
  3. below

    below Kalterer Böhmer

    Dabei seit:
    08.10.06
    Beiträge:
    2.865
    Das kommt darauf an, was Du machen willst.

    Mit C/C++ ist man für wirklich schöne, richtige Mac Oberflächen auf Apples HIToolbox Carbon aus dem Carbon Framework angewiesen. Der Umgang damit ist nicht so leicht, ausserdem hat die HIToolbox den 64 Bit zu verpasst, was vermuten lässt, dass es sie bald vielleicht nicht mehr geben wird.
    Sonst gibt es Cross-Platform C++ Tools wie z.B. Trolltechs Qt. Aber das ist eben nicht wirklich Mac Programmierung

    Konsolenprogramme kannst Du nach belieben in C/C++ schreiben.

    Das ganze kommt von Smalltalk, und ist m.E. der sehr gelungene Versuch, in einer Programmiersprache natürliche Sätze nachzubilden.

    Code:
    [Lisa wirf:[Ball mitFarbe:Rot] zu:Robert];
    ist valide ObjC Syntax.

    Der Aufruf würde in C++ vielleicht so aussehen:
    Code:
    Ball = new Ball(rot);
    Lisa->wirfEtwasZu(Ball, Robert];
    delete (Ball)
    Ist das jetzt wirklich schöner? Ich glaube nicht.

    Siehe oben. Das kommt darauf an.
    Das sollte gehen, sogar relativ leicht wenn Du Dich darauf beschränkst, wirklich alles in Deinem OpenGL Fenster zu machen.
    Diese Tutorials benutzen zwar auch Objective-C, aber nicht so viel davon:
    http://nehe.gamedev.net/lesson.asp?index=01

    Noch eine ganz andere Alternative wäre X11.

    Den Grund hast Du selbst genannt: Cocoa gibt es nur auf dem Mac. Wenn Du Java nehmen willst, dann nim ein Java Framework, das Deine Programme portabel hält. Die Cocoa/Java Bridge war eine schlimme Krücke.

    Hoffe das hilft

    Alex
     
  4. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Objective-C trennt völlig den oo Ansatz (Objective) vom prozeduralen (C). Die einzigen Sonderzeichen, die dazu gekommen sind, sind @ (OOP-Schlüsselwort) und [] (Nachrichtenversand).

    Da in Objective-C als echter OOPL Methoden/Nachrichten etwas völlig anderes sind als Funktionsaufrufe, ist das logisch richtig. Man mag das mit ein wenig Hereinschnuppern nicht erkennen …

    Übrigens ist das nun gerade in C++ besonders eklig: Die Sonderzeichen-Template-Wüsten sind wohl offenkundig nur für Parser gedacht. Für Menschen ist das fürchterliches Kauderwelsch. C++ ist sozusagen das Behördendeutsch der programmmiersprachen.

    Die Java-Bridge ist aufgegeben worden, weil sich in Java mangels Dynamik der Sprache gewisse Sachen nicht vertretbar formulieren lassen. (Gleiches gilt übrigens etwa für KVO und C++.) Spätestens mit Einführung dieser Technologien war daher Java als gleichwertige Primärsprache obsolet. (C++ war es bei noch weniger Dynamik ohnehin nie.)

    Wenn man übrigens die Rasanz sieht, mit dem für OS X neue Applikationen entstehen, für deren Entwicklung etwa auf Windows Jahrzehnte vergangen sind, ist dieser Krampf ziemlich gut. Ich finde jedenfalls modale Dialoge auf Windows anstelle von Inspektoren ziemlichen Krampf, bloß weil ewig Gestrige unbedingt an C++ festhalten wollen.
     
    #4 Amin Negm-Awad, 22.03.08
    Zuletzt bearbeitet: 22.03.08
  5. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Schlimmer noch sind serielle Funktionsaufrufe in C++:
    Code:
    dum->di()->dum()
    Wer ruft wen mit welchem Ergebnis auf? Durch die äußeren Klammern ist das bei Obejctive-C völig eindeutig:
    Code:
    [[dum di] dum];
    Man mag das ja ungewohnt finden. Wenn man objektive :) bleibt, ist es besser, weil klarer.
     
  6. tfc

    tfc Ontario

    Dabei seit:
    21.07.07
    Beiträge:
    348
    Ich persönlich habe mit meinen C und C++ Kenntnissen innerhalb von einem Nachmittag die Objective-C-Syntax gelernt und erste Programme geschrieben. Ist überhaupt nicht schwer. Wie meine Vorredner schon sagen: Es ist nur eine Sache der Gewohnheit.

    Ansonsten habe ich mit Ruby schon Cocoa-Programme geschrieben, was ebenso wirklich leicht war. Praktisch ist eben, dass man mit jeder Programmiersprache auf die gleichen Objekte zugreift.

    Mein Bruder hat seit ein paar Wochen auch einen Mac. Vorher programmierte er hobbymäßig unter Linux 3D-Spiele und -Engines (Was gerade unter Linux extrem erleichtert wird) und plötzlich stand er auch vor dem Problem, vor Dem Du gerade stehst.
    Aber man braucht nur ein wenig Objective-C-Wrapper um seinen C++-Code herum und schon geht das wie gehabt.
     
  7. dust123

    dust123 Rhode Island Greening

    Dabei seit:
    13.02.05
    Beiträge:
    483
    Kann denn jemand ein richtig gutes Buch zur Mac-Programmierung empfehlen? Also so etwas wo man von den Grundlagen über das Erstellen eines GUI zur fertigen App kommt? Meine eigenen Kenntnisse beschränken sich nämlich auf eingerostete Basic, Pascal und Visual Basic Sachen. C und C++ waren mir immer etwas zu kryptisch und ich habe da das Gefühl das manche Sachen immer so "von hinten durch die Brust ins Auge" sind, wie z.B. mit diesen Zeigern für Variablen usw. Das sollte m.E. die Programmiersprache vom User fern halten und selbst verwalten.

    Leider wird in den meisten Büchern zu Objective-C eine solide Grundlage in C/C++ Programmierung vorausgesetzt.
     
  8. below

    below Kalterer Böhmer

    Dabei seit:
    08.10.06
    Beiträge:
    2.865
    Dann empfehle ich Dir die Bücher von Spiderworks, Learn C on the Macintosh und danach Learn Objective-C on the Macintosh
    Kosten als eBook jeweils $14,95, nach aktuellem Kurs sind das weniger als EUR 10.

    Danach kannst Du entweder mit Apple Docu, oder mit den bekannten Büchern bequem weitermachen.

    Alex
     
  9. Amin Negm-Awad

    Amin Negm-Awad Süsser Pfaffenapfel

    Dabei seit:
    01.03.07
    Beiträge:
    665
    Leider wird da zu viel expliziert. In der nächsten Auflage spreche ich in den drei ersten Kapiteln auch absolute Anfänger an, vor allem in den beiden ersten. Meine Freundin hat das geblickt. Das muss jeder verstehen können. *duck & weg* Nein, ernsthaft: Sie ist nicht einmal versierte Anwenderin gewesen und versteht nun, was man beim Programmieren tut. (Nach 80 Seiten ist sie allerdings auch noch keine Programmiererin.)
     

Diese Seite empfehlen