This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: On wrongs and rights
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.
Since Oliver already points out weaknesses in any one of the scenarios, there is no point attacking them individually. I cannot argue against the whole because I don't see a complete equation that can be analyzed. But I will point out some glaring problems he's passed over.
Documentation Providing f(a: String, b: Integer): Boolean rather than just f(a, b) is a weak argument. What are f, a, and b? Those names, well chosen, will tell me more than String, Integer, or Boolean. Moreover using Smalltalk's keyword syntax you have even more expressiveness than this Pascal style.
Early error detection Test-driven development eliminates the gap between coding and testing. There is no "earlier" time for detecting type errors.
Discouraged from writing tests If your language is so bad that programmers are discouraged from writing tests, my friend, well, type declarations are not going to make up the difference.
I don't really buy Oliver's arguments either. As Patrick says, he lists a bunch of drawbacks of static typing, and then somehow claims that all those negatives add up to a positive. He better have an even number of negatives, and be using multiplication...