On Mar 20, 2006, at 12:24 PM, Bryan Sant wrote:


As far as java being verbose, it's about on par with object-oriented
C++ code.  You'll never have a type-safe language that's as compact as
a dynamic language because you're always declaring types.  It's a
trade-off.  However, with a modern IDE, the task is trival.  And you
make up any time that may have been lost (I don't believe that any is
with an IDE), by avoiding many runtime errors that the compiler finds
for you.  As well as avoiding the need to write hundreds of unit tests
that do little more than validate type-safety because your dynamic
language of choice doesn't do so.

So, actually, when you factor in the time to write type-safe-ish unit
tests for your ruby or python project, you're actually more verbose
than Java.

Although I agree that the amount of time that it takes to enter type annotations is not really significant, that's not really the point. For some tasks, working around the type system takes a significant amount of extra logic. Witness Design Patterns, a significant number of which are methods of doing things in statically-typed languages that require no extra thought in dynamically-typed languages. IDEs don't really do anything to alleviate this.

And another point: statically-typed languages in the ML and Haskell families are often more compact than dynamically-typed languages. Types are (mostly) inferred, so there are very few type annotations in the code. There is also special syntax for pattern matching that makes for very succinct code in situations where it's useful.

The verbosity of a language is not inherently tied to its type system. It only seems that way because of the current crop of languages in the mainstream. The choice of dynamic vs. static typing ought to be made on its own merits, and both are appropriate in different situations. The ability to create powerful abstractions (and thus write succinct code) is almost always a win, though.

                --Levi

/*
PLUG: http://plug.org, #utah on irc.freenode.net
Unsubscribe: http://plug.org/mailman/options/plug
Don't fear the penguin.
*/

Reply via email to