[Ilugc] Python and Ruby Frameworks vs Statically typed languages

  • From: prem@xxxxxxxxxxxxxxxx (Prem Kurian Philip)
  • Date: Mon Jul 17 13:22:59 2006

But, the point of Rails (in some ways, Django too - just not to be
partial) is the tremendous increase of programmer productivity it gives
versus, say J2EE. I've been a Java/J2EE fanboy before, worked on open
source frameworks like Struts & Spring, so I know the pain (in
hindsight).

I agree with you that these frameworks are far simpler to use than J2EE.
However, one of the problems I have noticed with these frameworks has
nothing to do with the frameworks themselves but rather with the
dynamically-typed nature of Python and Ruby which makes it very difficult
to catch some errors.

For very large applications, it is best to use a language which does not
have dynamic typing turned on by default.

There are ways of getting around this limitation ofcourse - such as
writing a whole range of unit test scripts for each and every aspect of
the solution. But in my experience, that is easier said than done because
it is almost impossible to unit-test some blocks of code such as UI
handling code.

Also, if I were to use unit-tests to get around this problem, it is in
anycase just a work around to a problem with the platform. This problem is
perhaps more elegantly solved if Python / Ruby includes a run-time switch
which turns of dynamic typing (but this will require fairly extensive
changes in these platforms).

I use statically-typed languages for coding for the same reason I set the
compiler preferences to display even very minor warnings when I develop in
C/C++; it is best to catch variable type errors at compile time rather
than at run-time.

Thanks,
Prem Kurian Philip




Other related posts: