Results 1 to 11 of 11
  1. #1

    MacGal's Avatar
    Member Since
    Mar 27, 2008
    Location
    In the USA
    Posts
    27
    Specs:
    MacBook Pro
    Cool newbie question about programming languages
    Hi everyone! I am wanting to learn more about programming on a Mac, but I am not quite sure where would be the best place to start. Can anyone suggest some good books or online tutorials for learning?

    This may be a ridiculous question to ask, but I find all of the C's to be very confusing. Can anyone tell me what on earth is the difference in C++, C#, C, Cocoa, and objective C? Are they all similar to each other or completely different? What are the main differences in them and languages such as Java or Python?

    Will someone please help a newbie to understand the differences?

    Thanks in advance for any suggestions.

  2. #2

    xstep's Avatar
    Member Since
    Jun 25, 2005
    Location
    On the road
    Posts
    3,231
    Specs:
    2011 MBP, i7, 16GB RAM, MBP 2.16Ghz Core Duo, 2GB ram, Dual 867Mhz MDD, 1.75GB ram, ATI 9800 Pro vid
    Cocoa is the collection of development frameworks and tools used to develop OS X applications.

    C# I understand is a rip off of Java with .Net thrown in. Hopefully someone with more knowledge will say more.

    C++ and Objective-C are extensions to C that allow easier object oriented development.

    You might want to start with Become an Xcoder and Cocoa Dev Central.
    CameraTime - Time lapse photography for novice and advanced users.

    When asking questions, post the version of your software. You'll receive better answers.

    Please post your results to the thread as it is good feedback.

  3. #3

    MacGal's Avatar
    Member Since
    Mar 27, 2008
    Location
    In the USA
    Posts
    27
    Specs:
    MacBook Pro
    Thanks for the info! I will check those links out.

  4. #4


    Member Since
    Feb 03, 2008
    Location
    Surrey BC Canada
    Posts
    444
    Specs:
    Mac Mini 2.5 i5/16Gb/500Gb/Radeon 6630M-256MB
    Ok MacGal....your lil image is nifty.....lol 123 I should use my Mac to navigate here more than the PC lol
    This is a multiplatform home !

  5. #5


    Member Since
    Mar 27, 2008
    Posts
    18
    Here's the difference: all of the languages are derivatives of the C programming language, which was invented by Bell Labs (yes, the phone company) in the 1980's.

    http://www.oreilly.com/news/languageposter_0504.html

    The primary successor to C is C++, which adds the object-oriented paradigm of Smalltalk into C, giving programmers the ability to work with objects and classes. I could write for three days about what "object-oriented" means, but suffice to say it's both a way to programming, and a way to think about programming. I think Bruce Eckel writes some great (and free) books about C++, but they do assume you already know C.

    So C and C++ are the "standards" of this group of languages, and are some of the most widely used programming languages in the world. There is such a thing as the ANSI C standard, and if you have an "ANSI compliant" C compiler (like gcc, which is what XCode uses to compile) then your programs adhere to the standard.

    There are spinoffs of these, instituted for one reason or another. For instance, C# is Microsoft's version of C++, developed to pull programmers even more deeply into Microsoft's web (C# doesn't work on anything but Windows, while C++ works on pretty much every platform -- hence why another user called it a "rip-off"). Objective-C is the one Apple uses, for whatever reason, although Apple didn't develop it. My guess is that, like most things of this ilk, it's used because they used it at NeXt.

    When you ask, "where should I start," I think an important follow-up is "what do you want to do?" There's a pretty big difference between, say, graphics programming, games programming, and application programming.

  6. #6


    Member Since
    Mar 27, 2008
    Posts
    18
    Resource
    I just came across this book:

    Becoming an XCoder - Leopard Edition

    Hope it helps!

  7. #7

    OhioDude's Avatar
    Member Since
    Mar 28, 2008
    Location
    Gahanna Ohio
    Posts
    15
    Specs:
    MBP 2.4Ghz, BlackBook 2.0 Ghz, iBook G4, 8Gb iPhone, AppleTV, 80 Gb Video iPod 3 Nanos and 1 Shuffle
    I think you first need to ask yourself what it is you want to program and go from there. I've done mostly C# and Java development and am now learning Progressive C.

    Sticking with Java, C, C++ or Prgressive C is your best bet with a Mac. C# on the other hand requires some Mono plugins which to be honest I haven't gotten to work yet.

    Web development is easy on a Mac too. Since it has an apache server on it you can get up and running quickly.

  8. #8

    xstep's Avatar
    Member Since
    Jun 25, 2005
    Location
    On the road
    Posts
    3,231
    Specs:
    2011 MBP, i7, 16GB RAM, MBP 2.16Ghz Core Duo, 2GB ram, Dual 867Mhz MDD, 1.75GB ram, ATI 9800 Pro vid
    Quote Originally Posted by raydot View Post
    Here's the difference: all of the languages are derivatives of the C programming language, which was invented by Bell Labs (yes, the phone company) in the 1980's.
    C was done in 1971, anc came after B.
    CameraTime - Time lapse photography for novice and advanced users.

    When asking questions, post the version of your software. You'll receive better answers.

    Please post your results to the thread as it is good feedback.

  9. #9


    Member Since
    Mar 27, 2008
    Posts
    18
    Quote Originally Posted by xstep View Post
    C was done in 1971, anc came after B.
    I crossed my feet in giving the response ...C++ was invented in the 1980's, yes, C in '71. You are correct, and thanks!

    b, then C, and then C++ which is a geeky joke because C++ literally means C + 1. (But then, everyone knows that! )

  10. #10

    MacGal's Avatar
    Member Since
    Mar 27, 2008
    Location
    In the USA
    Posts
    27
    Specs:
    MacBook Pro
    Thanks for the explanations everyone! The areas that I am most interested in are graphics programming and application programming. I haven't had the time to read through all of them yet, but those look like some cool links.

    I am also wondering if there is a big difference in Tiger and Leopard's dev tools. Right now, I am using Tiger, but I have been wondering if there is a big enough difference in the two versions of Xcode that it would be worth switching to get the later version. Is there enough difference in the two that it would matter for someone who is just starting out?

  11. #11


    Member Since
    Mar 27, 2008
    Posts
    18
    XCode 3.0 is a little bit different than 2.x, but basic coding principles are basic coding principles. If you're not planning on upgrading any time soon, you can probably stick to Tiger.

    My suggestion is that you focus on learning the basics of C and/or C++, as they're the pretty much the same in most programming languages (Java, PHP, etc). Once you get your feet wet with those, then you can get into GUI, graphic, and applications programming.

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Question about Programming
    By mag709 in forum iOS Development
    Replies: 2
    Last Post: 05-17-2012, 04:19 PM
  2. Newbie wanting to learn about Programming Concepts on a Mac
    By c1ph3rtxt in forum OS X - Development and Darwin
    Replies: 7
    Last Post: 04-09-2010, 12:41 AM
  3. newbie programming question
    By onwin in forum OS X - Development and Darwin
    Replies: 2
    Last Post: 04-22-2009, 11:14 PM
  4. Question about programming languages
    By Dragonlance1561 in forum OS X - Development and Darwin
    Replies: 1
    Last Post: 10-28-2008, 04:13 AM
  5. Game Programming Question.
    By shelflife19 in forum OS X - Development and Darwin
    Replies: 2
    Last Post: 11-23-2007, 06:10 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •