Flon’s Law and Ruby

Today I read an article by Zed Shaw about the strengths and weaknesses of Ruby, part of a series of similar articles about several dynamic languages, each written by an appropriate expert.

Most of it was just as you’d expect: a description of the Ruby landscape, and the places it works well. But buried here are there are one or two comments that just make no sense whatsoever.

This line seemed particularly wrong:

you have to try to do something evil in Ruby.

Uh, what? Good code requires careful thought, whatever language you’re using. There is no magic pixie dust sprinkled over Ruby that somehow exempts it from that.

That principle is well enshrined in programming folklore. I can’t find out who the Flon in question is or was, but a pithy summary is expressed as an apparently-eponymous law:

Flon’s Law

There is not now, and never will be, a language in which it is the least bit difficult to write bad programs.

I’m perfectly willing to stipulate that Ruby encourages programmers to write clean, simple code. But that’s just encouragement, not enforcement, and there’s a lot more to writing good software than keeping your code clean.

Zed continues:

Perl developers have to try to write good, readable code.

It’s hard to tell whether this is deliberately incendiary (what the internet people might describe as “trolling”), or whether it really is the genuinely-held but ill-informed opinion it appears to be. But I think it would be a hard position to defend either way.

Update, 2013-08-21

Tim Rentsch has emailed to let me know that this is one Larry Flon, who did his PhD at CMU in 1977. Thanks for the information, Tim!