I am currently working on a large project and will relatively soon need a scripting language for utility scripts, like deploying the project in full from source, checking and fixing the database, building a ready to deploy bundle, and so on. The project is written in PHP and I thought about using it, but I dismissed that as not suitable for the task.
What I would mainly require would be, ordered by improtance:
- Portable across the top three OSs: Windows, Linux and OS X
- Lots of good libraries available, raging from file and directory manipulation to database access. GUI is not needed, though networking might be (download some stuff via FTP or HTTP). A big plus would be ability to natively checkout a Subversion repository.
- Good community support is required. Both Python and Ruby are excellent in this area.
- Extendability: if there is no good library available to do something, how easy is it for me to implement one or to use a native solution (execute a program, call a native function).
- Ease of deployment: how easy is it to get up and running on Windows (XP & 7, Server 2003+), Linux (CentOS 5.2, Ubuntu & Ubuntu Server 8.04+) and OS X (10.5+).
- Easiness of learning. While all scripting languages are not hard to learn for any programmer worth his salt, I'm interested in one that's rather quick and easy to learn.
That's all I can think of for now. I have reviewed Python and Ruby; Python satisfies all the requirements, and Ruby seems to as well, though I am not sure about ease of deployment on Windows and the availability of libraries. However, I am also looking for your experiences with using this sort of scripts written in the language of your choice.