A dynamic languages canard

It was a nice zinger several years back, it's lingered on for the last few years, and, in 2010, it's tiresome and needs to die. The latest occurrence is in Alex Russell's otherwise-excellent post, "View Source is Good? Discuss.":

"This is a stark contrast with other types of development, notably those that impose a compilation step on development, in which the process of seeing what [was] done requires an intermediate action."

If you read the tubes, you'll see this idea repeated, that a big advantage dynamic languages have over static languages is that they simply remove the compilation step and you end up being more productive as a programmer. Some latency gets eased out of the system and you can remain in that wondrous state of "flow" (man, I hate that word; psychologists, is there a better word for focused attention than "flow"? I'd really like to use it if there is one. I hate it almost as much as "energy" when used to describe emotional states and/or personal vigor, e.g. "this room has so much negative energy", "yoga fills me with positive energy"... really? how many joules worth? you have a keen sense for and the ability to exploit ionization? Maybe you should give Prof. Xavier a call. But I digress...).

In 2010, if compilation is slowing you down, it's not the language's fault: it's your's. Your build sucks, or your program's architecture sucks, or maybe your libraries suck, or your tooling sucks. Go watch the Go video. Install ccache. Learn how header files and the preprocessor works. Heck, sure, go off into rubyland and not deal with it; but assign the blame appropriately.

  • Python: rocks!
  • C++: also rocks!
(Does that blow your mind? That just happened!)

Is typing "make test" really all that different from having to reload page source?

No comments:

Post a Comment