Date: Thu, 4 Mar 2004 22:40:55 +0000 From: Daniela <dgw@liwest.at> To: "Willie Viljoen" <will@unfoldings.net>, "Jeremy C. Reed" <reed@reedmedia.net>, <freebsd-advocacy@freebsd.org> Subject: Re: FreeBSD Most wanted Message-ID: <200403042240.55248.dgw@liwest.at> In-Reply-To: <022b01c4022a$e14edb20$0a00a8c0@arista> References: <Pine.LNX.4.43.0403011839470.3269-100000@pilchuck.reedmedia.net> <200403041804.51038.dgw@liwest.at> <022b01c4022a$e14edb20$0a00a8c0@arista>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thursday 04 March 2004 20:54, Willie Viljoen wrote: [snip] > 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. [snip]
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200403042240.55248.dgw>