pc -> mac | visual studio c++ .net -> ?



I just got an iBook (my first mac). I'm a computer science student and have been using visual studio c++ as my primary IDE under windows. I've played with gcc of course, since i'm a CS student, but I prefer a full IDE, especially for debugging. (No, I suck at gdb).

So what would you guys recommend for C++ development to someone like me?
Jul 25, 2004
Reaction score
Gaithersburg, MD
Your Mac's Specs
Mac Pro 2.6ghz Quad Xeon, 23" Cinema
gcc. At my school (University of Maryland) all of our computer science projects are done in unix environment.


No offense to you since I appreciate that you took your time to reply, but I'm getting the idea that people on this forum aren't willing to actually read people's posts.

I clearly said I'm familiar with GCC and prefer an IDE where I can debug properly (as in, no command line).

So let me rephrase the question: what IDE would you guys suggest to someone who wants to develop on a mac, come from .net?


I am not a "hard-core" or even "knowledgeable" OSX developer but here is what little I know. You have a few choices here:
1. XCode (Apple's IDE)
2. Code Warrior (Metrowerks)
3. Scripting environments
4. The rest (Eclipse, DotGnu et. al.)

1. XCode is Apple's "official" IDE for OSX. The user interface portion of OSX is referred to as Cocoa. The reason this is important is that much of the user interface code and much of what makes OSX a great, productive, and powerful development environment is because of the underpinnings of Cocoa which is Objective-C. Objective C is a smalltalk-inspired language but more closely resembles C and C++. I have programmed with many languages including those in the dot-net language suite. For the most part you can get a lot of productive work done with Microsoft tools. I feel like greased lightning writing code with a Microsoft IDE. There are also many limits with these tools. I think it all boils down to preference and what you feel productive with. But in my personal experience, I have never seen a more elegant, productive platform than the "Core" APIs and AppKit Objective-C libraries Apple provides. There are many open source type libraries out there as well. It's not the bill-gates world where you can "buy" components that do about anything you want, but you might find your code is more beautiful and less kludgy than you will get with MS tools.

2. Metrowerks is pretty good IDE and the compiler is cross platform but you will have to find a cross platform user-interface library like WxWidgets (http://www.wxwidgets.org) if you want to write cross platform GUI apps. Also Code-Warrior only supports C++ and C from what I remember.

3. There are a lot of scripting tools out there for OSX for scripting languages like PHP, AppleScript, and Runtime Revolution. I script in PHP a lot so I use an editor and Dreamweaver mostly. Both of these are available for OSX and if you're scripting, work like an IDE. (hahaha)

4. Other IDEs including Java IDEs such as Eclipse and Netbeans. Sure, Apple has also written a Java API wrapper around the Objective-C libraries. But why bother, when you can use Eclipse (www.eclipse.org) and bind your code to the SWT toolkit? SWT is a cross platform user interface library that gives your applications that "native" look and feel. Not to be confused with the "pluggable" look and feel of Swing which does not look or feel native to any single platform. The Eclipse user interface is based on SWT and looks and feels mostly like a native app. Download Eclipse and try it out for yourself.

If you're absolutely hooked on dot-net then I suggest you check out the dot-gnu project and mono projects which seek to implement cross-platform dot-net runtimes. I really don't know how far these projects have evolved but it looks like there is a lot of momentum here.

Bottom Line: if you want my opinion or even just a reason to go to OSX then I suggest you check out Objective-C and Cocoa development. There is plenty of documentation out there and I would start on the Apple Developer Connection web site. I think that Objective-C is "the" enabling technology that is allowing this platform to propel itself "years" ahead of what Microsoft is doing on the desktop. This is coming from a loyal windows advocate. Again, I don't have any problem with Microsoft tools, but if you love to code, then you will love Objective-C.



Thanks for the response. I will definitely check out objective-c and xcode with that kind of an endorsement, but since my school's curriculum is in c++, I'll also be checking out code warrior.

Thanks again!

Shop Amazon

Shop for your Apple, Mac, iPhone and other computer products on Amazon.
We are a participant in the Amazon Services LLC Associates Program, an affiliate program designed to provide a means for us to earn fees by linking to Amazon and affiliated sites.