Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

26.05.2010, 23:38

Programmierung unter Mac

Hallo liebe Spieleprogrammierer,

ich bin begeisterter Neuanfänger der Sprache C++, arbeite gerade mit dem Buch „C++ für Spieleprogrammierer“ zwar noch in der Konsole, möchte natürlich aber auch bald in schönere Welten vorbrechen. Bessere Erfahrungen habe ich bereits mit Webprogrammierung, Delphi und der 3DGS-Engine gemacht, möchte aber nun unbedingt C++ lernen.

Stehe kurz vorm Studium, welches wohl in die Richtung Informatik gehen wird und ebenso stehe ich vor der Wahl mir einen Laptop zu kaufen. Bisher war ich ständiger Windows-Anwender, würde aber gerne auf Mac umsteigen. Ich bin total Mac unerfahren und im Internet ist bezüglich C++ programmieren unter Windows vs. Mac nicht viel zu finden.

Daher habe ich ein paar Fragen, die ihr mir hoffentlich beantworten könnt:
Was sind die Vorteile beim Programmieren unter Mac? Kann man auf dem Mac auch Windows kompatible Programme schreiben oder kann man das gleich vergessen? Warum sollte man auf dem Mac programmieren, wenn dieser noch wie bisher so wenig Marktanteil hat?
Das C/C++ nennt sich auf dem Mac Objective-C mit einigen Unterschieden oder sehe ich das falsch? Ist es überhaupt möglich C++-Code zu erzeugen, der auf beiden Systemen läuft, wenn ich ihn mit den entsprechenden Compilern kompiliere? Wie sieht es mit 3D-Programmierung aus (DirectX und OpenGL)?
Sollte ich lieber auf eine andere Sprache wechseln wie Java, die plattformunabhängig ist?

Und würdet ihr mir als Programmierer den Wechsel zu Mac empfehlen?

Ich danke euch schon mal für eure Antworten. Bitte verzeiht mir, dass ich in diesem Bereich noch so unerfahren bin.

Viele Grüße
Rusty1s

2

27.05.2010, 00:27

Kann man auf dem Mac auch Windows kompatible Programme schreiben oder kann man das gleich vergessen?
Schreiben ja, nur testen wird schwierig. Man kann auf dem Macbook aber auch Windows installieren.
Warum sollte man auf dem Mac programmieren, wenn dieser noch wie bisher so wenig Marktanteil hat?
Gute Frage... Warum überhaupt Apfelprodukte unterstützen? :)
Das C/C++ nennt sich auf dem Mac Objective-C mit einigen Unterschieden oder sehe ich das falsch?
Siehst du falsch. Beides sind eigenständige Programmiersprachen. Macs API (Cocoa) ist hauptsächlich in Objective C geschrieben. Ich weiß jetzt in wie weit es auch eine C/C++ API gibt, aber es werden viele POSIX Erweiterungen unterstützt (auf C ausgerichteter Standard von Betriebssystem APIs) und hat dadurch auch schon viele Funktionen abgedeckt.
Ist es überhaupt möglich C++-Code zu erzeugen, der auf beiden Systemen läuft, wenn ich ihn mit den entsprechenden Compilern kompiliere?
jap
Wie sieht es mit 3D-Programmierung aus (DirectX und OpenGL)?
DirectX nein, OpenGL ja

Sollte ich lieber auf eine andere Sprache wechseln wie Java, die plattformunabhängig ist?
Vielleicht. Jeder muss selbst wissen worin er programmiert. Ich mag Java nicht.

Und würdet ihr mir als Programmierer den Wechsel zu Mac empfehlen?
Hab noch nie aufm Mac gearbeitet, aber ich hab kein Bedürfnis zu wechseln.

3

27.05.2010, 03:56

Danke für die nette Antwort.

Als Notlösung steht ja eh boot camp, damit könnte ich notfalls ja alles machen.

Wenn ich Win7 aber nicht als zweite Partition einrichte, sondern virtualisiere, habe ich dann Zugriff auf DirectX? Wenn ja, wäre ein virtual PC schnell genug, um 3D Anwendungen zu programmieren?
Oder kann ich mit C++ und OpenGL generell plattformunabhängig programmieren?

4

27.05.2010, 06:51

Mit C++ und OpenGL kannst Du im Grunde plattformunabhängig schreiben, allerdings musst Du schauen, womit Du dein Fenster erstellst, das sollte bei Windows z.B. mit der WinAPI geschehen und auf dem Mac mit Cocoa. Wenn Du allerdings ein Framework wie die SFML benutzt, dann kannst Du exakt den gleichen Code auf beiden System einfach kompilieren, so mach' ich das nämlich auch.

Windows-Programme auf dem Mac könntest Du mit Parallels Desktop kompilieren und testen, wenn Du deinen Mac bei Unimall bestellst, ist das glaube ich auch gratis dabei. Ansonsten bleibt nur noch BootCamp oder eben dein Windows-PC. Und ja, da hast Du auch Zugriff auf DirectX, natürlich läuft es dann nicht so schnell.

Mit Java hast Du es zwar etwas einfacher, weil Du nur einmal eine .jar erzeugen musst, allerdings ist der Mehraufwand bei C++ und z.B. OpenGL eher klein, als dass das wichtig wäre.

Ich hatte mir damals, vor dem Kauf meines Macs, auch die gleichen Dinge gefragt, und im Ende hatte ich wirklich keine Probleme, abgesehen davon, dass man eben nicht DirectX nutzen darf, wenn das Programm auf unter Mac OS X laufen soll, oder eben Linux. Mehr dazu später, muss jetzt erst mal in die Schule.

Beiträge: 774

Beruf: Student

  • Private Nachricht senden

5

27.05.2010, 10:15

Und würdet ihr mir als Programmierer den Wechsel zu Mac empfehlen?
Auf die Gefahr hin, dass ich jetzt ein Flamewar riskier... meine persönliche Meinung:
Mac OS hat sicher viele Vorteile, aber mit ziemlicher Sicherheit kann man aber sagen, dass die gleiche Hardware meistens bei einem normalen PCs deutlich billiger ist als bei einem mit Apfel drauf. Das mag jetzt erstmals nicht interessieren, aber ich denke, dass viele beim Programmieren an den Punkt kommen, an dem die ganze Sache unheimlich ressourcenfressend wird. Da kann die Hardware (hier gehts dann idR eher um pure Prozessorleistung) dann irgendwann gar nicht mehr gut genug sein. Außerdem ist die Treiberunterstützung bei Grafikkarten nicht so das feine (aktuelles Einzelbeispiel).
Prinzipiel müsste man ja eignetlich meinen, dass Linux das optimale System für Programmierer wäre - dort ist zwar die Treiberunterstützung auch mit gemischten Gefühlen zu betrachten, jedoch ist man dort am aller wenigstens mit proprietärer Software eingeschränkt.
Insofern meine persönliche Antwort auf die Frage... Nein :D

Ich denke worauf man programmiert kommt aber prinzipiell wohl am meisten auf die Zielgruppe an - wer für Mac-User Programme schreiben will, wird sich wohl am leichtesten tun, wenn er eine Mac-Platform dafür benutzt.

TSS

Frischling

  • Private Nachricht senden

6

27.05.2010, 10:19

Naja, mit z.B. Qt lassen sich plattformunabhängige Programme schreiben. Damit lässt sich dann recht einfach eine GUI erstellen. Ob sich ein Mac zum Programmieren lohnt, dazu kann ich dir leider nichts sagen. Aber ist doch immer gut, sich mal mit was Neuem auseinanderzusetzen.

Alyx

Treue Seele

Beiträge: 236

Wohnort: Hannover

Beruf: Head Of Software Development

  • Private Nachricht senden

7

27.05.2010, 11:24

Ich arbeite beruflich sowohl auf dem Mac als auch auf dem PC.... persönliche Meinung:

Wenn du auf Schmerzen stehst oder einfach "hip" aussehen willst: Hol dir einen Mac und arbeite mit XCode.
Wenn du zu viel Geld hast: Hol dir einen Mac, installier Windows und arbeite mit Visual Studio.
Wenn du vernünftig bist: Hol dir ein Windows-Notebook und arbeite mit Visual Studio + Visual Assist X.
Wenn du Geek bist: Hol dir ein Notebook ohne OS, installier Gentoo Linux und arbeite mit Vim :-P.

Was die Hardware anbelangt ist ein MacBook wirklich erste Sahne, ich persönlich würde es mir nie kaufen, weil einfach überhaupt kein Preis/Leistungsverhältnis mehr gegeben ist, aber für nicht-Programmieraufgaben macht es einfach Spaß und lässt sich deutlich angenehmer bedienen als "normale Notebooks", vor allem wegen dem MT-Pad, und dank Virtualisierung und Co. kann man halt zeitgleich auch Dinge wie Outlook etc. verwenden.

Bzgl. Objective-C: Objective-C ist halt Apple's primäre Programmiersprache, sowohl auf dem Mac als auf auf dem iPhone. Man kann sich damit anfreunden, ich musste mich damit anfreunden, es gibt sicherlich schlimmere Sprachen, aber naja :-). Du kannst komplett zwischen C++ und Objective C mischen, also sogar innerhalb von Funktionen etc. pp.. Lediglich die Typen kann man nicht direkt miteinander kombinieren, sprich du kannst nicht voneinander ableiten etc. pp.. Die Window-API kann man theorisch mit beiden ansprechen, praktisch macht man das aber eher mit Cocoa, sprich Objective C, und behandelt die komplexeren/performanteren Dinge dann unter der Haube in C++.

Bzgl. XCode: Es ist einfach ein Schmerz. Ich weiß grad nicht was schlimmer ist, C++ Entwicklung mit Eclipse oder C++ Entwicklung mit XCode, aber wenn man effizient entwickeln und vor allem effizient debuggen möchte, ist man mit Visual Studio + Visual Assist meiner Meinung nach einfach noch am besten beraten, zumindest schaffe ich mit letzterem in gleicher Zeit sicherlich doppelt so viel wie mit ersteren beiden. Dafür sind die anderen beiden halt umsonst :-), wobei das bei XCode wegen der Mac-Voraussetzung natürlich eine gewisse Ironie hat ;-).

LG
Alyx

8

27.05.2010, 13:49

Nun, sicher ist, dass Macs schon etwa teurer sind, in Relation zu ähnlichen Geräten, finde ich, sind sie allerdings gar nicht mehr so teuer. Sieht man sich z.B. mal das HP Envy an, so ist der preisliche Unterschied zwischen beiden eher gering. Allerdings bekommt man die gleiche Leistung natürlich auch viel billiger.

Was Xcode angeht, ich find's ehrlich gesagt gar nicht so schlecht (bin allerdings auch nicht so erfahren wie Alyx und den Xcode Debugger hab' ich noch nicht so häufig genutzt, ansonsten fallen mir aber kaum Gründe ein, wieso Xcode so schlecht sein soll. Syntax-Highlighting, Code-Completion und ähnliches funktioniert bestens, auch der Umgang Frameworks ist wahnsinnig leicht), auch, wenn ich Visual Studio teils besser finde, vor allem aber mit Visual Assist X, da gibt's so einige Funktionen mehr, die wirklich sehr nützlich sind und mit denen man extrem schnell ist. Wenn Du Visual Assist X nutzen willst, brauchst Du aber dann natürlich VS, und keine Express Edition. Was mir auf dem Mac sehr gefällt sind unter anderem kleine Dinge wie Exposé oder die Gesten auf dem MT-Trackpad. Zudem schalte ich ihn auch so gut wie nie aus, läuft jetzt seit über 10 Tagen durch. Nachts vllt. zuklappen, morgens aufklappen. Allerdings sollte das mit Windows 7 ja auch kein Problem mehr darstellen, wie die Werbung suggeriert.

Wenn Du plattformunabhängig programmieren willst, dann kannst Du Objective-C im Grunde vergessen und auch keinerlei Relevanz.
Aber da vieles von der persönlichen Meinung abhängt und ob Du gut damit arbeiten kannst, wäre es am Besten, Du würdest es einfach mal ausprobieren (aber auch nicht einfach nur eine Stunde, da man sich auch erst mal dran gewöhnen muss), müsstest halt nur an ein Gerät kommen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Luinechor« (27.05.2010, 14:08)


unsigned long

Treue Seele

Beiträge: 140

Wohnort: Herzogenrath

Beruf: Fachinformatiker Fachrichtung Anwendungsentwicklung

  • Private Nachricht senden

9

27.05.2010, 18:31

Drecks Macs, diesen verfickten Hype haben wir auch so oft im Unternehmen...

Objective-C ist eine absolute Nazi-Sprache, keine andere Plattform benutzt diese Rotz freiwillig. Cocoa ist Murks und man muss noch Geld ausgeben um für diesen Dreck zu coden. Mindestens 100$, sonst darf man das Programm offiziell nicht veröffentlichen... Und wer denkt, dass er nur mit C++ und OpenGL arbeiten kann der Irrt. Ohne Objective-C kommt man nicht drum rum.

Meiner Meinung nach sind Macs, iRegale usw. sowieso nur was für Männer die ihre eigene männliche Unzulänglichkeit ausgleichen wollen. So nach dem Motto: Ich bin nichts, aber ich hab'n Mac, also bekomme ich Achtung. Was mich nur wundert ist das bei Apples mehr als penetranter Produktpolitik noch nicht die EU-Kommission an den Tag gerufen hat. Microsoft war ja mit dem IE ein Furz im Wind gegen Apples Politik.

Tu dir einen gefallen: Lass diesen Dreck. Wenn Hitl... ääh Jobs ins Gras beißt gehts mit Apple doch sowieso wieder Berg ab.
'Wer der Beste sein will muss nach Perfektion streben und jede Gelegenheit nutzen sich zu verbessern.'
[ bing | not'a'tric | germangamedev | Fragen richtig stellen ]

Alyx

Treue Seele

Beiträge: 236

Wohnort: Hannover

Beruf: Head Of Software Development

  • Private Nachricht senden

10

27.05.2010, 20:39

Etwas krass ausgedrückt, aber alles in allem kann ich das so unterschreiben :-P

Werbeanzeige