Books on learning programming on a Mac (but not on C)?

Discussion in 'Mac Programming' started by firewood, Nov 9, 2011.

  1. firewood macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #1
    What books, if any, are targeted at learning how to program on a modern Mac, but do not start out with either C or Objective C?

    I have some really old out-of-print books on learning Basic and Forth on a Mac, but those languages are not currently popular nor well supported.
     
  2. Hansr macrumors 6502a

    Joined:
    Apr 1, 2007
  3. steviem macrumors 68020

    steviem

    Joined:
    May 26, 2006
    Location:
    New York, Baby!
  4. GorillaPaws macrumors 6502a

    GorillaPaws

    Joined:
    Oct 26, 2003
    Location:
    Richmond, VA
    #5
    I also suggest Python for this. Most books explain how to get up-and-running on all platforms. And writing simple command-line Python apps will be the same for all platforms. Python is an elegant language for many types of programming problems and is a good choice for those who like the cleaner syntax and interpreted code environment.
     
  5. larswik macrumors 68000

    Joined:
    Sep 8, 2006
    #6
    If you are worried about a steep learning curve I found that it depends on the book you are learning from. Sounds like you might want to using those languages in the future but want to start simple.

    I learned C from a book called "Learn C on the Mac", it was a great book and started off really simple and easy with good examples.
     
  6. firewood thread starter macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #7
    Any language other than C (including C++ or Objective C).
    A good absolute beginners book targeted at someone with a recent Mac would be perfect.

    The local library used to have a dozen good book on learning Basic on your Apple II/TRS-80/PET/PC/etc. for complete non-techy newbies, even some in the kids section, way back, but now out of print and long obsolete.

    I don't see anything like that in the kids section any more. :(
     
  7. Hansr macrumors 6502a

    Joined:
    Apr 1, 2007
    #8
  8. ArchiMark macrumors 6502

    Joined:
    Feb 2, 2003
    Location:
    Silicon Valley
    #9
    +1 for Dave Marks book....very helpful to learn from...

    ----------

    +1 for Python as a good option....
     
  9. Senor Cuete, Nov 13, 2011
    Last edited: Nov 13, 2011

    Senor Cuete macrumors regular

    Joined:
    Nov 9, 2011
    #10
    C/Objective C

    BASIC is deprecated and Forth is severely deprecated. The modern paradigm for application programming is the use of object-oriented programming with frameworks. The object-oriented languages are supersets of C: Objective C (used to program the Mac), C++, C# and Java. If you want to do meaningful programming, get over your aversion to C. Learn C. Objective C is a set of simple extensions to C that allow it to be used as an object-oriented language. If you know C you will figure out Objective C pretty well in about one day. The other alternative would be Java which is a lot like object-oriented flavors of C. If you want to program the Mac, learn C, Objective C and Cocoa. Yes this is a big task.
     
  10. iHutch105 macrumors member

    Joined:
    Aug 8, 2011
  11. notjustjay macrumors 603

    notjustjay

    Joined:
    Sep 19, 2003
    Location:
    Canada, eh?
    #12
    I agree with the others. While I learned programming with BASIC on an Apple ][, those days are long gone and I found that when it came time to move from BASIC to more modern programming languages like C++, there were lots of things that I had to unlearn (prolific use of GOTO, for example).

    I self-taught myself C starting in grade 8 using a book called Practical C Programming, published by O'Reilly. It was very clear and taught not just the language but good programming style, something which has stuck with me to this day. Even so, they taught BASIC and Pascal in high school and it wasn't until I was a senior that I really started writing C programs in earnest.

    If you start with BASIC you may have an easier time of it at the beginning but then when it comes time to actually do anything you'll need to step back and learn C anyway, so why not just do it right from the start.

    For someone just learning today I recommend starting with Python and then bite the bullet and learn C. Learn to use the Unix shell and write simple command-line programs in Python and then C.

    Or Java. Java has its own quirks but if you're afraid of being bogged down in syntax, Java is a little better than C in that respect (no need for separate .c/.h files, for example) and what you learn in Java is extremely transferable to C++.

    Then you can move on to the OS X native stuff with windowing and buttons and all that stuff (a step which I have not yet taken).
     
  12. Mac_Max macrumors 6502

    Joined:
    Mar 8, 2004
    #13
  13. firewood thread starter macrumors 604

    Joined:
    Jul 29, 2003
    Location:
    Silicon Valley
    #15
    The MacRuby book does not look like it's for beginners, but the MIT Scratch book looks very interesting.

    On the Amazon Also Bought list for the Scratch book was: Invent-Your-Computer-Games-Python , which also seems targeted at beginners and kids.
     
  14. larswik macrumors 68000

    Joined:
    Sep 8, 2006
    #16
    One thing I notices with different computer languages since I started learning is they seem to all have the same core stuff for the most part. An IF statement, for example, was almost identical from C, Pascal, Python and more. They all seem to use the same basic structure.

    Once you learn those basic fundamentals and have a good understanding of them it gets easier. I struggled though books when I was trying to learn. I mentioned above about the Learn C on the Mac book. This was the first book that worked at a very slow pace to help you grasp the fundamentals. With that book and this forum I was able to understand it. I finished that book mid December last year and remember at Christmas time I wrote a console based Black Jack game and posted all the code here. The code was very ugly and hard to read but the program worked.
     
  15. balamw Moderator

    balamw

    Staff Member

    Joined:
    Aug 16, 2005
    Location:
    New England
    #17
    FWIW Hillegass' new Objective-C book takes this beginner approach in stride. It teaches the fundamentals of C in the first section and then moves on.

    This should work well for those who prefer to learn C first. It strikes a good balance IMHO without the depth of Kochan.

    B
     

Share This Page