Starting off

Webmonkey covers some basics here:

Unix articles

Check out the Unix basics articles, and the article on vi, the (nearly) universal text editor.

You can run a Google search on a phrase like "Getting started in UNIX" and get a heap of articles
like this.

O'Reilly also has many helpful and well-written books on the UNIX side of OS X, as well as scripting in tcsh and other shells.
 
So many options! :) Mac OS X comes ready to get straight to programming in Java, Perl, PHP, C/C++ or shell scripting in all the Unix shells (tcsh, bash, ksh...)

If you want to accomplish Unix-type things, then you'd best start with a shell scripting language. The documentation on these is in man pages, though you'd be best off buying a cheap textbook if you want to learn it, as the man pages are really just for reference.

If you want to achieve "web-page" type things then Perl and PHP are great options (this forum is written in PHP). I'm quite a fan of Perl: you can do some neat things with it.

If you're looking to write full GUI applications, a good place to start is with Java; because you can learn from Java textbooks written before Mac OS X, and run all the examples, then simply transfer that knowledge to writing Cocoa apps.

The best place to start, though, is by signing on at Apple Developers' Connection: http://www.apple.com/developer/

Get the developer tools installed (the CD should have come with Mac OS X, though it can be downloaded or ordered from Apple)

Pick a language, make sure you have its entire API (Application Programmers Index) either on paper or bookmarked on the web, grab a textbook and start experimenting.
 
OSX is an awesome platform to learn app development on . The dev environment is so much better than anything available for Linux its silly and $0 is quite a bargain compared to $1000+ for Visual Studio.

As for where to start,
like billbaloney said, you will need a basic understanding of unix and navigating the command line, but I would recommend that for anyone, even non-developers.

I would suggest to start with perl. Learning perl will give you a fair understanding of C type syntax which will give you a great base from which you can jump to other languages such as C, php, java, etc. And perl is not just a language for writing web based apps, its quite usefull for simplifying everyday tasks. If you would prefer to start with a web-based language I would suggest php over perl.

If you want to write gui apps, the only choice (imo) is Obj-C and Cocoa. To me, java apps, especially gui based java apps just "feel" so bloated. They just don't have the snap. The only reason I see to using java is if you already know the language and want to shorten your learning curve.

And lastly the editor.
You have a mac, why not use the mother of text editors: bbedit? I don't buy the notion that "real men do it from the command line" when it comes to editing. Give me a gui with tabs and file tree. If you are doing remote file editing, then vi/m would be beneficial. And of course, if you want to get into cocoa development, project builder is probably where you want to hang out.

hope that helps,
jdog
 
Back
Top