Joel Spolsky yet again seems to divine whats in my head and articulate it ten times better than I could, when talking about what programming language you should use for your development project.

When I started Secantus (now PutPlace.com) at the start of this year we had several candidates for development,

  • C#/.NET
  • J2EE
  • PHP
  • Ruby on Rails
  • Python
  • Perl

We had a few constraints and some previous knowledge that allowed us to make some rapid eliminations.

  1. We wanted tight integration with the local file system (Windows, OS-X and Linux, and mobile phones to follow)
  2. We wanted to produce a downloadable component that ran on the users local system
  3. We wanted a good set of infrastructure libraries so we weren’t constantly reinventing the wheel
  4. We wanted to make sure to choose a technology that wouldn’t have investment partners spitting the dummy

Tight integration ruled out Java due to its execreable I/O libraries. .NET fell at the OS-X hurdle. PHP is really only suitable for webside applications and even then its dire for writing daemons. Ruby on Rails was a contender, but its just a little to immature and still reeks of its UNIX/Linux heritage. Perl I like personally, but the OO support is pretty awful and the risk to a project while they have the engine out on blocks building the next version of the language was too great.

That left Python, Python! I hear you say? Well the language is nearly 15 years old, its got the sweetest syntax, great platform support (including Nokia phones), wonderful infrastructure libraries and a Rails like environment in Django.

We’ve been using it for 6 months now and are very happy with it. I expect to incur some recruitment costs in converting existing Java/.NET programmers to the language, but this is a small price to pay for the flexibility and portability that Python buys.

Nat Torkington gives the low on some developments in Ruby on Rails. He also has some words with Mr. Django.

Check out this HTML table generator from Blended Technologies. I’ve struggled with the problem of inserting tables into Wordpress recently and these seems to solve the problem perfectly. It’s a webpage where you populate a table of data and then click a button to generate super clean HTML that can be pasted into your wordpress editor window.