[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Computing Editorial (please read)



In article <3E3D7228.2A36@earthlink.net>,
Lee Hart  <leeahart@earthlink.net> wrote:
 
> Paul Schlyter wrote:
>> Teaching yourself basic programming is of course quite feasible
>> on an Apple II...
> 
> Today, computers don't come with ANY programming languages.
 
True for Mac's, not quite true for Windows, and definitely
not true for Linux!!!  Yep, you can now buy computers with
Linux instead of Windows pre-installed....
 
The Macintosh came without programming langauges from the very
beginning: the rationale was "the average computer user doesn't do
any programming".  But with the recent introduction of Mac OS/X
perhaps Apple let gcc and friends remain on the disk..... I don't
know myself -- perhaps someone with access to Mac OS/X can check
this out?
 
On the PC side, BASICA, GWBASIC or QBASIC was included with
MSDOW and Windows well into the late 1990's.  But even Windows
XP has two programming languages with the standard distribution:
1. Batch language -- start up a command prompt (also called a
   "DOS Window" although this phrase really is incorrect) and
   you'll have the command langauge of that prompt available
   as a language.
2. Good ol' DEBUG is still included in Windows XP.  Yes, it's
   that 16-bit real-mode debugger.  And it has a built-in
   mini-assembler, much like the mini-assembler in the Apple II
   Integer Basic ROM's, or the mini-assembler in CP/M-80's
   DDT, SID or ZSID debuggers.
 
And then we have Linux, which is becoming increasingly popular
on PC hardware.  The standard distribution contains assembler,
C, C++, Fortran, Java, Ada --- but not Basic.....
 
Finally, there are nowadays lots of free programming languages
available on the Internet!  So any lack of programming language
on your computer's standard distribution isn't really a concern.
A computer is an expandable tool you know....
 
>> I'm not proposing a modern PC as an alternative -- a modern
>> microcontroller is a much better alternative: it has all the
>> advantages you listed above, with the added advantage that
>> it's still manufactured.
> 
> This matters if you want to make more.
 
Well, if your project is supposed to revolutionzie the future
world, you CERTAINLY want to make more....
 
> But one's first projects are always one-of-a-kind models,
> built just for learning.
 
True -- and they almost never revolutionize the future world
either....
 
>>> I don't work much with the Apple II, but here are three examples of
>>> projects that I have seen students do. [snip]
> 
>> While these projects probably were both entertaining and educationg,
>> did any one of them "revolutionzie the future world" in any way?
> 
> It's too soon to say. They were built by kids still in school! I cannot
> say if any of them will be a future Nikola Tesla or Tom Edison. But it
> would please me if I could have provided the right tools for today's
> kids to develop the logical thinking and construction skills so they
> *could* do something great one day!
 
Thus it's so far wishful thinking on your part.  And we'll have
to await any eventual future Tesla or Edison who acknowledges part
of their success to insights gained when playing with an old Apple II
around the year 2000 .....
 
>> You can pick up an old PC for next to nothing as well... they're
>> even more abundant than old Apple II's .....
> 
> Yes, quite so. But, what can you do with it?
 
At least as much as you can do with an Apple II.  There are boot
floppies for various versions of MS-DOS available on the Internet,
and there are formerly commercial 16-bit compilers which now have
been released as freeware (visit the Borland Museum to find some of
them).  And the early XT and AT were just as extensively documented
as the Apple II.
 
> Would a student be likely to be able to execute any of the example
> projects I mentioned earlier?  Even as an experienced engineer, I
> had trouble understanding how the hardware in the original PC worked.
 
Then you should have had trouble understanding how the Apple II
worked as well.... the IBMPC wasn't that much more complex.
 
>>> Is there anything the BASIC stamp can do that the Apple II can't?
> 
>> Sure!  For instance:
>> 1. It's still manufactured
> 
> That's a plus, if you happen to need more than one. More likely, you'd
> use the Apple II you got for free for learning and testing "model 1".
> Then build "model 2" around something more modern.
> 
>> 2. You can use it to build a device which can fit in a matchbox.
>>    Not the slightest chance of doing that with an Apple II .....
> 
> Small is usually the enemy of learning. Big parts, big boards, and big
> traces make it easier to work on.
 
Sure, but your question was "Is there anything the BASIC stamp can do
that the Apple II can't?".  And indeed there is!  But of course you
cannot learn from picking the hardware apart, as you can on an Apple
II -- or an old IBM PC or clone (pick one equipped with an 8088,
they're the simplest ones).
 
But for a "project which will revolutionize the future world" instead
of merely be an education for yourself, don't you think it's an
advantage if the gadgets involved are small?
 
>> The Apple II was 6502 based, not Z80 based.  Also, today's Z80
>> descendants (which are faster than the old Z80A) are used in embedded
>> controllers, not general-purpose microcomputers.
> 
> The 6502 is still around, too, in the form of faster more highly
> integrated versions, also used in embedded controllers.
 
I know -- I have one in some of my modems -- it runs at 10 MHz.....
 
> However, my point is not that the Apple II was the perfect computer. My
> point was that it was one (of many) examples of a generic, open,
> easy-to-use computer. Computers like it are what inspired and trained a
> whole generation of today's computer engineers. There is nothing like
> them today. They've been replaced by appliance computers, that are not
> understandable or programmable by the average person.
 
OTOH the average person isn't a future computer engineer.....
 
Computers change as their target change: around 980, only computer
engineer-like people would even think of buying one.  Today the target
is the average Joe Smith who would never dream of programming the
computer.
 
> At the other extreme, there are microcontrollers. They are wonderful
> devices, but built for trained professionals, not amateurs. The only way
> I see beginners using microcontrollers is when they are prepackaged into
> some product, designed and programmed by professionals so the user is
> totally isolated from the actual hardware or software (Lego Mindstorms
> for example).
 
The Nintendo Gameboy is another example: it has a small "keyboard",
a display, a Z80 compatible CPU, and some I/O connections.  On the
Internet you can find documentation on how it works internally and
on how to put your own software there.  There are some amateur
astronomers who have converted a Gameboy to a telescope controller....
 
>>>> When you built your first computer, the Internet was nowhere as
>>>> widely accessible as it is today.  That's a big difference.
> 
>>> Yes. But does it help, or hinder? If you were a high school student
>>> and wanted to build your own computer, where would you go? Where
>>> are the plans? The parts? The kits? The software? The information
>>> on how to do it?
> 
>> This is the contemporary problem of "information explosion"...
> 
> Yes. And "explosion" is a good word. There is too much information, with
> too little organization.
 
...OK.  To cure the problem "too much information", much of this
information has to be erased or at least made inaccessible to most
people.  How do we decide WHICH of all this information to "hide"?
And will others agree with your decision.
 
One drastic action would be to close down the Internet.  And while
we're at it, shut down newspapers, radio and TV as well.  Then most
people won't know much what's going on, and the following information
"implosion" will surely cure the over-information problem....
 
I.e. turn back the clock to, say, around 1900.  Is that what you want?
 
> Finding 10 answers to a question is no good when you can't tell which
> one is right.
 
It's better than having only your own guesswork available though...
 
> There is a natural human tendency to pick the answer you see the most,
> or who shouts the loudest, or who lies the most convincingly.
 
True, but this problem existed also well before the information
explosion.  And back then, most people just didn't have reliable
information available.  Today it IS available -- but you'll have to
learn how to sort away all the junk which is in the way.
 
>> perhaps the younger generation are better prepared to deal with it?
> 
> I do not see any evidence of this. In fact, there have been studies
> where students were asked to answer questions on various topics using
> the www. The kids were extremely likely to take the first answer they
> found, and accept it uncritically.
 
Of course -- that's because they're not particularly proficient in
critical thinking yet.  If these kids were shown that the anwsers
they found were wrong, and why they were wrong, that would have been
a quite good exercise for them.
 
>> But if you want to build your own computer, why would you require
>> software?
> 
> There are two reasons. First, if you are doing it as an educational
> project, you want examples to look at and learn from. (It is a rare
> person who can learn without examples).
 
There are plenty of examples to look at and learn from.  For instance,
the freely available source code of all of Linux.....
 
> Second, if you are doing it to investigate some alternative
> architecture, then you'd want whatever software tools are available to
> "jump start" your project. (Follow the existing roads as far as you can
> before turning off in your own direction).
 
If you want to save time, wouldn't it be better to also buy your
hardware instead of constructing your own hardware?
 
>> You can buy a microcontroller, and hook up a power supply and a few
>> external components...
> 
> Yes. But then it doesn't do anything at all. And no way to probe pins to
> tell if it is working.
 
WHAT?  You're an electronics builder and don't even have volt meters
available?????  If so, you get what you deserve....
 
> And there is no way to get a program into it.
 
Well, you'll have to get a PROM burner for that chip of course:
either a stand-alone one, or one you connect to a computer through
the serial port for instance.  An old PC works fine here -- there are
even plenty of software simulators available for that platform --
much more than for the Apple II.
 
> So, to get it to actually do anything, you need a PC and a lot of
> hardware and software. That's quite a leap up the ladder.
 
You don't need A LOT of hardware and software: you need a PC, a ROM
burner, a cable or two, and software to brun roms and preferably also
a simulator.  That's not "a lot".  If you want to get fancy, youcould
get an ICE as well -- that's definitely wirthwhile if you're aiming
at something which will "revolutionize the future world".
 
> Contrast this with my first microcomputer. It had an 1802 CPU, a 6810
> RAM, ten toggle switches, 8 LEDs on an 8-bit latch, and a couple gate
> packages. It was wired up on one of those white E&L breadboard sockets.
 
Back then you had to do that, because there were neither PC's nor
Apple II's available.  Yep, I remember those computers: the ads said
you could "control each and every single bit in the computer". True,
but that's as if I would control e.g. each detail in my food
digestion by my consious will -- if I had to do that, I'd starve to
death!
 
> I learned a vast amount about computer hardware and software from that
> little "ELF" computer. I could watch the address, data, and control
> lines with my logic probe (an LED and resistor). I could toggle in each
> instruction, and watch it execute (the 1802 worked at 0 clock frequency,
> so I could single-step its clock with a switch; no scope needed). I can
> still vividly recall the "AHA!!!" feeling I goat as I figured out how it
> all worked.
 
You can do the same today, by running an appropriate simulator on your
modern computer.
 
>>> we have microcomputers today because people DID dream of building
>>> their own computer -- and they did it!!!
> 
>> Nah -- we have microcomputers today because we have microelectronics.
>> Dreams alone don't build computers.
> 
> I meant that the microprocessor wasn't designed to be a computer; it was
> designed as controller. It was hobbyists who saw it as a way to build a
> "real" computer. All the early microcomputers were built by such people.
 
I now -- the desire for a computer of your own was really big among
those early hackers.  I even saw a picture once of a 4-bit CPU built
by a computer enthusiast from discrete transistors!!  It occuped a
whole table...
 
>>>> So why don't you put up a web site which shows these beginners
>>>> how very easy this is nowadays?
> 
>>> That's a good idea, although the web is not where my skills lie.
>>> I have instead been doing a lot of volunteer work in schools,
>>> showing kids how to do it. But I am only one person. I'm writing
>>> here so perhaps others will do their part, too.
> 
>> You don't need to make the web site fancy -- stick with fairly
>> simple HTML, and some images here and there where appropriate.
>> The important thing is the information, not the appearance.
> 
> I have been helping others to do this. See <http://www.cosmacelf.com>.
 
Thanks for that link!  I'll add it to my bookmarks, among the "computer
history" links.
 
> It covers the old ELF type computers that I started with. I've retyped
> in a lot of the old books and manuals,
 
DON'T DO THAT ANYMORE!!!  Instead use a scanner + OCR software.  Yes,
the OCR software has its flaws, and you'll often have to proofread
what the OCR software produced.  But in my own experience, OCR'ing
printed pages and reformatting + proofreading them afterwards is some
4-5 times faster than typing in all of it by hand. I've done a lot of
both!  For instance I scanned all of the manuals for various versions
of the S-C Assembler and posted them on one of my websites (after
having gotten permission by the original author, Bob Sander-Cederlof
of course).  Before I got a scanner with OCR software, I did a lot of
hand typing, therefore the scanner+OCR was a pretty big relief.
 
Check out http://home.tiscali.se/pausch/apple2/dsk.html for my
S-C Assembler stuff + some other Apple II related stuff.
 
> and contributed the software I wrote.
> 
>> perhaps you prefer to teach what you know by word of mouth instead?
> 
> It's the kids that prefer to be taught by demonstrations and hands-on
> examples. Plain old text on a page (or on a computer screen) just
> doesn't get people all that excited. It's extremely hard to get people
> away from the book or computer screen, and onto the workbench!
 
You're probably right about that one: getting kids to do practical
work requires the teacher to be practical too.  Kids don't do as you
say, they do as you do.....
 
-- 
----------------------------------------------------------------
Paul Schlyter,  Swedish Amateur Astronomer's Society (SAAF)
Grev Turegatan 40,  S-114 38 Stockholm,  SWEDEN
e-mail:  pausch at saaf dot se
WWW:     http://hem.passagen.se/pausch/index.html
         http://home.tiscali.se/~pausch/