Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Sun, 25 Jul 2004
Is the language the only problem?
Tim Bray observed some nasty code that he had to write for his Zeppelin project:
[22:31] |
[computers/programming] |
# |
TB |
F |
G |
0 Comments |
Another routine in the grotty underbelly of Zeppelin does a bunch of file/directory maintenance: create a shadow directory tree if it’s not there and copy a bunch of files selected by extension hither and yon. I’m sure programmers will still be writing this kind of code when I’m a hundred years in the grave. Well, Java is really not the right tool. What would have been a few lines of straightforward Perl turned into half a dozen klunky-looking Java methods. If I’d been able to rely on Jython just being there and in my IDE, I would have come out way ahead. Fortunately, I think we’re going to fix that one.Tim concluded that the language (Java in this case) was to blame. Much as I love dynamic languages, I don't think that the problem here was exclusively the language. The design of the accompanying libraries is as much to blame as anything else. The Java libraries are full of good object-oriented design - small methods that do one thing, tons of getters and setters. Unfortunately, this style of design tends to overlook actual use cases of the code. So tasks that could be done in a few lines of code end up taking many lines of code. Of course, all of this sort of thing is influenced by the language.
You can subscribe to an RSS feed of the comments for this blog:
Add a comment here:
You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk