This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: How do they manage?
Feed Title: Cincom Smalltalk Blog - Smalltalk with Rants
Feed URL: http://www.cincomsmalltalk.com/rssBlog/rssBlogView.xml
Feed Description: James Robertson comments on Cincom Smalltalk, the Smalltalk development community, and IT trends and issues in general.
In looking over my work on BottomFeeder over the last year, I'm curious about something - what do developers using other languages do about limitations in their base libraries? No base library - not the one in VisualWorks, not the Java libs, not the .NET stuff - is ever without warts, limitations, and bugs. In VisualWorks, I have a number of possible ways to deal with that:
I can create my own replacement for a library component
I can override/extend/fix the component with problems
Let me explain what I mean. I use the base VW XML Parser to create documents from RSS feeds, and then use some XML to Object code that Dave Murphy created (and I've extended over time) to create domain objects. The XML parser, as shipped, will throw exceptions on invalid documents. Regardless of how you think XML ought to be, when an end user wants to see content, the fact that the feed is "broken" doesn't matter a whole lot - the software should deal with the problems as best it can. In VW, I can modify the base system libraries (and version my modifications separately) to suit my needs - so instead of bailing on bad documents, the parser instead moseys along. I guess my question is, how do you deal with that in languages where changing the base libraries is not a possibility? And bear in mind, my XML library thing is simply an example - I've done the same thing here and there with other parts of the system.
Do other developers create their own replacement libraries? How do Java and C# developers deal with system libraries that don't suit their needs? I'm curious.