There's a lot to be said for dynamic languages. With Ruby, PHP, Python, and the rest of the gang, developers can write less code, and sometimes end up with some pretty nice looking code too. I've tried my hand at some PHP, and I must say that PHP arrays really cut down on the keystrokes compared to Collections in everybody's favorite punching bag, Java. But how long can this warm-and-fuzzy feeling last?
Automated refactoring, though theoretically possible with the dyna-gang, is a lot tougher for IDEs to implement and much more limited. After my first many-minute long PHP method rename, my coding got a lot slower when I decided to stew over method names -- with the intention of picking method names I wouldn't need to rename. Oh, and the names of those already-written methods that weren't quite right? As much as I'm tempted to open up the sed man page, those method names are going to stay not quite right.
One could fault my choice of IDE (Eclipse), but the problem still remains: automated refactoring is inherently limited for dynamic languages. There's just less for a compiler/IDE to go on.
So how far can you go with a dynamic language? At what point does the friction slow you down to Java speeds? What's the dynamic language terminal velocity?
Posted by Ken Koster at March 27, 2008 10:58 AM
TrackBack URL for this entry: