Who's minister of propaganda this week?

Cameron Laird claird at starbase.neosoft.com
Wed Mar 14 17:28:26 CET 2001


In article <98nu1m$12e at dispatch.concentric.net>,
Phlip  <phlip_cpp at my-deja.com> wrote:
			.
			.
			.
>Robert C. Martin meant two things. A> If you write wall-to-wall unit tests 
>when you code, if you use a typeless language you will add bullet-proof 
>features faster than if you use a statically typed language, even though 
>the former has less built-in error checking at type conversion time. The 
>latter supports refactoring easier.
			.
			.
			.
Along with this, there's an important *empirical* aspect
that I regard as inadequately appreciated.  Uche recently
expressed it this way:
  Type errors are not even close to the majority of
  those I make while programming in Python, and I'm
  quite certain that the code I've written in Python
  is much less buggy than code I've written in
  strongly-typed languages.  Expressiveness, IMO, is
  a far better aid to correctness than artificial
  restrictions (see Java for the example of school-
  marm programming gone amok).
It's OK to think, "gosh, with strict typing we save errors,
and with Hungarian notation we save errors, and ..."  We've
done enough experiments by now, though, to convince at least
me that it is exactly true that
  Expressiveness ... is a far better aid to
  correctness ...

I leave to another time fine points about how there are more
advanced systems of strict typing (Dylan, for example), and
about other dimensions in which managerially-accepted languages
differ from Smalltalk, Python, and Ruby; I just want to empha-
size for now that, among the few reasonably certain results
Software Engineering has given us, the dominance of expressive-
ness is one of the most important.

Myself, I prefer to "write wall-to-wall unit tests" *before* I
code.
-- 

Cameron Laird <claird at NeoSoft.com>
Business:  http://www.Phaseit.net
Personal:  http://starbase.neosoft.com/~claird/home.html



More information about the Python-list mailing list