While the rigor of static typing does enforce a strictness that is useful for keeping large codebases manageable, this rigor is to some extent the cause of the large codebase. In other words, I'd rather be maintaining a large codebase in a statically typed language (e.g. Java), than a dynamically typed language, but I reckon that the size (in terms of LOC) of a standard Java webapp could be reduced by about 30% by rewriting it in Groovy, Rails, etc.
I've read the blog entry. Unfortunately, the reasoning is too linear.
Less code therefore less complexity.
Less code doesn't imply less complexity. The whole idea of refactoring is too continuously reduce entropy. As a result of refactoring, one can lead to more code, however the additional structure leads to easier maintenance.
Imagine if Eclipse was refactored to a single monolithic code base. I believe it would have less code. Unfortunately, it's extensibility would be compromised and therefore would not achieve it's goals of supporting a community of developers.
How are dynamic languages shorter than static?
Posted byAnonymous Userat
2008-01-21 01:49 AM
Groovy:
class Person {
String firstName, lastName
}
Ruby:
class Person
attr_accessor :fname, :lname
end
How is the Ruby version shorter than the Groovy version?
http://steve-yegge.blogspot.com/2007/12/codes-worst-enemy.html
Less code therefore less complexity.
Less code doesn't imply less complexity. The whole idea of refactoring is too continuously reduce entropy. As a result of refactoring, one can lead to more code, however the additional structure leads to easier maintenance.
Imagine if Eclipse was refactored to a single monolithic code base. I believe it would have less code. Unfortunately, it's extensibility would be compromised and therefore would not achieve it's goals of supporting a community of developers.
class Person {
String firstName, lastName
}
Ruby:
class Person
attr_accessor :fname, :lname
end
How is the Ruby version shorter than the Groovy version?
Peace
-stephan
--
http://stephan.reposita.org
Replies to this comment