FreeBSD Most wanted

Daniela dgw at
Thu Mar 4 13:46:47 PST 2004

On Thursday 04 March 2004 20:54, Willie Viljoen wrote:


> What really needs to happen is that old hat software developers need to
> catch up with the times. Developing cross platform software that will work
> on many UNIX platforms, and on Windows, even Macintosh, without major code
> rewriting or great cost has long been possible. Developers mostly just
> ignore this possibility because they generally refuse to change to newer
> ways of developing software, which involve designing applications, from the
> outset, to be easily portable. The only thing needed for this is the right
> attitude.

Cross platform applications are slower than apps that are optimized for one 
particular platform. I know what I'm speaking of. What are the extended 
features of a platform good for, when you can't use them because another 
platform doesn't have them?

> There is an excellent case in point for development of cross platform
> capable software. The ease with which the computer gaming industry can port
> new titles between the traditional Windows PC platform, UNIX-based PCs and
> the numerous game consoles on the market demonstrates the effectiveness of
> cross platform designed software. In many cases, where the developers took
> the short extra time to write a proper abstraction layer for the game, a
> plug-in need only be developed for the abstraction layer that allows it to
> interact with which ever API is available on the target platform.
> Large game developers these days are finding it easy to release games that
> run on pretty much anything. Instead of writing the game to interact
> directly with an API, it is written to interact with an abstraction layer
> providing all the functionality the game requires. Then, they need only
> write a "driver", interfacing the abstraction layer with each API on each
> platform. For instance, a DirectX driver to work on Windows, and MESA video
> driver and standard UNIX /dev/dsp output for UNIX devices. Development of
> these "drivers" is extremely quick. While it takes slightly longer to
> develop an extensive abstraction layer, the reward, being able to port
> effortlessly to any platform, greatly off-sets the cost and time usage for
> development of the abstraction layer.

That would be exactly the right thing to do.

> Developers of other applications can learn from this case and develop their
> software to be easily portable, sadly, most executives still don't see it
> that way, feeling that it is better to write software to interact directly
> with which ever platform, thus in doing so, saving a small amount of time
> and money and inadvertently helping Microsoft hold on to their PC monopoly.
> Until that phylosophy changes, sadly, people will not move away from
> Windows.
> Also, discarding old applications should never be seen as being such a bad
> thing. This is also a question of having the right attitude. Applications,
> by the very definition, become outdated or obsolete after a sufficient
> period of time. Economic conditions may change, more data may need to be
> collected, larger datasets may need to be handled. The traditional, cheap,
> solution to this problem is what the enginering industry calls
> "retrofitting".

That's a problem with proprietary software. UNIX is a different case. The old 
code is well-tested and stable, there's no reason to throw it out as long as 
it is maintained properly.


More information about the freebsd-advocacy mailing list