views:

244

answers:

5

As a dyed in the wool Windows dev I surprised myself bought a Mac and I feel such a beginner again. I'm basically looking to get up to speed quickly and need advice on making the transition as an experienced windows dev to OSX.

Can you recommend any development books specifically in the area of getting up and running using Apache, Python and Ruby/Rails geared towards the Mac?

Also what dev tools/languages are already installed on OSX 10.5 out of the box?

I'm also looking for a decent reference text on OSX that explains stuff an advanced user might need to know beyond all the pointy clicky stuff e.g. where stuff goes on the filesystem when I install an app (yeah I know that last question not on-topic).

Thanks in advance
Kev

+4  A: 

Well if you're familiar with the languages, you'll most likely then just need to get familiar with a good editor. The most famous editor you'll often see on screencasts done on the Mac would be Textmate. The Pragmatic Programmers have published a book that will teach you all of the ins and out of Textmate so you'll be a pro in no time using it.

TextMate: Power Editing for the Mac

As far as Apache, Python and Ruby/Rails. Most of the above are installed out of the box, though you will want to make sure you have the latest and greatest. For Rails, make sure you do a:

sudo gem update --system

to get yourself the latest copy of RubyGems, then

sudo gem update

or

sudo gem install rails

to get yourself the latest Rails release.

Then watch the following Railscast episode on getting up and running with Passenger which will get you up and running, hosting Rails apps on your local machine using the built in Apache install. Be sure to watch other episodes as well, you'll learn a lot.

Good luck!

mwilliams
Installing an app - Simply drag and drop the App into your Applications directory and that it is. Chances are any task you will encounter will be much easier than you expect it to be. Don't overlook the obvious and you'll be OK.
mwilliams
@MWilliams - thanks for that. I've already installed a few apps but I guess as a windows user I maybe need to kick the habit of knowing every little detail about where they installed etc?
Kev
@Kev You got it... Let apps remain in Applications, nevermind DLL's tossed around or registry keys. When you want to remove an app, simply drag it to the trash. Just never run an app from a disk image, always copy it to Applications first then toss the disk image.
mwilliams
@MWilliams - much appreciated :)
Kev
A: 

get yourself macports installation www.macports.org

you can install your usual software stack via ports, theres no real difference from development on other platforms...

miceuz
+1  A: 

There's not much special about web development on a Mac compared to Windows, except the languages/frameworks. Pick the language you want to use (python and ruby/rails are good recommendations, php is ok) and pick up a good book for the language. If you chose the Ruby/Rails route, most of the other developers are already using Macs, so there aren't many surprises. There are a few hoops to jump through with some of the libraries more commonly used on Linux such as ImageMagick, but you might not even need them and there are good tutorials on the web on how to compile them. Textmate is a great editor.

MattW.
+1  A: 

I recommend having a look at Ruby on Rails. The Rails core are unashamedly fans of the Mac, so a lot of the tutorial materials and references you will find are based on Mac OS.

I got started with Rails with the help of Agile Web Development With Ruby on Rails. It's a comprehensive and fantastic intro to Rails dev.

I also just bought the unlimited subscribtion to the Peepcode screencasts, which are an excellent intro to some of the more advanced and fringe elements of the Rails/Ruby world.

Like the others, I use Textmate too. But I have also used both Eclipse and Netbeans and they are pretty good too.

Toby Hede
A: 

Mac OS looks enough like Linux that you have to dig to find the differences. The similarities may be superficial, but for web development, that's all you ever see anyway. Any book on Apache, Python or Ruby that covers Linux applies to Mac OS.

One big difference is that the Mac OS has some additional directory structure (e.g., /Library/Framework) that standard Linux doesn't have.

The other big difference is that in Mac OS, you cannot login as root. As the owner, you can sudo with root-like privileges, but you can't actually be root. This hardly ever matters, except to people who habitually su - to do anything.

For web development, however, Apache is still Apache, Python is still Python. Often, Apache (httpd) is installed and running. Check your System Preferences to see if you are already serving your user-specific Sites directory.

S.Lott
Mac OS is *not* Linux. It's built on top of Mach and pieces of BSDs including the original BSD, FreeBSD, and NetBSD. See http://en.wikipedia.org/wiki/History_of_Mac_OS_X for more. If you pretend the userland is BSD you'll usually be OK.
Hank Gay
@Hank Gay: while that may be true down deep, at the surface, where I live as a web developer, everything from Red Hat works in Mac OS X. So it looks like Linux to me.
S.Lott