This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Re: Exploration and discovery
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
I posted on an earlier post by Jon here - and today he follows up with an interesting explanation of why static typing advocates distrust dynamic languages - a lot of it is based on extrapolation from Perl:
In this discussion, Perl is a red herring in more ways than one. First, there's the ongoing confusion between two axes of typing -- strong versus weak, and dynamic versus static. For example, both Perl and Python are dynamic, in the sense that you need not declare a type when first assigning to a variable. But while Perl's typing is weak -- you can just assign a date to a variable that holds a number or a string -- Python's is strong. Once a variable has a value, Python cares very deeply about what its type says that thing can or can't do. Bruce Eckel's assertion to the contrary raised hackles in the Python community. Dynamic typing and strong typing are orthogonal.
But there's another sense in which Perl is a red herring here. Perl isn't interactive in the manner of Python -- or, for that matter, VB6 as compared to VB.NET. Those who have resisted adopting VB.NET have sometimes been characterized as knuckle-scraping Neanderthals who must be dragged kicking and screaming into the modern OOP era, or else left behind. But while the .NET Framework has much to offer, I think the VB6 crowd are right to demand a more interactive way to use it. As programming increasingly relies on external services and alien environments, it becomes as much a game of exploration and discovery as of design and specification. I think dynamic languages and interactive programming environments help make us better explorers and discoverers, and I think that's only going to matter more as time goes on.
This is a good observation, and I think he's on to something - a lot of people assume that static = strong, and dynamic = weak. No matter how many times we point out how wrong that is, a lot of people just don't get it. In a way, it's almost reassuring that Python developers are getting the same misconceptions thrown at them that we've endured for years - because everywhere you see 'Python' above, you can slap in 'Smalltalk'.