Looking for advice on what software to go with after C++

Discussion in 'Mac Programming' started by mganc, Jun 9, 2005.

  1. mganc macrumors newbie

    Jun 9, 2005

    I'm a beginning programmer, with intermediate level skills in C++. I've been using the xcode environment to write console-type applications, and I am looking to move into creating a better user interface on the mac.

    I know there are various ways to go about this, with Carbon, Cocoa, Objective C, and so on. I've read a bunch about them, but I don't know which one I should be moving towards.

    C++ is something I am getting very comfortable with, and I would like to be able to use the knowledge of it that I have gained, and just put a nice front end on it. I don't want to have to switch to a whole new language.

    What I am looking for is the best way to combine what I can do in C++ with one of the many tools there are for making applications for OS X. Is that learning Obj C, or Carbon, or Cocoa? The possibilities are kind of confusing to me.

    Should I stick with C++, or move to Java, or Obj C? It seems the best way to go about this is to migrate to Obj C and write Cocoa apps, but I am not 100% sure.

    If anyone has any advice, I would greatly appreciate it :) Thanks in advance!
  2. virus1 macrumors 65816


    Jun 24, 2004
    i reccomend objective c. it is kind of a step back from c++, but then you can create cocoa apps.
  3. freiheit macrumors 6502a

    Jul 20, 2004
    You can do Java in XCode

    From C++ you can go to Java. As a developer friend of mine once said, "Java is like C++ done right" (but then he went on to "say C# is like Java done right"). He really likes C# and I know he's looking forward to Cocoa# so he can start developing for MacOS X and still use his favorite language.

    The thing with Java is you can create Cocoa applications with Java using XCode. You can't do that (to my knowledge) with C or C++. So you can "step back" to Objective-C or "step forward" to Java and build great Cocoa GUI apps with either one.
  4. Mitthrawnuruodo Moderator emeritus


    Mar 10, 2004
    Bergen, Norway
    You can also try out Qt from Trolltech, a nice and easy-to-learn cross-platform API that lets you code C++ applications with GUI, that only needs a recompile to run on Mac OS X, Windows and most Linux and Unix variants...
  5. cube macrumors G5

    May 10, 2004
    C++ is a terrible language.
    Objective-C should have been the favorite object-oriented C extension (of course, it still a damned C-based language).
  6. Loge macrumors 68030


    Jun 24, 2004
    I think the best way to get into GUI apps for OS X is to learn Objective-C and Cocoa. You can still use the non-GUI C++ code you've written if you don't want to rewrite it in Objective-C. There are quite a few resources mentioned in other threads on getting started with Objective-C and Cocoa. I would recommend the book by Kochan, to get familiar first with the Objective-C language before diving into Cocoa. It shouldn't take too long if you're comfortable with C++.

    While you can also program Cocoa with Java, it is not that widely done; hence there is much less support and few resources about it. The idea behind that, I think, was to reduce the learning curve for experienced Java programmers coming to Cocoa. Of course, Java can be used if you want to produce cross-platform GUI apps, but then you'd use the Swing libraries instead of Cocoa.

    Good luck. :)
  7. caveman_uk Guest


    Feb 17, 2003
    Hitchin, Herts, UK
    Not entirely fair - C++ is extremely powerful and extensive but gives the programmer an awful lot of rope with which to hang himself. Having programmed in C++ in the past and objective-C recently, I can say that objective-C is a much simpler language and nowhere near as broad as C++. What gives objective-C it's edge on the Mac is not the language itself but the Cocoa frameworks you use. True, the dynamic nature of objective-C contributes to the way those frameworks are designed but if you look at the language itself - there's not much to it.

    Having said that, I wrote a complete non-trivial app in a few hours on Saturday afternoon with a hell of a lot of functionality using cocoa bindings etc that would have taken days using C++ and carbon.

    Has anyone used objective-C++? I've heard it exists....

    As for learning objective-C/Cocoa, I reckon the Hillegass book is probably the best introduction. Cocoadevcentral.com has some good tutorials including 'C for Cocoa' and others on Core Data and the Cocoa Bindings. And of course Google is your friend if you get stuck....

Share This Page