From: Sean 'Captain Napalm' Conner <spc(a)conman.org>
> 8080/z80 and if it was DOS you could bet on 808x.
Unix back then
meant
> MIPS, VAX, PDP-11, SUN/sparc, 68000, Z8000, and a
few dozen I likely
missed.
That doesn't make sense. UNIX you state as being easily ported, even
though as a kernel it has to hit the hardware pretty hard, yet you state
applications as not being portable at all, because of the underlying
hardware and processor (which the application shouldn't care about). If
anything, I would think the opposite would be true.
You forget I guess. All cpus are from intel. At one time unix was on
machines
of different word size and instruction set. So an app while easily
ported to a new
platform, it was not without some problems. Like each version of unix
was not
always the same as another. Some of those were those little things like
the apps programmer needed a target machine and OS to verify on. So
"portable" is not
the same as "ported to".
Now, speaking as a programmer who's done cross
platform programs, I've
come to the conclusion that writing portable software isn't difficult
and
with enough experience it becomes quite easy in fact.
It's programmers
that
make unwarrented assumptions about their code or
platform that make for
unportable applications.
I didn't say it wasn't possible only that saying the OS is unix meant it
was
not always a slam dunk and that compliation was often required.
Granted, on the 8-bit systems you often times had to
code in Assembly,
both for speed and size reasons (and because compilers for such systems
weren't good enough) but when you get to UNIX the whole point was to
avoid
assembly in the first place [1]. Therefore, you are
writing in a higher
level, more portable language and then it becomes possible to write code
that will run across platforms. Heck, I've written a program that has
compiled across several different UNIX platforms (SGI, Linux on the x86,
Linux on the DEC Alpha, OpenBSD, FreeBSD) without problems [2] and
you'll
notice that there is at least one 64-bit architecture
listed there. The
same code was successfully compiled (with one line of code change, plus
a
few other lines to get the correct header files loaded)
under Microsoft
Windows. Okay, it may not have been optimum code under Windows, but it
still ran with minimum of changes or fuss.
Thanks for the tutorial, I heard it back it 82 also. Experence however
proved
otherwise in practical terms.
[2] Okay, one problem---the DEC Alpha port crashed, but
it was tracked
down to a bug in the C library call memchr().
In the past 1983-1988 that was far more commonplace to have incompatable
compilers libraries.
Allison