Channel Insider content and product recommendations are editorially independent. We may make money when you click on links to our partners. Learn More.

Partisans of object-oriented programming, often including myself, often say that the only proper programming model is one of data structures with bundles of associated methods wrapped around them. Yes, algorithms are fascinating things, but ultimately any application that’s not just part of someone’s doctoral thesis is going to do something to something else.

Mere data-centric advocacy falls short, though, in a world of
massive data collections and the need for persistent storage. Even the
casual user who actually knows something about files, instead of being limited to application-imposed abstractions of “documents,” has a big edge on fixing things when they break or on creating new capabilities as needed. The higher-level developer concern is to make sure that data has a safe place to live, and that means a robust (and preferably high-performance) file system—but the file system is the most
neglected element of developer education
, and that should change.

I got to thinking about file systems’ importance with the news late last week of MacFUSE, a Mac OS X version of the open-source FUSE toolkit for implementing file systems in a user space—pulling file system conception and construction into the space of a developer’s options, instead of being the kind of chunky decision that only comes at the level of choosing an entire operating

Developers have had some real disappointments in the area of file systems during the last few years: WinFS, which would have given developers a powerful new set of levers for manipulating stored information, disappeared from Vista in August 2004 and fell off Microsoft’s product road map almost entirely last June. I’m sure that many developers were dismayed by this lost opportunity.

As with so many other aspects of current IT, though, FUSE in general
and MacFUSE in particular offer developers more ways to package a complete stack of technology in a way that ideally serves an application’s needs, instead of making do with the general-purpose but often unsatisfactory Swiss Army knives of mainstream operating system environments.

Normally, I close with an invitation to you to send me your comments at
This is, however, the last of these newsletters that will come out
under my name, at least for quite some time to come, and I’m not sure
how much longer my address will be operational. Inquiries concerning coverage of products by eWEEK Labs can go to Labs Director Jim Rapoza; personal
comments to me will reach me, at least for a while, at a temporary mailbox that I’ll probably maintain until the end of March 2007 or thereabouts.

Thanks for being a reader.

Check out’s for the latest news, reviews and analysis in programming environments and developer tools.