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.
portage for Mac OS X
[ via the Gentoo Weekly News ]
The Gentoo project has ported their Portage package manager to the Mac and released Gentoo Mac OS. It will be interesting to see how this interacts with the previously announced MetaPkg project.
I've tried both fink and darwinports, and had trouble with both (mostly when trying to get a decent subversion that didn't also require me to override Apple's Python). I wonder if Gentoo Mac OS will be any better in this respect.
[22:23] |
[computers/operating_systems/macosx] |
# |
TB |
F |
G |
2 Comments |