mnot’s blog

Design depends largely on constraints.” — Charles Eames

Tuesday, 20 April 2004

Protocol Design Python Web Services

Sean’s Words of Wisdom

Sean McGrath always has carefully considered positions, and he hits it out of the ballpark with this one. A few thoughts;

Eventually though, to fully realise RESTian SOA we need to get linguistic determinism working for us, not against us. To do that, we need to bake key SOA distributed computing concepts right into the language.

Surely you mean that we should bake in REST, no?

In the case of the all important concept of dynamic typing, this means we need to take dynamic languages like Python, Ruby, Smalltalk as our starting point. We need to relegate the wilful act of compilation to a deployment-time optimization — not (as it currently is) a central tenet of the programming model.

Ah, Sean, you had me at “Python.” This is a sentiment that I’m hearing from many different directions; it looks like the world is slowly catching on that compile/debug isn’t such a great way to do things, and that static typing isn’t the only path to good code.

One Comment

Winter said:

While I certainly agree with the sentiment, it seems to me that incrementally-compiling, refactoring IDE’s (like Eclipse) give you the best of both worlds.

Being able to refactor easily alleviates much of the rigidity of a strongly typed language - without forfeiting the benefits of strong typing.

Incremental compiling makes the compile step largely invisible.

Add in code-complete, etc, and the differences become less abject.

When it comes to productivity, you need to look at the whole equation of Language + Tools.

Tuesday, April 20 2004 at 10:58 AM