• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung

orientierungsfragen bzgl. c++ aufm mac

pybe

Granny Smith
Registriert
02.08.07
Beiträge
16
erstmal hallo liebe community =)

nachdem ich jetzt mit meinem neuen macbook lange genug die "leichten" freuden des anwenders genossen habe, wirds zeit in den miefigen developer-keller runterzusteigen :)

als ehemaliger windows-nutzer hab ich vorher immer c++ programmiert, um mir die sache noch etwas einfacher zu machen mit dem borland c++ builder.
den gibt es wohl nicht für den mac, weshalb es zeit wird, was neues zu suchen.

ungern würd ich von c++ weggehen, was ja aber auch nicht nötig zu sein scheint (xcode hat ja c++ support)
daher meine fragen:
1) die "natürliche" programmiersprache des mac os x ist objective-c (zusammen mit dem cocoa-framework) ?? gibts gravierende unterschiede/nachteile/umstellungen im vergleich zu c++ ?
2) gibts ein ähnliches programm wie den borland c++ builder für den mac ? der interface builder (in xcode enthalten) ist zwar schonmal wysiwyg, man muss aber das gerüst für die späteren funktionen der komponenten selbst schreiben (oder hab ich was übersehen ?)
für die, die programme von der art des c++ builder nicht kennen, einige funktionen:
- idiotensicheres einfügen von buttons, textfeldern, etc. (kann interface builder auch)
- ein fenster, das alle eigenschaften, methoden und events des entsprechenden objekts übersichtlich angezeigt hat
- z.B. bei doppelklick auf den onClick-event eines buttons, hat er sofort ein "funktionsgerippe" erstellt und den cursor gleich richtig platziert
- typische windows-dialoge (datei öffnen, drucken, ...) als komponente verfügbar -> nur reinziehen und fertig
- uswusw.
also alles, was einem faulen menschen wie mir, der sich nicht um alles selbst kümmern will (bzw. kann :eek:), entgegenkommt...
daher: gibts ähnliche programme für den mac für c++ ??
3) kann man c++ programme auf dem mac zu ner exe (windows-ausführbar) kompilieren, oder muss man sich zuerst etliche GB an windows-APIs etc. runterladen ?

danke für eure hilfe

gruß,
phil
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
1) die "natürliche" programmiersprache des mac os x ist objective-c (zusammen mit dem cocoa-framework) ?? gibts gravierende unterschiede/nachteile/umstellungen im vergleich zu c++ ?
Das liegt im Auge des Betrachters.. Lass es mich so sagen:: Wer C++ kann lernt Objective-C an einem Nachmittag ((oder zumindest in sehr kurzer Zeit))

2) gibts ein ähnliches programm wie den borland c++ builder für den mac ? der interface builder (in xcode enthalten) ist zwar schonmal wysiwyg, man muss aber das gerüst für die späteren funktionen der komponenten selbst schreiben ...daher: gibts ähnliche programme für den mac für c++ ???
Nein.. Im Übrigen:: Make something idiot-proof,, and someone will make better idiots..

3) kann man c++ programme auf dem mac zu ner exe (windows-ausführbar) kompilieren, oder muss man sich zuerst etliche GB an windows-APIs etc. runterladen ?
Du willst auf dem Mac Windows executables bauen?? Dazu brauchst Du eine gcc-Win32 Toolchain.. Es soll Leute geben,, die das versucht haben,, angeblich sogar erfolgreich.. Aber Walter Sobchak würde sagen:: "You're entering a world of pain, son"

Alex
 

pybe

Granny Smith
Registriert
02.08.07
Beiträge
16
hey,

danke für die schnelle antwort.
dann werd ich ums objective-c lernen wohl nicht drumrumkommen...
obwohl ich kein informatik-student oder ähnliches bin, wo man es gewohnt ist, mehrere sprachen zu lernen. mit hat für meine anwendungen c++ immer gereicht (habe mich damals auch wegen der verbreitung dafür entschieden).
nur aus neugier: warum hat apple die notwendigkeit gesehen, für ihre entwicklung eine eigene programmiersprache zu benutzen ? hat das historische, prozessor- oder betriebssystemtechnische gründe ? hätte man nicht irgendwann auf c++ umsteigen können ?
(man merkt, ich will meiner ersten und einzigen liebe nicht untreu werden :))
und über die vor-/nachteile hab ich weiter hinten im forum schon recht hitzige debatten gelesen ;)

gruß,
phi
 

below

Purpurroter Cousinot
Registriert
08.10.06
Beiträge
2.858
Kurz: OS X ist aus NeXTStep entstanden. NeXTStep wurde in den frühen 80er Jahren angefangen.
Damals waren sowohl C++ wie auch Objective-C neue Sprachen (sie wurden im selben Jahr entwickelt)

EDIT: nur aus neugier: warum hat apple die notwendigkeit gesehen, für ihre entwicklung ein eigenes betriebssystem zu benutzen ? hat das historische, prozessor- oder programmiersprachlich gründe ? hätte man nicht irgendwann auf windows umsteigen können ?

Im übrigen: DIe ersten Mac Systeme wurden in Pascal Programmiert, dann war auf dem Mac lange Zeit C/C++ die Waffe der wahl. Auch heute kann man auf dem Mac wunderbar C++ Programmieren, und das IOKit is z.B. Embedded C++
Aber für normale GUI Applikationen ist Objective-C/Cocoa die Empfehlung.

Alex
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
nur aus neugier: warum hat apple die notwendigkeit gesehen, für ihre entwicklung eine eigene programmiersprache zu benutzen ?
Das ganze geht auch NeXT zurück. Das aktuelle MacOS X ist nur eine neumodische Inkarnation von NEXTSTEP. (Das UNIX Betriebssystem welches NeXT für den NeXT Cube entwickelt hatte.)
hat das historische, prozessor- oder betriebssystemtechnische gründe ?
Das hat historische und wohl persönliche Gründe der Entscheidungsträger.
hätte man nicht irgendwann auf c++ umsteigen können ?
Jein, da Objective-C dynamisches Dispatching kann und C++ nicht, hätte man C++ für MacOS X etwas aufbohren müssen, was aber kein echtes Problem gewesen wäre.

Mir persönlich wäre es lieber gewesen, wenn sie entweder C++ erweitert hätten oder aber gleich auf SmallTalk umgestellt hätten. Wahrscheinlich wäre die SmallTalk-Lösung bei der Mehrheit der Entwickler besser angekommen, da die Sprache deutlich einfacher als C++ ist, und viele mit C++ massiv überfordert sind.
 

tjp

Altgelds Küchenapfel
Registriert
07.07.04
Beiträge
4.059
Damals waren sowohl C++ wie auch Objective-C neue Sprachen (sie wurden im selben Jahr entwickelt)
Naja, C++ war das damals noch nicht sondern C with Classes, und selbst C++ 1.0 war noch sehr weit von dem entfernt was man mit ISO 14882:1998 definiert hatte.

Wenn es damals schon die ISO Norm gegeben hätte, wäre die Entscheidung womöglich anders ausgefallen. Aber das fällt in den Bereich der Spekulation.
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
… da die Sprache deutlich einfacher als C++ ist, und viele mit C++ massiv überfordert sind.
Jepp, vor allem die Leute, die glauben, dass das Nullen von allozierten Speicherbereichen eine Neukonzeption der Sprache verlangt. Oder die Leute, die gleich keine Möglichkeit zur Re-Instantierung von Singletons sehen (Was ohnehin auf Verständnisschwierigkeiten schließen lässt), weil es zentral geschieht. (Und das dannn noch für schlechtes Design halten. Was auf Abwesenheit einer menschlichen Gedankentätigkeit schließen lässt.)

Aber komische Perlen findet man im Internet immer wieder.

Der Gedanke, Objective-C durch Smalltalk zu ersetzen … Na ja … Hast du noch nie programmiert? (Vielleicht mal etwas über dynamisches Dispatching lesen, wenn du es schon hier erwähnst? Keine gute Idee?)
 

Amin Negm-Awad

Süsser Pfaffenapfel
Registriert
01.03.07
Beiträge
665
Hier ist keine Kritik an Objective-C und Cocoa geäußert worden.

Allerdings wird mal wieder Unfug verbreitet. Und in diesem Maße fällt mir da nur eine Person ein.
 

flowbike

Mecklenburger Orangenapfel
Registriert
04.06.04
Beiträge
2.997
ich möchte euch bitten, eure persönlichen Meinungsverschiedenheiten beseite zu legen und euren Focus wieder auf den Ausgangspunkt der Diskussion zu legen.

Danke