<html><head><title>Software for your PC</title></head><!--(c) G.C. '97, '98 A.R.R.-->
<body background="../images/tile">
<center><h3>Software for your PC</h3></center>
<p>
 Whatever else you might say about PCs, one thing that is clear is the quantity of PC software around. There is an awful lot of it. But is it any good?
<p>
<h4>The Operating System:</h4>
<p>
 An examination of PC software should start at the top, with Microsoft's more recent operating systems.
<p>
 A minimum installation if Windows 95 takes up 50Mb of space (this is for what RISC OS 3 does better in 4 megs on ROM), which is a distressingly large amount of memory for an operating system. When running, Win 95 will grab 8Mb of RAM, but likes 16 far better; a complete loading into RAM takes 32 megabytes; for some time now, I've been wondering what a windowing system might do with 32 megs, but I at am a loss to find out why. Never mind: perhaps the nice people at Microsoft can tell us.
<p>
 Windows NT is a more severe case still (64 megs is the complete loading size) and, on the subject of the new Windows 98, PC magazines have quoted a 250 megabyte hard drive installation size.
<p>
<h4>The Tasks:</h4>
<p>
 Even in the days of Windows 3.1, Microsoft Word for Windows required eight megabytes just to run. I was shocked about how much memory one word processor could grab. Software on other computers doesn't take up quantities of ram at a tenth of PC software: comparable software takes up as much as 500Kb to work with several documents. Similarly, PC software installations frequently seem to take up megabytes of space, whereas well-written software might take up a meg, at most.
<p>
 PC software, especially Windows software, is horribly inefficient in terms of hard drive space, RAM space when running and execution time: Windows requires a 30Mb swapfile; I've even heard Windows 95 users remark, near astonished, on what you could possibly do with 30Mb of swap file?
<p>
<h4>A Reason?</h4>
<p>
 PC programs are, frequently, obscenely obese. This can be pinned down to the way in which PC software is written.
<p>
 I sometimes get caught up in computer sections in bookstores. There, I frequently find many books on Windows, Java, CGI, UNIX and so on. I can't recently recall seeing a book on assembly language programming.
<p>
 When computers were much slower, entire pieces of software were written in pure assembler. However, programmers have used the new power of their machines not to produce very fast software, but to make their lives easier: there has been a general trend in the PC world to writing code in C++; this is perfect for the programmer to engage in his nice structure programming, but C++ code is notoriously slow. It is not unusual for assembler to beat C code by a factor of three or more and, because of its object orientation, C++ can be another factor of two slower again.
<p>
 Programmers are no longer taught about how they should optimise their code, but are instead instructed on very convenient methods, which put the strain to perform back onto the processor, not the author. When producing the Amiga port of the PC game Synidcate, they were able to drastically increase the speed of the engine by optimising the code in ways the PC programming team didn't.
<p>
 Windows 95 has eliminated a fair amount of the multi-producer problems with sound systems and video cards. This, however, has been at the expense of speed, something you can easily notice when comparing the minimum system requirements of hames in their DOS and Windows 95 forms. How much faster would Quake II be in a DOS edition?
</body>
</html>