OS X includes 12 real programming languages
Friday, May 25th, 2007Maybe more. Some of these are only there after you install the developer tools, but that’s still on the included install disc.
- Perl
- Python
- Java (javac is included)
- Bash
- Emacs Lisp
- Javascript
- Ruby
- C/C++ (C++ is a superset of C for practical purposes, even though there are a few incompatibilities)
- Objective C
- AppleScript
- PHP
- Tcl
Even Flex and Bison are there in case you feel like making up your own language.
That’s an incredible wealth of development tools right out of the box (if you count a few extra clicks on the install disc as “out of the box”). Of course, most Unix-like systems like Linux will have all of those languages (except AppleScript) available from the get go too (though I was really surprised and pleased to find Ruby there!) You should expect any modern operating system to come with a similar suite of languages. They’re all free, why wouldn’t every OS maker include them? The more languages you have out of the box, the more likely people are to write software for your OS.
So what does the number one OS include?
- Javascript
- Batch files
Sorry if I’ve missed anything there, it’s definitely possible, especially with Vista, which I’m not really familiar with. I think they may have added a new scripting system in Vista. I’m not actually sure if there’s a new language to go with it though, or just more hooks for languages in general. But even if I did miss something, there’s still not much there.
It doesn’t matter as much now that downloading any of those languages is trivial, but I do think it still matters. And Microsoft charges money for their IDEs. If they weren’t the dominant OS, that would be a recipe for disaster. Every other OS maker needs the barrier to entry to development to be as low as possible. I know Microsoft does offer free stripped down versions of Visual C++ et. al these days, and that others sell IDEs and compilers for other OSs, but Microsoft is the only OS maker that also tries to make you pay them even more for the privilege of creating software for their OS. Apple gives you a really good C/C++/Obj-C IDE (not to mention Emacs, the bearded Unix geek’s IDE) for free plus all those other languages to play with.
So anyway, I’m about to start playing around with Ruby to see if it’s something I want to use for future large-scale projects. I’m procrastinating by writing this post. But finding it already installed on my Mac made me think about how great it is having all those languages right there, just in case.
It doesn’t have Erlang though (It did build and run just fine after downloading it). Erlang is another interesting language I might write more about later. Anyone interested in concurrent and distributed processing should at least go read about it. It’s not well suited to a lot of things, I wouldn’t want to write a whole game in it. But there are bits and pieces where it might be exceptionally useful and robust.