I cannot believe nobody has yet to recommend Perl.
A lot of the transition will be natural, and you'll discover an improved architecture and support network than you are used to.
Not only will you be likely to love it, you will be likely to want to get the rest of your staff on the bandwagon too, and then you'll be able to write better code and write less of it, because of beloved CPAN which has solved all the hard problems for you.
Take for example this library I used yesterday:
WWW::Google::SiteMap
Trivial to install, simple, does exactly what you want, does what it says on the box, and you're doing stuff in only 10 lines of code that you would have previously done something godawful like using a template engine or writing a hundred lines of string-glue to get it to do the same thing.
And there are literally thousands of simple modules all as pragmatically practical as that one.
When you don't have to spend so much time solving solved problems, you can spend more time focused on Getting It Done.
Not A Minority
And Perl is not small-fry either. Sure, there are lots of websites running PHP, but there are lots of HORRIBLE websites running PHP. Many of which still tell you its php with the well recognised
foo.php?bar
In the url. You probably don't realise how prolific Perl is on the web in real practice, because its everywhere, and they've known about hiding extensions for so long we've more or less forgotten there are extensions in some URLS.
Examples: Amazon, BBC, Slashdot.
Ironical Examples
Many PHP distributions of libraries/tools still come with install scripts and tools written in Perl.
##PHP @ freenode has its channel bot written in Perl.
PHP itself recently lamented that they might want to stop writing their revision control maintenance scripts in Perl. ( Yet another bad decision methinks, .. they're going to Python if I read correct. )
Features you want to try
- Namespaces:
- Today
- With a namespace delimiter that Isn't horrible
- Closures
- Begone
require
- No more
require_once(dirname(__FILE__).'/../../' )
in every file.
- Awesome code modularity
use Foo
= You have the file, and you can access things in it.