"Premature optimization is the root of all evil." -Larry Wall, creator of PERL

I got a mail from Gent, my boss, reminding us (all developers at nSoftware) about the evils of optimization. The quote is originally attributed to C.A. Hoare, restated by Knuth, and I guess restated by Larry Wall. It reminded me of a bunch of quotes on Perl …

"Perl is the only language where you can bang your head on the keyboard and it compiles."
-anybody who has programmed more than 100 lines of perl can attest to that.

"Normally, Perl minds its own business about your programming habits."
Chapter 4 of Programming Perl

A good language should try (and I mean real hard) to make some sense of anything thrown at it and should not dictate programming style. Leave the readability, maintainability and all the other ..ilities to the programmer, sometimes we are high on weed, on most other occasions we know what we are doing.

A good example of this approach is the private members in python and perl, they are inaccessible by style and convention (they are named a certain way, and its uncool to access them from outside the class), not enforced by a NAZI compiler.

"Just because there’s more than one way to do it doesn’t mean that all ways are equally cool."
Learning Perl, Ch. 16

The compiler does not enforce indentation or naming conventions; I have seen few badly indented programs with bad variable names. It’s simply not cool to do so.

"Is there an ISO or ANSI certified version of Perl?"
Certainly not. Larry (Wall) expects that he’ll be certified before Perl is.


Compare the IEEE specs with RFC’s. The former precise in their language, incomprehensible in their intent, the latter scattered with inaccuracies (“MUST NOT”, “SHOULD NOT” etc), yet easy to understand. Loose standards are good they foster interoperability; albeit with hacks. Rigid standards, even though precisely defined are evil.

"Many people, when confronted with a problem, will think, ‘Ah! I’ll use a regular expression!’ Now they have two problems. And then they think "Ah, well I’ll just read the documentation", and then they have three problems."

“Let’s say the docs present a simplified view of reality… -)
-Larry Wall

Documentation is simply a crutch holding up a lame API. Intellisense is the most documentation you can afford and for some of us (vi and emacs people) even that is a stretch. Why can’t you simply read my mind?

About amit

I was born in Kanpur, India in 1977. I did my schooling partly in Kanpur, Surat and Udaipur. I spent most of my schooling years in Udaipur in a boarding school. This was the most enjoyable period of my life predominantly because I made a lot of friends and played a lot of football (my first love). My school years brought in a sinking realization that I was good in academics, average in football [even after my most sincere efforts :( ] and to put it euphemistically 'artistically challenged'. Hence cool careers in photography, sports, art & design or music were all beyond me. I took up what I could do best, and enrolled for engineering at Nagpur University. College brought its own pleasures, I had my share of beers, bunked classes, read the 'Bhagvad Gita', learned yoga and picked up love for traveling. After graduating I was one of the lucky few to get a great job at Infosys Technologies. The best thing I got from my first job - my Yamaha Rx 135. There were not many weekends when I did not explore places in and around Bangalore on it. In two years though my desire to pursue further studies caught up with me and I enrolled for a M.S in Computer Networking at North Carolina State University. Here I picked up basketball, love for stand up comedy, liking for the 'other football' and offcourse a little bit of computer networking. I graduated in Dec 2002 and am currently working for /n Software. I am slowly evolving into a die hard Linux and Open Source enthusiast, trying to pick up skydiving, biking, running and photography. Some might call that progress. :)
This entry was posted in Uncategorized and tagged . Bookmark the permalink.

Leave a Reply

Your email address will not be published.

To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Anti-spam image