Outer Web Thought Log
June 06, 2003
On dynamically vs statically typed languages
Yesterday over lunch, we indulged in a discussion about the need for defensive programming and whether strong typing in Java still offers many advantages over loosely-typed programming languages such as Python, in your typically ReSTy multi-tier loosely-coupled XML-centric application. I was definitely sitting on the other side of the fence from Marc and Bruno, and due to their combined brain mass, I knew I really shouldn't try to convince them when not coming up with some real arguments. Surprisingly, this morning my RSS aggregator brought me, via Sean, to a nice article on Artima from Robert Martin, with a very interesting discussion following up. Grin. I'm starting to believe that XML, which is used quite often as a loose interface definition, will slowly help people to shift away from the stereotypical defensive programming approach, as John has been advocating for quite some time. After Michael's great XMLQuery talk earlier this week, I was chatting with him on the requisite of using XML Schema if you really wanted to benefit from all new language aspects in XSLT2 and XPath2. Although he pointed out that people do need to use some form of schemas anyhow if they want to store data into a database efficiently, I'm still convinced that schema-less XML is still in heavy use.
Posted by stevenn at June 6, 2003 10:45 AM ()

I have been feeling a growing restlessness about people I respect a lot switching from java to python for more and more parts of their systems.

This affects my self assurance as consultant (am I making the wrong advice to my customers? am I missing a train?). With java I saw the light, it was a radical vision. C, C++, no more.

Seeing your entry and 2 level of links around it, I notice that I should bit the Unit Testing bullet first. I have not yet taken it seriously, just used the unit tests in place or adding here and there a new case. I mean, I do advice Unit Tests, I use them. But I have failed yet to see them as so rewarding. I bet it is because I'm working in more or less mature projects, and, in java, Unit Tests add to the build-bloat I'm facing.

I think I will not get it until I start a new project or extend significantly an existing one, with lots of new code.

I buy more the 20.000 lines argument of John. My lemma in the last year has been "I want the same functionality with 30% less code", and now I see why. I need mind share for starting new things. :-)

A pitfall may come: I fear a lot of the application programmers I'm seeing around in java would manage to spoil/fake Unit Tests and create interesting new breeds of runtime errors if they used python, perl or ruby. Unless Unit Tests are seriously peer reviewed.

Posted by: Santiago Gala at June 6, 2003 08:56 PM