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 thats not just part of someones 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 developers options, instead of being the kind of chunky decision that only comes at the level of choosing an entire operating system.
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 Microsofts product road map almost entirely last June. Im 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 applications 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 email@example.com. This is, however, the last of these newsletters that will come out under my name, at least for quite some time to come, and Im not sure how much longer my ziffdavis.com 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 Ill probably maintain until the end of March 2007 or thereabouts.
Thanks for being a reader.
Check out eWEEK.coms for the latest news, reviews and analysis in programming environments and developer tools.