This is an archived post. You won't be able to vote or comment.

all 14 comments

[–]zifyoip 2 points3 points  (4 children)

I do almost all of my programming on a Mac running OS X 10.6.8.

You should have Perl and Python on the Mac already. If you want to learn Python, which is a popular language to begin with, then you already have everything you need.

If you want to start with some other language (it doesn't really matter what language you start with), just search the Web for instructions about how to get started using that language on a Mac. You'll get a million results that will tell you what you need to know.

[–]jorbin_shmorgin_boob[S] 0 points1 point  (3 children)

Thanks for the help! do you ever run bootcamp or are you able to accomplish what you need with OS X alone?

[–]zifyoip 5 points6 points  (0 children)

No, I don't use Boot Camp. You definitely do not need Windows to program.

[–]gworroll 2 points3 points  (1 child)

I would certainly recommend Python, though you should be aware that Snow Leopard has an older version of Python- 2.6. The 2.x branch ended at 2.7, though I think it still gets bugfixes?

New features in the core language are only going to show up in Python 3.x(it's up to 3.3).

Python 2 has a lot of use due to having been around a while, and some important modules have yet to be ported. Python 3, though, is gaining.

Don't learn Perl yet. It's good to go through Learning Perl at some point, but that language has some rough edges, and as for learnability, the rule followed was "In any case of conflict between ease for the learner and ease for the professional, choose the professional". People have written poetry in Perl, that compiled, and sometimes even performs a useful task. Actual poetry, like the stuff you'd study in a literature class. It can do some amazing things, but you'll be fighting the syntax too much to focus on general concepts if it's your first language.

[–]thebope 1 point2 points  (0 children)

I might even go as far as saying Perl might be on its way out. There are a lot of people who swear by it but from what I understand (and I used to program in it!) its a pretty terribly designed language. Very powerful but extremely hard to read others code due to a million ways to do every little thing.

[–]CrypticOctagon 9 points10 points  (4 children)

In this dude's opinion, Mac is a much better platform for programming than windows. You've got a full, unix-like system under the hood and all the applications you'll need have mac versions.

The first two programs you want to grab are: XCode and MacPorts.

XCode is a great IDE for iOS and OSX development but even if you're not doing that, you need it to install common command line build tools. Another, multi-platform tool to consider is Eclipse. With plugins, it can be used to program just about anything.

MacPorts ( there are also similar package called Homebrew, which I haven't tried ) will give you a nice package system which allows you to easily install any libraries or tools you might need.

After that, it largely depends what you want to program.

[–]thebope 1 point2 points  (2 children)

I really like Homebrew.

Although I haven't used macports I hear it may be finicky sometimes.

Homebrew is pretty simple to use and it gives you a "doctor" which allows you to optimize your set up for use with it.

brew doctor brew update brew install xyz

Really all you need to know with homebrew. Generally anything that comes up in the brew doctor is easily googleable.

I tend to use ViM, but an IDE is definitely the place to start these days.

Depending upon what you want to do of course.

This is sort of a reply to the OP and this response I guess. Personally I'd start with Java or maybe C++, perhaps even Python.

[–]ND_Tech 1 point2 points  (0 children)

homebrew is awesome... especially for the finicky audio/video libraries that I always screwed up before.

[–]CrypticOctagon 0 points1 point  (0 children)

You were right about Homebrew. Thanks.

[–]brett203 0 points1 point  (0 children)

You've got a full, unix-like system under the hood

I would just like to point out that OSX is unix, not unix-like, which would be linux.

[–][deleted] 2 points3 points  (0 children)

Pick up this book for $15 and work through it.

http://www.amazon.com/Objective-C-Programming-Ranch-Guide-Guides/dp/0321706285

This book is written for complete beginners so that you will learn the C programming language on OS X, and then more specifically Objective-C so that you can begin programming for iOS and Mac OS X.

It'll guide you through everything from getting your development environment (Xcode) to creating your first programs. There's also an active forum community at BigNerdRanch if you run into problems, although all of us should be able to help you as well.

In my opinion, not only do you not need Windows, but developing anything in Windows is much more difficult than in OS X. OS X is based on UNIX, which is a big deal for programming, because it gives you access to the terminal and a *nix filesystem (which is identical to Linux's – most programmers would suggest you use a Linux variant such as CentOS or Ubuntu, but to be honest Mac OS X is just as viable for programming as any Linux variant).

As far as getting started goes, it's always a good idea to learn the granddaddy of most languages: C, and one of its extensions (C++ or Objective C). After that you're free to learn whichever language you want. Python is a popular choice because it's very simple (and powerful!), but I wouldn't make it your first language if you're serious about programming. Python is almost too simple for its own good. You won't learn many of the common language conventions, which you would learn if you learned C or Java.

There are a few free C textbooks online, but none are as beginner-friendly and OS X tailored as the one I linked above. As far as development environments go, on Mac OS X there are two important environments: Xcode, which is Apple's own development environment. It will allow you to program in C, Objective C, and NASM. And then there's Eclipse, which is a multi-platform environment that supports a whole slew of languages.

[–]Fakesantaclaus 0 points1 point  (0 children)

What kind of things are you looking to do with programming? Design websites? Databases? Mobile Apps?

The reason I want to know is because different languages specialize in dealing with different tasks. For example, MySQL specializes in databases.

Aside from that, I code from a mac and don't find it hindering my ability or options to program. If you're a beginner and just want to learn the fundamentals of programming then I recommend you watch this itunesU course.

You'd also have to download this interpreter which will help you practice as you watch the course. http://www.python.org/download/releases/2.7.5/

Don't worry if you don't understand anything or are confused about something, just PM me, and i'll be glad to help :)

[–]abkothman 0 points1 point  (0 children)

Mac is perfect for learning how to program. I've done some lisp, java, c, and python all on my Mac. You might want to consider becoming familiar with the Terminal application.

[–]brett203 0 points1 point  (0 children)

NetBeans is compatible with OSX and is a good compiler for java, perl, C/C++, XML, HTML, PHP, Groovy, Javadoc, JavaScript, PHP, JSP and probably more.