The Artima Developer Community
Sponsored Link

Java Buzz Forum
No free lunch for programming libraries

0 replies on 1 page.

Welcome Guest
  Sign In

Go back to the topic listing  Back to Topic List Click to reply to this topic  Reply to this Topic Click to search messages in this forum  Search Forum Click for a threaded view of the topic  Threaded View   
Previous Topic   Next Topic
Flat View: This topic has 0 replies on 1 page
Bill de hÓra

Posts: 1137
Nickname: dehora
Registered: May, 2003

Bill de hÓra is a technical architect with Propylon
No free lunch for programming libraries Posted: Mar 30, 2008 6:48 AM
Reply to this message Reply

This post originated from an RSS feed registered with Java Buzz by Bill de hÓra.
Original Post: No free lunch for programming libraries
Feed Title: Bill de hÓra
Feed URL: http://www.dehora.net/journal/atom.xml
Feed Description: FD85 1117 1888 1681 7689 B5DF E696 885C 20D8 21F8
Latest Java Buzz Posts
Latest Java Buzz Posts by Bill de hÓra
Latest Posts From Bill de hÓra

Advertisement

Robert Fischer has a bad day with REXML: "In this language core library, both versions are broke! The solution is for me to reach in and make a change to the core library so that we avoid a null. In the standard Ruby deployment, using the standard core XML processing library, there is no way to write out XML. It is impossible because of bugs in the library.

The worst part?

THAT STUPID BUG IN THEIR CORE LIBRARY WOULD HAVE BEEN FIXED WITH STATIC TYPING. Even more if you have a type system which can check nulls for you."

I think it would be unfair to paint Ruby with REXML's brush. Even if static typing would fix some problems, I can't imagine Rails built on a language with a static type system. As we'll see in a minute you can write a good XML library without static typing. According to DHH "I think Rails feels, smells, and tastes like it does exactly because its very Ruby-like". Now the dilemma:

"I’ve cut Ruby on Rails a lot of slack, because the bugs and the awkwardness are the price that you pay to hang out with the beer-swilling hipsters that make out that community and roll with the rapid rate of development. And, really, it is the best web framework I’ve dealt with, mainly because it provides the most comprehensive and extensible set of functionality of any framework, and it’s got a solid community to back it up."

Fwiw, this is the reason I default to Django - similar to  Robert's experience with Rails, I find it provides a comprehensive and extensible set of functionality, and it’s got a solid community to back it up. Plus it's fun. Django is written in Python and Python's libraries tend to be well baked. In particular there are ones outside distro that rock. If there's a better XML lib than Elementtree, I don't know what it is. If there's a better httplib than httplib2, I don't know what it is. PIL. Feedparser. BeautifulSoup. Numeric. And so on. I guess I'm lucky in my choices.

It can take a few attempts to get the design of libraries right - going back to XML for a second, look at how long it took to get to XOM and XStream in Java (neither of which are in the JDK). Embedding libraries with immature designs, usually due to reaction to industry trends, has been a problem for the JDK. Once a lib ships in that core it's very hard to root it out. But when you look at search and megadata problems, no community has anything comparable to mg4j/lucene/hadoop. I remember a time when Python's XML support was up in the air and Unicode was "up the BOM". Python still has problems with installation, whereas Ruby has gems

That said, library problems are transient problems. They can be fixed.

Read: No free lunch for programming libraries

Topic: BearStearns Effect-StartUp engineering Previous Topic   Next Topic Topic: If it's shady or underground, it's thebroken

Sponsored Links



Google
  Web Artima.com   

Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use