Tuesday, April 17, 2012

The Future of PHP, Ruby, and Esperanto

A few weekends ago I traveled down to Richmond, Virginia, for Urba Semajnfino 2. It was my first Esperanto gathering, and it was a great opportunity both for a vacation and a chance to use Esperanto as a real language as opposed to just a study hobby. Afterwards, In the midst of the post-vacation blues that followed my return, I found myself thinking about the future of Esperanto, PHP, and Ruby.

I've said before that Java is the new COBOL -- a lot of legacy code has been written in Java and still needs to be maintained, but "fresher" languages are increasingly considered when it comes time for new development. We've witnessed the increasing acceptance of PHP in enterprise environments which were predominantly steeped in Java in only a few years ago. And now that PHP is a mature, "grown up" programming language, I admit it's a little less fun to program with as it used to be. PHP is the new Java, and in 10-years time it may be the new new COBOL.

A need or a different perspective bring about a new programming language, the language gains a following if it's fun to use (or if there's an obscene marketing budget behind it), it's accepted by the enterprise community which saps all the fun out of it with bloated frameworks, unit test requirements, etc., and then it dies a slow, languishing death. Perhaps this is the natural life-cycle of programming languages.

If PHP is the old language on the block, then who's the new kid? I'd have to say Ruby. Perl's hayday has come and gone, and Python isn't hipster enough. And if I'm right, then my 2-cents worth of advice to Ruby is this: Don't worry about being enterprise worthy; measure your success by the fun you have as opposed by some enterprise-market penetration statistic.

I think the best thing that could happen to Ruby is that it stays a tool that inspires creative coding and a vibrant community of users. COBOL was popular in enterprise, and now it's dead. Java was popular, and now it's dying. PHP is popular, and now it's visibly ailing. Forget about what the industry thinks and just enjoy yourself!

I think the same applies to Esperanto, too. Right now it has a wonderful community of enthusiastic speakers around the world, but it would be impossible to maintain that atmosphere after Fina Venko. I worry that becoming an "enterprise worthy" every-day international language would strip Esperanto of one of its most special traits, its passion.

I had a discussion during that weekend with a fellow Esperantist about various words we didn't like. I don't like datumbazo, the Esperanto word for database, because it's too literal (datumo - data, bazo - base). A more Esperantic, and thus more "appropriate" word in my opinion, would be datumujo (literally meaning a container of data). The word would be in good company; monujo is wallet, fi┼Łujo is a fish tank, and Anglujo is England (a "container of Englishmen")! My new-found friend was irked by the word futbalo, the word for American football. If you tried to break the word into parts you'd get futo - foot/12-inches, and balo - ball/dance... a 12-inch festive dance event? Usona piedpilko would be more appropriate, he felt.

Such a discussion probably strikes you as odd, but then again you're probably not an enthusiastic Esperanto-speaker, are you? Such discussions are the norm in Esperantujo. When something becomes commonplace, there will non-enthusiastic people and those who care at such a deep level will be seen as the minority; many people would use Esperanto but have no vested interest in it.

The bottom line is this: It's hard to get people excited about a programming language when all they are using it for is to push bits, add/subtract bank account figures, etc., just as it's hard to get people excited about new words when all they're going to do is use it order a hamburger. PHP is more successful than Ruby in terms of enterprise-market penetration, but what about programmer satisfaction? English is more successful than Esperanto in terms of speaking-population, but what about a passion for friendship, respect, and the exchange of ideas? Which of those metrics really define success?