• Advertisement
Sign in to follow this  

Mac, Good for programming?

This topic is 3862 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hello, I am a PC user, and after watching WWDC2007 key notes; I am definitely sure I want to buy a Mac since I am a student, and I get a discount, but because of John Carmack's ID Tech 05 Engine he is deploying/been secretly making for the past 2 years for Mac users, and the announcement of other games going to the Mac, and the Leopard OS itself. But, is it good for programming? What benefits does it offer programemrs? I'm sure I'll have to let go of DirectX if I buy a Mac, and start programming on Mac, but how strong is the field for developers on Mac's, could I make games for PSP, Nintendo DS, Windows, web, etc...? What IDE/Compiler would I have to pick up if I buy a Mac I'm quite new to Mac's and just downloaded Safari for Windows, it's awesome. I'm switching, but only if I can continue my game developing career I am pursuing. Please send me links, and suggestions on this matter. Thanks,

Share this post


Link to post
Share on other sites
Advertisement
I think you have to use objective C? Don't know much about it, just googled "game programming mac" and came up with this:

http://www.idevgames.com/ : The Mac Game Developing Community

They might be of more help...

James

Share this post


Link to post
Share on other sites
Macs are great for programming in my opinion.

OS X has its own set of APIs to use for truly native programming (Carbon and Cocoa). Carbon uses C++ and Cocoa uses Objective-C. You will have to let go of DirectX and use OpenGL if you'd like 3D games. A few great places to head to if you're interested in learning more would be iDevGames and its sister site iDevApps. If you want to still make games for Windows, I'd suggest using something like SDL or Ogre for your windowing. Ogre will let you use OpenGL on OS X and choose between OpenGL and DirectX on Windows. Both Ogre and SDL are cross platform for OS X, Windows, and Linux. I figure that's how most cross platform games are created.

As for the IDE/compiler, you can get Xcode (which uses gcc) from apple.com/developer. You just have to register (free) to get it. That's what most people use though there are some other alternatives.

As for benefits, I think it not being Windows is a benefit :). Seriously though I don't really think either platform offers benefits over the other. They both have tools to get the job done. I'm currently on a Windows PC (saving for a new Mac since my last one died) using Ogre so that when I do get a Mac, I can just bring the code over and compile and run my game still.

You can definitely still make web apps (I'd argue it's easier with some of the free tools, editors, and IDEs for OS X such as Smultron, TextMate, and others) on OS X. Not sure about PSP or DS since I don't care about homebrew games for closed systems like those.

Share this post


Link to post
Share on other sites
Quote:
Original post by carlsfinch
But, is it good for programming?
Yes, it's great. Xcode3 (which will ship with Leopard) fixes almost all of my problems with the C++ side of things and makes the Objective-C side even better. .NET support from the Mono project is finally getting to a point where I can realistically see myself switching to C# for my Cocoa applications.
Quote:
What benefits does it offer programemrs?
It's Unix-based, offers one of the strongest implementations of OpenGL (several Apple engineers are on the "new" ARB, and one is even heading up the Mt. Evans implementation), has a robust set of platform-specific APIs (Bonjour, Cocoa), and has one of the better toolkits for developing graphical apps.

I think TextMate alone is one of the stronger arguments, it's an excellent piece of kit.
Quote:
I'm sure I'll have to let go of DirectX if I buy a Mac
Yes, unless you purchase a license to Cider or MacDX or something along those lines.
Quote:
but how strong is the field for developers on Mac's, could I make games for PSP, Nintendo DS, Windows, web, etc...?
Sure -- the various devkits for building console games on Linux work just fine on OS X, since they're just ports of GCC. Web apps, it doesn't matter what platform. Windows, you can cross-compile, but I highly recommend holding onto one Windows machine to build and test the Windows ports of your programs.
Quote:
What IDE/Compiler would I have to pick up if I buy a Mac
Xcode comes free on the installer DVDs you get with every Mac, and it's also downloadable from the Apple developer website.
Quote:
just downloaded Safari for Windows, it's awesome.
If you say so.

Check out iDevGames for a more Mac-oriented independent developer community -- there's a lot of people there making some good cash off of shareware.

Share this post


Link to post
Share on other sites
Quote:
Original post by JamesLewis
I think you have to use objective C?


You can use Objective-C but it is not required. You can use C/C++ with Ogre, SDL, or Carbon to get the same effect.

Share this post


Link to post
Share on other sites
Macs are great for programming ... I switched a few years back and have absolutely no regrets.

As Rav said, you'll be using xCode on the mac, and it (along with all the other dev tools) are totally free.

Personally, I find the debugging in xCode to be a lot less friendly than DevStudio, but the performance and OpenGL tracing tools provided more than make up for it.

We'd be lying if we said it'll be a totally seamless transition. Mac UI just works differently to Windows, and this extends to the xCode. So give yourself a bit of time to get used to the new UI.

I think the hardest decision you'll need to make is whether DirectX is important to you or not. Obviously you can run windows on the mac hardware (and there seems to be some cool virtualisation stuff coming) - but the bottom line for me would be, if you're developing for a windows target, have a windows machine.

Share this post


Link to post
Share on other sites
Just to clarify, the new id engine is not mac exclusive. It will run equally on: PC, Mac, 360, PS3. So you won't be gaining any special access by switching to a mac:

http://www.tuaw.com/2007/06/13/john-carmack-id-tech-5-demo-from-wwdc/

That said, a Mac is perfectly fine for programming.

Also, just to point it out, since id Software is associated with Activision that means it's politically unlikely that other major publishers will use the technology (EA, THQ, etc). They're more likely to maintain their relationship with unreal (who's not strongly affiliated with any particular publisher). I don't think that unreal has strong Mac support (please correct me if I'm wrong). So at the end of the day, yes there will be more games offered for Mac than are currently; however, the majority of games will still not run on Mac (or at least won't on first release).

I'm not mac hating (I love the OS and their laptops). I just don't want you to switch for games and then be left high & dry by the industry at large.

-me

Share this post


Link to post
Share on other sites
I recently ported a commercial game on MAC OS, here is my opinion about Mac Versus Windows Programming (as far as my experience goes) :

( Note that on Windows I'm not used to OpenGL, I always use DirectX )

MAC Pros:
- OpenGL Profiler
- When the QA has a crash on a release build where debug symbols have not been stripped, the callstack of the crash is automatically displayed ... VERY HANDY

MAC Cons:
- The carbon API (the equivalent of Win32) documentation is in my opinion very very poor. You hardly find what you search for.
- The XCode2 UI is very messy.
- XCode2 has some annoying bugs ( e.g. often you modify a single .cpp and the WHOLE project get recompiled, and our project took half an hour to compile ... so imagine the frustration )
- XCode2 debugger is really a piece of crap. (crashing, not displaying NULL terminated string, not able to display a lot of globals, slow responsivness, etc, etc )
- Mac keyboards don't have every character printed on them, e.g.: to write || (OR operator) you have to type ALT+SHILFT+L ( It took some time before i find this one...)
- OpenGL Profiler is quite good, but I had a lot of trouble with the OpenGL implementation itself ... we had some crashes into OpenGL that corrupted our stack, or that completely crashed the MAC forcing us to un-plug the power coord !! In that respect Direct3D is far more better. OpenGL should REALLY have a debug driver that validates all states and parameters. In its current state it can easily become a pain. (We even sent the game to Apple to see if they could find the cause of the crash and they were unable to help with this one)

Share this post


Link to post
Share on other sites
Well, first I must say they were showing EA games for the Mac, and I'm not sure bout the love that Epic Games has from Mac users. I do know I am getting one though, but not because of the games, NO! Because, there are 6 different Vista's to choose from, and I was barely happy with XP after I deleted/Added a bunch of stuff. Mac is also on Unix which is a plus already, and Mac just seems to have everything in the box when I buy it, so no adding this, and that, and I can't stand Visual C++.

No I'm not going to depend on Dx, and I'm really just interested in 2D game Engines right now, for I love 2D right now, and I'm still just a student, and Mac already has plenty of API, and 2D Game Engines out there to use.

I'd like to know what Mac book would be best for me as a programmer? How much RAM, CPU usage I will need? I honestly only using a computer for online work, C++/C/Java coding, music, and surf the web. If anyone has the answer to this one let me know. Let me know "The Best Bang for the Buck" Mac wise. And Gaming if they have enough games to game it out on a Mac, or when they do! (but mostly for programming, and school work :) )

peace,

c.s. Finch

p.s. Thanks for all the responses. I was suprised to find so many so quickly.

Share this post


Link to post
Share on other sites
Quote:
Original post by carlsfinch
Mac is also on Unix which is a plus already, and Mac just seems to have everything in the box when I buy it, so no adding this, and that, and I can't stand Visual C++.


Yeah. the OS and the whole user experience is what Apple really excels at.

Quote:
Original post by carlsfinch
I'd like to know what Mac book would be best for me as a programmer? How much RAM, CPU usage I will need? I honestly only using a computer for online work, C++/C/Java coding, music, and surf the web. If anyone has the answer to this one let me know. Let me know "The Best Bang for the Buck" Mac wise. And Gaming if they have enough games to game it out on a Mac, or when they do! (but mostly for programming, and school work :) )


Any Macbook Pro would more than suffice in terms of feature set. Their only drawback is that, to quote a friend: "they cook your balls & subsequently threaten you with sterility". hot hot hot

-me

Share this post


Link to post
Share on other sites
pro:

- most needed libs included
- XCode became a great IDE
- uncomplicated to setup libs (just add .framework in most cases)
- unix based - you can use most linux stuff
- Cocoa is pretty cool

contra:

- sometimes hard to use specific libs/programs (maybe C#)
- no DX
- sometimes very very very buggy graphics drivers

Share this post


Link to post
Share on other sites
Quote:
Original post by Palidine
I don't think that unreal has strong Mac support (please correct me if I'm wrong).
UT, UT2003, UT2004 all had strong Mac support, with a lot of licensed games (America's Army) being released on top of the platform. I think Epic's said that UE3 would have a Mac port.

For those on about the debugger, the new debugger in Xcode 3 (Xray) appears to be much better, and supports a unique threaded debugging mode which significantly improves debugging for multithreaded apps. The rewind mode alone is going to save me a hell of a lot of time. It also has a plugin API so you can develop your own analysis "instruments" to inspect the state; I'm planning on writing one for my game to represent AI decisions.
Quote:
Any Macbook Pro would more than suffice in terms of feature set. Their only drawback is that, to quote a friend: "they cook your balls & subsequently threaten you with sterility". hot hot hot
I had this problem too, but after visiting the local Apple store, they swapped the thermal paste on the CPU and the machine rarely goes over 40'C.

Also, note that on top of the student discount there is a student developer discount; it is insubstantial for the Macbook as opposed to the regular student discount, but is in the area of $700 off a 17" Macbook Pro. You just need to buy an ADC Student account and provide proof of student membership. Check out the ADC Student website.

Share this post


Link to post
Share on other sites
Quote:
Original post by FlorentTournade
- Mac keyboards don't have every character printed on them, e.g.: to write || (OR operator) you have to type ALT+SHILFT+L ( It took some time before i find this one...)

Which keyboard do you have? My MacBook Pro and the bundled keyboard with my Mac Pro both definitely have that key.

Share this post


Link to post
Share on other sites
Quote:
Original post by FlorentTournade
MAC Cons:
- The carbon API (the equivalent of Win32) documentation is in my opinion very very poor. You hardly find what you search for.

I haven't used Carbon, but I find that a bit hard to believe.

Quote:
- The XCode2 UI is very messy.

I disagree. I've found it generally easy to use.

Quote:
- XCode2 has some annoying bugs ( e.g. often you modify a single .cpp and the WHOLE project get recompiled, and our project took half an hour to compile ... so imagine the frustration )

That's not true. I really don't know what else to say, that simply isn't true. At least, it wasn't last time I checked. Maybe you accidently cleaned the build.

Quote:
- XCode2 debugger is really a piece of crap. (crashing, not displaying NULL terminated string, not able to display a lot of globals, slow responsivness, etc, etc )

I've never had it crash, it appears to be able to display a NULL terminated string and globals just fine and I haven't noticed any slow responsiveness.

Quote:
- OpenGL Profiler is quite good, but I had a lot of trouble with the OpenGL implementation itself ... we had some crashes into OpenGL that corrupted our stack, or that completely crashed the MAC forcing us to un-plug the power coord !! In that respect Direct3D is far more better. OpenGL should REALLY have a debug driver that validates all states and parameters. In its current state it can easily become a pain. (We even sent the game to Apple to see if they could find the cause of the crash and they were unable to help with this one)


Don't think I've ever heard of anything like that. At least not since the very, very early days of OS X (maybe 5 or 6 years ago).


Quote:
Original post by kordova
Quote:
Original post by FlorentTournade
- Mac keyboards don't have every character printed on them, e.g.: to write || (OR operator) you have to type ALT+SHILFT+L ( It took some time before i find this one...)

Which keyboard do you have? My MacBook Pro and the bundled keyboard with my Mac Pro both definitely have that key.


Yeah, I'm wondering about that too. Every keyboard I can think of (Apple or otherwise) has | printed on the keyboard, and you press shift-\ to type it.

Share this post


Link to post
Share on other sites
Quote:
Original post by Roboguy
Yeah, I'm wondering about that too. Every keyboard I can think of (Apple or otherwise) has | printed on the keyboard, and you press shift-\ to type it.


You've probably only seen American QWERTY (or DVORAK) keyboards. He's apparently from France where most (all?) keyboards are AZERTY.

Here in the French speaking side of Belgium, Mac keyboards don't have a key with '|' printed on it either, and I have to use the previously mentioned combination of keys to get it. Non-Mac keyboards usually require some kind of combination as well (eg AltGr + '&').

Share this post


Link to post
Share on other sites
Sometimes C-strings are not displayed for me - while at other times they are. Very strange.

But yeah, I find XCode and the debugger awesome!

Share this post


Link to post
Share on other sites
Quote:
Original post by Ravuya
Also, note that on top of the student discount there is a student developer discount; it is insubstantial for the Macbook as opposed to the regular student discount, but is in the area of $700 off a 17" Macbook Pro. You just need to buy an ADC Student account and provide proof of student membership. Check out the ADC Student website.


It's really that high? For $99 it's definitely worth the $700 savings. Can you verify that is the current savings? I can't seem to find any quotes without signing up. I'm just about in the market for a new Mac. :)

Share this post


Link to post
Share on other sites
It's tough to have an objective view on the Mac vs. PC debate as far as programming goes, or in general. A lot of things people say about Macs are just misconceptions because they don't know how to do something - or it's done differently on the different platforms. I will say this, no one I know that has switched to Obj-C and the Cocoa API has ever switched back for personal projects.

Share this post


Link to post
Share on other sites
Quote:
Original post by NickGravelyn
Quote:
Original post by Ravuya
Also, note that on top of the student discount there is a student developer discount; it is insubstantial for the Macbook as opposed to the regular student discount, but is in the area of $700 off a 17" Macbook Pro. You just need to buy an ADC Student account and provide proof of student membership. Check out the ADC Student website.


It's really that high? For $99 it's definitely worth the $700 savings. Can you verify that is the current savings? I can't seem to find any quotes without signing up. I'm just about in the market for a new Mac. :)
From this page you can see the Canadian ADC Select hardware purchase store, which points out that the 17" MBP is now $2479, down from $3099. So it's not quite $700 but it's pretty significant.

Note that to qualify for the ADC Student discount you must provide proof of post-secondary school membership (fax in your ID card). Otherwise, you must purchase an ADC Select membership ($500 or so) which carries a significantly less important discount. Also check out the Refurbished Mac section on the Apple Store, which has criminally low prices on machines with full warranties ($500+ off last-gen 15" C2D Macbook Pros).

I think you may only have one hardware discount in your entire lifetime with the ADC Student store, and you can have like four or five per year with a Select membership.

Finally, if you're going to buy a desktop machine, I would put the brakes on that until at least next month or so. Pretty much all of Apple's desktop machines are overdue for a refresh and there's strong indicators that there will be a new iMac released soon. My guess is that there will be a release in July.

I really should just write a page for this stuff and link to it. I think I've explained the various ways on how to get a cheap Mac at least 20-30 times on GDNet. [wink]

Share this post


Link to post
Share on other sites
Sign in to follow this  

  • Advertisement