Mac Programing

Posted:
in General Discussion edited January 2014
I was wondering what kind of books, web pages, and other media are good for begginer programers on the mac. I have been putting off this for soooooooo long, now I guess im gonna have to learn how to program <img src="graemlins/embarrassed.gif" border="0" alt="[Embarrassed]" /> Any advice/sugestions would be greatly appercited on this topic. Thank you.

Comments

  • Reply 1 of 2
    There's a thread in the Genius Bar Forum called Programming Advice needed-I just brought it back up to the top.
  • Reply 2 of 2
    [quote]Originally posted by Mac_Man:

    <strong>I was wondering what kind of books, web pages, and other media are good for begginer programers on the mac. I have been putting off this for soooooooo long, now I guess im gonna have to learn how to program <img src="graemlins/embarrassed.gif" border="0" alt="[Embarrassed]" /> Any advice/sugestions would be greatly appercited on this topic. Thank you.</strong><hr></blockquote>



    If I had to do it all over again (given the new resources that have arrived thanks to OSX going large) ... and I was starting from scratch, and I had a Mac with OSX developers tools on it, here's what I'd do:



    /**



    Big Pre-amble



    Note : accept that learning to program is an endless iterative process (you're constantly going in an upward spiral, since you can't learn one thing and incorporate it until you learn and incorporate something else - thus a chapter in a book that seems pointless today, may be the most brilliant thing you've ever read 6 months from now - you're always going back and forth back and forth) ... if anybody ever tells you all you need to do is read one book and you're done, it's ok to snicker quietly. Also note: nobody's a God here, but plenty have to pretend they are in order to justify their pay ranges (especially in this employment climate), so they make like they came out of the womb knowing pointer arithmetic - word to the wise, just play along ... playing along helps when it comes to asking questions (which you'll need to do, just like they did but for self preservation sake don't dare admit to).



    */



    Onto the more straightforward advice.



    1 - Start by getting a reasonable handle on C - it's the "latin" of programming languages since so many languages like C++, Objective-C, Java, Javascript, C# etc are either based on it, or they borrow a large amount of their syntax from it ... DON'T go too crazy learning it, you'll almost never code in pure C these days (at least I rarely do) ... but definitely put a fair bit of effort into getting your head around the most important features of it ...



    Recommended book - (this one's easy):

    "Teach Yourself C Programming in 21 days" by Peter Aitken & Bradley Jones. This book ain't cheap ($50?), but there's no point in buying a sucky book, spending 6 months bored out of your mind and getting nowhere, only to find that the book you're using is the problem and you just wasted 6 months of your life feeling stupid because of it.



    Also note, if you've got a day job, don't worry about not making it in under 21 days ... in fact, you don't really need to go thru the whole book.



    What you do need to do is get the satisfaction out of seeing "Hello World!" come out of that console using project builder.



    Nobody's going to tell you this, but the truth is, you need all those little "Hello World!" victories just to keep you going and to let you know you're actually getting somewhere ... don't feel ashamed at any little bit of satisfaction you get from a prinf function working, go right ahead and savour it ...





    2 - Once you've got your head around C, then you have to make a big choice ... in what direction do you want to go? Programming is a huge field, and there stopped being one thing called "Programming" which was the same for everybody a very very long time ago. So the direction you choose to take primariy depends on how your head is wired ...



    ... my brain is wired primary to be a dungeon troller, I get off writing incredibly complicated yet powerful logic structures to handle subtle problems ... so, for me, I'm big on writing server software in Java ... other people like dealing with the interface and making cool things happen on screen ... so they might get into Javascript or Quicktime coding or even writing an app to do cool things on screen.



    Whatever you're into, it's very important you pick the path you wish to travel down now ... and once you pick that path ... get a book on it, learn a bit, and then:



    Step A: come up with a dog simple project that you can code which will give you practice.



    Step B: try to find a way to get a job going further down that path.



    As cool as it is coding away at night on your own time, there's no comparison to getting paid to code as a way of learning to code! Especially if there's other's about who can tell you the secret incantation which can solve your problem (you'll find in programming that 90% of your time going into figuring out the toughest 10% of your problems).



    As for myself, I went Object Oriented and Java (I've very into building huge intricate machines out of intellectual "Lego")... for "Big Server Lego", Java's great, there's even money in it (thank god) but nobody's writing applications in Java (well, not quite yet, we'll see)and if Applications are more what you're into (hoping that there's a money space that Microsoft hasn't yet usurped) ... then there's only one thing to do if you're a Mac head.



    Pick up Aaron Hillegass'

    "Cocoa Programming for OSX"



    ... and spend the time.



    I guarantee you'll fall in love - unfortunatelly, I can't guarantee you'll ever get paid.



    However, you'll learn so much about Object Oriented programming in such a cool way (building Apps that do cool things on screen), that if you ever do need to make a living, learning what's necessary won't be a problem.



    Whew ... did I write all that?
Sign In or Register to comment.