| The Perl culture is very much "Wild West" meets the race to space. It's a language for people who are comfortable enough around theory that they don't need syntax to force them to use it. At the same time, it's highly evolutionary -- it supports the fastest, dirtiest, hackinest method of getting to the goal -- and thus has prototyping built in to production. I often write Perl scripts twice. The first is a tape-up job to "git 'er done" and the second is a more elegant and architected approached. This method matches the configuration of most jobs. The client doesn't (fully) know what they want. Last-minute, world-bending exceptions arise. Well-intentioned schemes gang aft agley. With this prototyping-production, I'm able to get something up and working, and can fix it later if the client has foresight. Theory is great. I am the first to defend theory. But if it doesn't correspond to application, there's another word for it: arbitrary. (You may note the difference between two predominant value systems illustrated in that sentence.) |
I was used to take a problem of a certain size, sit down and think for a while. Then code C for maybe 3 to 10 days.
When I did a similar problem in Perl, the time to think for a problem of that size was longer than the time to throw a solution at the wall! You could design using code, then refactor/rewrite if it got too bad.
Best of all: So much more fun.