On Wed, Oct 03, 2007, Shachar Shemesh wrote about "Nostalgia is not what it 
used to be (was: Petition to ask MainConcept)":
> Which means it all comes down to this. Why? Why do things take more space?
> 
> Part of it is understandable. The C64 had a 160x200 with 16 possible
> colors screen, with not all combination of colors possible in each
>...
> But picture sizes aren't everything. Appleworks was a two sided program
> that gave you a word processor, spreadsheet and a database, including OS
> (Apple ProDOS) all in less than 290KB. How? I find it extremely unlikely
> that the entire program was written in Assembly. It was, probably,
> written in C or Pascal, and compiled.
>...

I think your analysis is right on the money.
There indeed seem to be two issues. The first issue, as you said, is that on the
C64, there were a lot of things you couldn't do: you couldn't play recorded
music (just synthesised music, which was considered a marvel at the time),
you couldn't play video. Heck, with the lousy resolution and number of colors
you couldn't even display a realistic image (I remember when the Amiga came
out, with its 4096 colors, everyone made a fuss about being able to show a
realistic image). So if now my hard-disk contains (for example) 5 GB of music
and 5 GB of photos, none of this was even possible in the C64 days, so the
space wasn't needed. Let alone video, which is the only thing that could
possibly fill up my new 320 GB disk.

The second reason is, of course, bloat. On the C64 I had one diskette with
a C compiler, editor, and a simplified Unix-like shell, all in 160 KB on disk
(and only 50 KB of memory to use). Today, on Linux, just bash takes quadruple
that space, and even "ls" comes close to filling such a diskette!
*Everything* got bloated - software got more and more options, code got less
efficient (with people caring less about efficiency), libraries got bigger
too, the executable contains a lot of cruft. The funniest waste of space I
can think of is the "COPYING" file, which my computer has 374 (!) copies of
which installed, totalling 7.7 MB. That's 47 Commodore-64 diskettes... ;-)

> pixel. I'd say this means that an uncompressed picture took (if I
> understand the graphic encoding correctly) about 9.3KB in full color
> mode, a little less (8.8KB) in sorta color mode (reason being that mode

While 9 KB might sound a little, actually a lot lot less was used for doing
animation on the C64. There were two issues: First, the tiny memory (around
50 KB available to the application) and absurdly slow disk drive, even in that
time's standards (300 bytes per second!), didn't allow you to animate more
than 5 of this frames. Second, the CPU was so slow, that just painting one
frame would easily take more than a second (in BASIC, it could take you a
minute...). So the favorite option for animation on the C64 were "sprites".
These were small (12x21 pixel) animations drawn by the video hardware, and
used to move around game characters and the likes. So the game never contained
animations of whole frames, but rather of the tiny sprites that moved around -
and this took very little space.

> I think a lot of it has to do with "when need must". You only had 128KB
> of RAM, you only had so many floppy sides you could use, you had no
> choice but to make do. Programming was centered around making things
> fit, just as it was about making things spry.

There's a famous paper on the design of the Unix "spell" program, which
ran (if I remember correctly) on some PDP 10 with 65 KB of memory. Much
of the work involved in fitting all the words in less than that memory.
When I started working on Hspell, it was obvious that nobody really cared
about how much memory it would take. When it ended up taking 100 KB of disk
space and 4 MB of memory, everyone thought it was perfectly acceptable (and
even small if you compare it, for example, to aspell).


-- 
Nadav Har'El                        |   Wednesday, Oct  3 2007, 21 Tishri 5768
[EMAIL PROTECTED]             |-----------------------------------------
Phone +972-523-790466, ICQ 13349191 |Share your knowledge. It's a way to
http://nadav.harel.org.il           |achieve immortality.

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to