The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* Re: [TUHS] Book Recommendation
@ 2021-11-16  3:16 Douglas McIlroy
  2021-11-16  4:08 ` G. Branden Robinson
  0 siblings, 1 reply; 12+ messages in thread
From: Douglas McIlroy @ 2021-11-16  3:16 UTC (permalink / raw)
  To: TUHS main list

While waiting to see the full text, I've poked around the index for
subjects of interest. It certainly is copious, and knows about a lot
of things that I don't.

The authors make a reasonable choice in identifying the dawn of
"modern computing" with Eniac and relegating non-electronic machines
to prehistory. Still, I was glad to find the prophetic Konrad Zuse
mentioned, but disappointed not to find the Bell Labs pioneer, George
Stibitz.

Among programming languages, Fortran, which changed the nature of
programming, is merely hinted at (buried in the forgettable Fortran
Monitoring System), while its insignificant offspring PL/I is present.
(Possibly this is an indexing oversight. John Backus, who led the
Fortran project, is mentioned quite early in the book.) Algol, Lisp,
Simula and Smalltalk quite properly make the list, but Basic rates
more coverage than any of them. C, obscurely alphabetized as "C
language", is treated generously, as is Unix in general.

Surprisingly there's almost nothing in the index about security or
privacy. The litany of whiggish chapters about various uses of
computers needs a cautionary complement. "The computer attracts crooks
and spies" would be a stylistically consistent title.

Doug

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Book Recommendation
  2021-11-16  3:16 [TUHS] Book Recommendation Douglas McIlroy
@ 2021-11-16  4:08 ` G. Branden Robinson
  2021-11-16 14:56   ` Clem Cole
  0 siblings, 1 reply; 12+ messages in thread
From: G. Branden Robinson @ 2021-11-16  4:08 UTC (permalink / raw)
  To: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 2858 bytes --]

At 2021-11-15T22:16:41-0500, Douglas McIlroy wrote:
> While waiting to see the full text, I've poked around the index for
> subjects of interest. It certainly is copious, and knows about a lot
> of things that I don't.
> 
> The authors make a reasonable choice in identifying the dawn of
> "modern computing" with Eniac and relegating non-electronic machines
> to prehistory.

Just so long as the antikythera mechanism is in there... ;-)

> Among programming languages, Fortran, which changed the nature of
> programming, is merely hinted at (buried in the forgettable Fortran
> Monitoring System), while its insignificant offspring PL/I is present.

PL/I was important enough to rate presentation in _The Elements of
Programming Style_.  :P  I have gotten the impression that it was a
language that was beloved by no one.

> (Possibly this is an indexing oversight. John Backus, who led the
> Fortran project, is mentioned quite early in the book.) Algol, Lisp,
> Simula and Smalltalk quite properly make the list, but Basic rates
> more coverage than any of them.

It's hard to overstate the impact of BASIC on the first generation of
people who grew up with computers in the home instead of encountering
them only later in a time-sharing environment with professional
operators and administrators.

This is not because BASIC was a high quality language, especially as
stripped down by Microsoft and other implementors.  On 8-bit boxes with
no memory protection and no privilege structure, it taught one a lot
about absolute liberty and the absolute consequences thereof.  We power
cycled machines with a frequency that would have horrified the staff of
any computing center.

Everybody knew there were bigger, better, or faster languages out there,
but they were priced commercially and marketed at professionals.  The
same was usually true of editor/assembler/linker packages.  But BASIC
was packed-in on ROM chips and always available.  And you could always
assemble your own opcodes (or get listings of hex bytes from hobbyist
magazines) and "poke" them into memory--a good way to learn and to
polish that machine reset button to a shine.

At one time, it was considered good sport to ridicule people whose first
programming language was BASIC; after a while I figured out that this
was a form of hazing, similar to the snotty attitudes adopted by a
subset of student employees who got access to group "wheel" on at least
one university-owned machine, lorded it over undergraduates, and who
kept the existence of or access to Volume 2 of the Unix Programmer's
Manual a secret.  ("If you can't learn the system just from the man
pages, you must be pretty dumb.")  Such was my first exposure to BSD and
SunOS partisans.

After a while, I learned they weren't _all_ like that...

Regards,
Branden

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 833 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Book Recommendation
  2021-11-16  4:08 ` G. Branden Robinson
@ 2021-11-16 14:56   ` Clem Cole
  2021-11-16 15:37     ` Richard Salz
                       ` (3 more replies)
  0 siblings, 4 replies; 12+ messages in thread
From: Clem Cole @ 2021-11-16 14:56 UTC (permalink / raw)
  To: G. Branden Robinson; +Cc: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 6252 bytes --]

On Mon, Nov 15, 2021 at 11:09 PM G. Branden Robinson <
g.branden.robinson@gmail.com> wrote:

> It's hard to overstate the impact of BASIC on the first generation of
> people who grew up with computers in the home instead of encountering
> them only later in a time-sharing environment with professional
> operators and administrators.
>
FWIW:   A number of us learned BASIC in the late 1960s/early 1970s (*i.e.*
before the microprocessor versions ever appeared as they did not yet
exist).  Gates & Allen used it in HS on a PDP-10 with an ASR-33, and I'm
their same age.   I did the same thing in JHS and HS on a GE-635 [Mark-II
DTSS] and then later HP2000 [Community Computer Services] - 10 cps baby,
upper case only.

What I don't know is if the PDP-8 BASIC came before the PDP-10 version.
 But the point is that most of the mini's (no matter the manufacturer) had
an implementation of BASIC in the late 60s and early 1970s, long before the
micro's came on the scene.  I would later get to know/work with a number of
the people in DEC languages groups and I do know that the syntax and
semantics of the BASIC for RSTS implementation originally was based on the
PDP-10 BASIC (although they did have some differences).

In fact, DEC's RSTS/11 and the HP/2100 running BASIC were the two systems
that ended up being used by a lot of small timesharing shops and eventually
on-site at the high schools that could afford the HW. The reason being that
BASIC became popular on the small system was it required fewer resources
and because it was primarily interpreted matched.  An urban legend is that
when Gates opened in Microsoft in AZ, he bartered time from the local high
school running their RSTS system for them in return for being able to use
it as their development system [I definitely know that he used their
system, I'm just now sure how he renumerated them for the computer time].


> This is not because BASIC was a high quality language, especially as
> stripped down by Microsoft and other implementors.

It made perfect sense when Gates decided to implement it for the Altair.
 And he modeled his version on the DEC syntax and semantics - because that
was what he knew was used to from the PDP-10, and what he and Paul had
learned first.



> Everybody knew there were bigger, better, or faster languages out there,
> but they were priced commercially and marketed at professionals.

And more importantly, *requires many more resources*.
Consider UCSD-Pascal, you needed a disk-based system to run it, be an
LSI-11, Apple-IIe, or CP/M box.  The BASIC's often worked out of ROM.
 Hey, I can think of implementations of other languages such as FORTRAN's,
C, Cobol, PL/M, PL/1, and eventually many Pascals for the different
micro's, but they all took more HW to support the edit/compile/link cycle.

The point is that for a >>hobbyist<<, running BASIC was 'good enough.'  The
only HS in the late 1970s that I knew that could afford a PDP 11/45 and
actually ran UNIX on it, was Lincoln-Sudbury - which is in a high-end
suburban Boston.  They also had a lot of help from parents who per
professionals here in Boston working for places like DEC, DG, Pr1me,
Honeywell, and the like.   At that time, I was long gone, but I now my
father at my own prep school in suburban Philadelphia dreamed of an 11/40
class system to run RSTS, but they could not afford it.  So if they wanted
off a timesharing service like the HP/21000, they bought small
microprocessor (CP/M or Apple-II) gear and ran them as a hobbyist would.




> At one time, it was considered good sport to ridicule people whose first programming
> language was BASIC;

I'm not so much sure it was that their first language was BASIC, as much as
they did not go beyond it.   I will say that once the HW started to be able
to support more complete languages (such as Pascal), there was some of
that.  I used to say the problem was that they probably learned it in HS
and their teachers did know more.

My own father (who taught me BASIC on the GE-635 when I was in JHS), knew
only BASIC and FORTRAN because that was what he had learned working
part-time as a 'computer' at Rocketdyne in the late 1950s/early 1960s.   By
the late 60s, he was the first 'computer teacher' at the prep school when I
went (in Philadelphia, but not that dissimilar to Bill Gates's experiences
in Seattle at a local prep school there).  He taught us what he knew and *what
he had access to*. Eventually, I outpaced him a bit, and I started to learn
a little assembler for the HP because I was curious.  But I came to a point
where I knew way more than he did before I left HS [BTW: Gates and Allen
tell a similar story - of learning PDP-10 assembler at some point --
advancing ahead of their teachers].  The truth is I think my Dad was a bit
ahead of his time, *but he did not know what he did not know *and did know
to try to teach others anything other than BASIC and FORTRAN*.*

FWIW: I went to CMU and had to be re-taught - being introduced to Algol,
real FORTRAN, IBM Assembler, APL (and eventually many of other wonders).
BTW: By the mid/late '70s, I had taught my Dad Pascal so he could use it
with USCD-Pascal with his 'advanced students' now that he had a few
Apple-IIe's that could run it.



> after a while I figured out that this was a form of hazing, similar to
> the snotty attitudes adopted by a
> subset of student employees
>
Point taken... and I there probably was a lot of those, particularly later
once the HW ability and cost available made it possible to have a choice.
But the problem was that most of the young people had come from places
where the educators that taught them BASIC did not know better even if they
had had enough HW to do it.

Unfortunately, because the hobbyist and much of the press for entry-level
of the same, touted BASIC, many did not know better.   The fact is I'm
still now sure the HS and JHS are a lot better than they were.

I'll let Steinhart reply, but he wrote an excellent book recently targeted
to just those same students that what to know more, but frankly their HS
teachers really are not in a position to teach them properly.

Clem
ᐧ

[-- Attachment #2: Type: text/html, Size: 10967 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Book Recommendation
  2021-11-16 14:56   ` Clem Cole
@ 2021-11-16 15:37     ` Richard Salz
  2021-11-16 15:50       ` Adam Thornton
  2021-11-16 16:02     ` [TUHS] BASIC, RSTS, and UNIX Ron Natalie
                       ` (2 subsequent siblings)
  3 siblings, 1 reply; 12+ messages in thread
From: Richard Salz @ 2021-11-16 15:37 UTC (permalink / raw)
  To: Clem Cole; +Cc: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 311 bytes --]

> What I don't know is if the PDP-8 BASIC came before the PDP-10 version.

This was a fun rat-hole.  (My first programming was Edu-24 BASIC on a
pdp-8/e my 7-12 school had.)  It appears that the DEC-10 BASIC is earlier,
at least according to how I intuit the timeline from
https://en.wikipedia.org/wiki/BASIC-8

[-- Attachment #2: Type: text/html, Size: 426 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Book Recommendation
  2021-11-16 15:37     ` Richard Salz
@ 2021-11-16 15:50       ` Adam Thornton
  0 siblings, 0 replies; 12+ messages in thread
From: Adam Thornton @ 2021-11-16 15:50 UTC (permalink / raw)
  To: Richard Salz; +Cc: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 1566 bytes --]

Dijkstra notwithstanding, BASIC has the same strengths and weaknesses as,
later, PHP would for the web, and I think that Javascript might have these
days (and in the scientific programming world, Python).

That is, it's very easy for the novice to get something working that gives
them the results they want.  Maintainability and efficiency are simply not
on their radar for the scope of problem they're trying to solve.  I'm not
even sure how much of this you can lay at the feet of teachers: I would
argue that we see a huge efflorescence of essentially self-taught
programming cobbled together from (in the old days) the system manuals and
programs in magazines, and (these days) Googling that takes you to Stack
Overflow and various tutorials, of wildly varying quality.

Maybe we should take the "personal" in "personal computing" seriously.
That said, now that your personal project is probably exposed to the world
via the Web, maybe that's not a good idea if you have any data behind that
project whose integrity or privacy you care about.

Disclaimer: my formative experiences were MS BASIC on 6502-based micros,
and were fundamentally self-taught.

Adam

On Tue, Nov 16, 2021 at 8:38 AM Richard Salz <rich.salz@gmail.com> wrote:

> > What I don't know is if the PDP-8 BASIC came before the PDP-10 version.
>
> This was a fun rat-hole.  (My first programming was Edu-24 BASIC on a
> pdp-8/e my 7-12 school had.)  It appears that the DEC-10 BASIC is earlier,
> at least according to how I intuit the timeline from
> https://en.wikipedia.org/wiki/BASIC-8
>
>

[-- Attachment #2: Type: text/html, Size: 2116 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] BASIC, RSTS, and UNIX
  2021-11-16 14:56   ` Clem Cole
  2021-11-16 15:37     ` Richard Salz
@ 2021-11-16 16:02     ` Ron Natalie
       [not found]       ` <CAC20D2OT6ZcFOqnNCkqDUfAKy87wYu7mp7xx0ozzAT0eN1wr8g@mail.gmail.com>
  2021-11-16 17:02     ` [TUHS] Book Recommendation Will Senn
  2021-11-16 18:27     ` Jon Steinhart
  3 siblings, 1 reply; 12+ messages in thread
From: Ron Natalie @ 2021-11-16 16:02 UTC (permalink / raw)
  To: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 2321 bytes --]

My BASIC experience came from the HP/2000 (and the HP/3000) systems the 
Prince George's County (MD) schools had at the time.     When I moved on 
to Johns Hopkins, I was sent a letter in advance of my freshman year 
from professor Bill Huggins who taught one of the freshman EE classes.   
The class was to use Basic  Plus on a PDP-11/45s using the UNIX 
operating system.    Now at this point, I had a friend whose mother 
worked in the local DEC (Lanham, MD) office and would let us raid the 
stock room for things like processor handbooks and the like.    I was 
able to find out about Basic Plus and PDP-11/45 but I was unable to find 
anything about this UNIX thing.

Of course, once I got there I found that the EE computer center was 
largely run by students under the name of the Undergraduate Computer 
Society.   Mike Muuss was in charge and they had made a deal that if 
they could get BasicPlus migrated over from RSTS, they could run UNIX on 
the machine.    It turned out not to be that difficult.   RSTS, like 
most DEC OSes, for some reason used EMT for the system calls (contrary 
to what the processor handbook would recommend).   UNIX used TRAP.   
This means all they had to do is emulate a few RSTS calls.    In 
addition, the only change I believe was to add a system call that 
disabled the UNIX idea of stack management (Basic Plus like many DEC 
programs of the day used a relatively small stack in low memory because 
the actual register saves, etc... were stored elsewhere, it was just 
function call linkage).   The system call was obviously called 
"nostack."

This hadn't been Mike's only foray into Basic.    He had his own IBM 
1130 and had written a Basic interpretter under contract for the 
Baltimore County Public Schools.   I remember sitting in the "KSR room" 
at Hopkins and watching him preparing the invoice for payment.
Please remit $3000, no stamps please.    That last part caused a bit of 
consternation at the school district.

Amusingly, I have my little Raspberry Pi scale model 11/70 front panel 
churning away on my desk.    I can switch it from booting up various 
UNIXes (mostly I run 2.9 BSD hacked to somewhat look like JHU UNIX) and 
RSTS which reinforces why we used to refer to it as the Really Sh-tty 
Timesharing System.


[-- Attachment #2: Type: text/html, Size: 3355 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* [TUHS] Speaking of groups: JHU Ownership
       [not found]       ` <CAC20D2OT6ZcFOqnNCkqDUfAKy87wYu7mp7xx0ozzAT0eN1wr8g@mail.gmail.com>
@ 2021-11-16 16:43         ` Ron Natalie
  0 siblings, 0 replies; 12+ messages in thread
From: Ron Natalie @ 2021-11-16 16:43 UTC (permalink / raw)
  To: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 820 bytes --]

A private message with Uh, Clem reminds me of another quaint piece of 
UNIX group history:   JHU Ownership.

The original V6 kernel and file systems used a char for UID and GID.    
This meant that you could only have 255 (plus the root user) distinct 
users on the machine.     The JHU PDP-11/45 was used for the EE classes 
and we had more than that many users.    The kernel was modified to 
check if the GID was 200 or greater.   If it was, that was taken along 
with the UID to be part of the user identity.    We gave all the class 
accounts such GIDs.

Of course, we had to be careful about newgrp and fun and games with 
setuid/setgid (both the system call and the bits on the executables).
I spent a lot of my time looking for exploits there and fixing them once 
I (or someone else) found them.

[-- Attachment #2: Type: text/html, Size: 1665 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Book Recommendation
  2021-11-16 14:56   ` Clem Cole
  2021-11-16 15:37     ` Richard Salz
  2021-11-16 16:02     ` [TUHS] BASIC, RSTS, and UNIX Ron Natalie
@ 2021-11-16 17:02     ` Will Senn
  2021-11-16 21:38       ` John Cowan
  2021-11-16 18:27     ` Jon Steinhart
  3 siblings, 1 reply; 12+ messages in thread
From: Will Senn @ 2021-11-16 17:02 UTC (permalink / raw)
  To: tuhs

[-- Attachment #1: Type: text/plain, Size: 8817 bytes --]

I still heart BASIC. I enjoy it's simplicity. I started out on BASIC 
with a Commodore Pet ca. 1978. I still like to fire it up every now and 
then - Chipmunk on my Macbook, BAS/BAS2 on RSTS/11, RSX-11, BBC basic? 
on RISC OS, doesn't matter, they all do a fair job of BASIC. I 
especially like firing up  Berhard's pdp 8 simulator with teletype 
emulation and coding on the teletype - 
https://www.bernhard-baehr.de/pdp8e/pdp8e.html. Unix... well, I've not 
been real successful in getting it to work on v6, other folks maybe, but 
not me. By work, I mean, I type in reasonable BASIC and it runs 
reasonably :). The bas executable work fine, it's the human-computer 
interface that doesn't seem to wanna work, nothing I type in as a 
program more complex than 'hello, world' will run with any reliability.

On another note, I remember the days when people bad mouthed lovers of 
BASIC (in industry) and acted as though they were simpletons, later they 
became haters on VB folks. When I learned C, in my twenties, I felt 
empowered, but at the same time hamstrung, some of the simplest things 
in BASIC became an odyssey in C. Nowadays, I use Python more than 
anything else these (boring data sciency stuff). What I like about 
Python is that it reminds me of BASIC in its simplicity of expression, 
but to be fair, it goes far, far beyond it in power... I just wish it 
were as free form as Ruby in how you say, what you say... any, I digress...

My favorite BASIC book:

My Computer Likes Me*
*when I speak in BASIC

by Bob Albrecht

Written in 1972 (for a teletype interface)

On a less positive note. The professors who originally developed it at 
Dartmouth could never quite see there way clear to open source it. True 
BASIC? pshaw :). There was a time when I would have loved to run BASIC 
on linux, bsd, then Mac and have it be consistent across the platforms, 
other than as a curiosity, that time has gone.

My question for the group is what's BASIC's history in the unices? I 
know it's in v6, cuz I struggled with it there, but I'm curious what the 
backstory is? I have the impression that the marriage of bas and v6 was 
one of convenience, maybe there was a thought to draw in the hobbiest? 
Were Kemeny and Kurtz characters in the same circles as the unix folks?


Later,

Will

On 11/16/21 8:56 AM, Clem Cole wrote:
>
>
> On Mon, Nov 15, 2021 at 11:09 PM G. Branden Robinson 
> <g.branden.robinson@gmail.com> wrote:
>
>     It's hard to overstate the impact of BASIC on the first generation of
>     people who grew up with computers in the home instead of encountering
>     them only later in a time-sharing environment with professional
>     operators and administrators.
>
> FWIW:   A number of us learned BASIC in the late 1960s/early 1970s 
> (/i.e./ before the microprocessor versions ever appeared as they did 
> not yet exist).  Gates & Allen used it in HS on a PDP-10 with an 
> ASR-33, and I'm their same age.   I did the same thing in JHS and HS 
> on a GE-635 [Mark-II DTSS] and then later HP2000 [Community Computer 
> Services] - 10 cps baby, upper case only.
>
> What I don't know is if the PDP-8 BASIC came before the PDP-10 
> version.   But the point is that most of the mini's (nomatter the 
> manufacturer) had an implementation of BASICin the late 60s and early 
> 1970s, long before the micro's came on the scene.  I would later get 
> to know/work with a number of the people in DEC languages groups and I 
> do know that the syntax and semantics of the BASIC for RSTS 
> implementation originally was based on the PDP-10 BASIC (although they 
> did have some differences).
>
> In fact, DEC's RSTS/11 and the HP/2100 running BASIC were the two 
> systems that ended up being used by a lot of small timesharing shops 
> and eventually on-site at the high schools that could afford the HW. 
> The reason being that BASIC became popular on the small system was it 
> required fewer resources and because it was primarily interpreted 
> matched.  An urban legend is that when Gates opened in Microsoft in 
> AZ, he bartered time from the local high school running their RSTS 
> system for them in return for being able to use it as their 
> development system [I definitely know that he used their system, I'm 
> just now sure how he renumerated them for the computer time].
>
>
>     This is not because BASIC was a high quality language, especially as
>     stripped down by Microsoft and other implementors.
>
> It made perfect sense when Gates decided to implement it for the 
> Altair.   And he modeled his version on the DEC syntax and semantics - 
> because that was what he knew was used to from the PDP-10, and what he 
> and Paul had learned first.
>
>     Everybody knew there were bigger, better, or faster languages out
>     there,
>     but they were priced commercially and marketed at professionals.
>
> And more importantly, /requires many more resources/.  
> Consider UCSD-Pascal, you needed a disk-based system to run it, be an 
> LSI-11, Apple-IIe, or CP/M box.  The BASIC's often worked out of ROM. 
>  Hey, I can think of implementations of other languages such as 
> FORTRAN's, C, Cobol, PL/M, PL/1, and eventually many Pascals for the 
> different micro's, but they all took more HW to support the 
> edit/compile/link cycle.
>
> The point is that for a >>hobbyist<<, running BASIC was 'good 
> enough.'  The only HS in the late 1970s that I knew that could afford 
> a PDP 11/45 and actually ran UNIX on it, was Lincoln-Sudbury - which 
> is in a high-end suburban Boston.  They also had a lot of help from 
> parents who per professionals here in Boston working for places like 
> DEC, DG, Pr1me, Honeywell, and the like.   At that time, I was long 
> gone, but I now my father at my own prep school in 
> suburban Philadelphia dreamed of an 11/40 class system to run RSTS, 
> but they could not afford it. So if they wanted off a timesharing 
> service like the HP/21000, they bought small microprocessor (CP/M or 
> Apple-II) gear and ran them as a hobbyist would.
>
>
>     At one time, it was considered good sport to ridicule people whose
>     firstprogramming language was BASIC;
>
> I'm not so much sure it was that their first language was BASIC, as 
> much as they did not go beyond it.   I will say that once the HW 
> started to be able to support more complete languages (such as 
> Pascal), there was some of that.  I used to say the problem was that 
> they probably learned it in HS and their teachers did know more.
>
> My own father (who taught me BASIC on the GE-635 when I was in JHS), 
> knew only BASIC and FORTRAN because that was what he had learned 
> working part-time as a 'computer' at Rocketdyne in the late 
> 1950s/early 1960s.   By the late 60s, he was the first 'computer 
> teacher' at the prep school when I went (in Philadelphia, but not that 
> dissimilar to Bill Gates's experiences in Seattle at a local prep 
> school there). He taught us what he knew and /what he had access to/. 
> Eventually, I outpaced him a bit, and I started to learn a little 
> assembler for the HP because I was curious. But I came to a point 
> where I knew way more than he did before I left HS [BTW: Gates and 
> Allen tell a similar story - of learning PDP-10 assembler at some 
> point -- advancing ahead of their teachers].  The truth is I think my 
> Dad was a bit ahead of his time, /but he did not know what he did not 
> know /and did know to try to teach others anything other than BASIC 
> and FORTRAN/./
>
> FWIW: I went to CMU and had to be re-taught - being introduced to 
> Algol, real FORTRAN, IBM Assembler, APL (and eventually many of other 
> wonders). BTW: By the mid/late '70s, I had taught my Dad Pascal so he 
> could use it with USCD-Pascal with his 'advanced students' now that he 
> had a few Apple-IIe's that could run it.
>
>     after a while I figured out that thiswas a form of hazing, similar
>     to the snotty attitudes adopted by a
>     subset of student employees
>
> Point taken... and I there probably was a lot of those, particularly 
> later once the HW ability and cost available made it possible to have 
> a choice. But the problem was that most of the young people had come 
> from places where the educators that taught them BASIC did not know 
> better even if they had had enough HW to do it.
>
> Unfortunately, because the hobbyist and much of the press for 
> entry-level of the same, touted BASIC, many did not know better.   The 
> fact is I'm still now sure the HS and JHS are a lot better than they were.
>
> I'll let Steinhart reply, but he wrote an excellent book recently 
> targeted to just those same students that what to know more, but 
> frankly their HS teachers really are not in a position to teach them 
> properly.
>
> Clem
> ᐧ

[-- Attachment #2: Type: text/html, Size: 17632 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Book Recommendation
  2021-11-16 14:56   ` Clem Cole
                       ` (2 preceding siblings ...)
  2021-11-16 17:02     ` [TUHS] Book Recommendation Will Senn
@ 2021-11-16 18:27     ` Jon Steinhart
  2021-11-16 18:44       ` Heinz Lycklama
  3 siblings, 1 reply; 12+ messages in thread
From: Jon Steinhart @ 2021-11-16 18:27 UTC (permalink / raw)
  To: TUHS main list

Clem Cole writes:
> Unfortunately, because the hobbyist and much of the press for entry-level
> of the same, touted BASIC, many did not know better.   The fact is I'm
> still now sure the HS and JHS are a lot better than they were.
>
> I'll let Steinhart reply, but he wrote an excellent book recently targeted
> to just those same students that what to know more, but frankly their HS
> teachers really are not in a position to teach them properly.

Well thanks Clem :-)

I didn't actually hit BASIC until college where freshmen had to learn it
on the PDP-8.  Took me all of about 5 minutes to learn the language and
about a half a day to do the entire semester of coursework.  Got me off
to a good start on annoying my professors.

I think that my first programming language was SNAP running on a PDP8-E in
the (I don't remember the exact name) Princeton computer barn.  Because my
dad worked at IBM I remember going over to his VP's house to learn APL on
his home terminal.  FORTRAN on I think an IBM 1620 was next.  After that
was Heinz's FSNAP on the Honeywell DDP-516 at BTL.  Never thought to
ask before, Heinz - was FSNAP based on SNAP?  Assembler came after that,
followed by C.  I know, what's the difference?  Then Pascal in college
which was dreadful after C.  I asked my professor to give me a few pointers
on how to program with fixed length arrays but he couldn't give me any :-)

It's my opinion that BASIC was a good thing in its day but that that time
has passed.  Part of what made it the goto language was its simplicity;
there wasn't much to learn and there was no complex toolchain so time was
spend on figuring out how to structure a problem so that it could be solved
on a computer.  In my not very humble opinion, this is the fundamental
(or should I say basic) problem with CS education today; the effort is
focused on learning the language and the toolchain, not how to think and
solve problems.  Somehow many of us learned to program in BASIC without a
"Hello World" tutorial.

Another big factor in those days was that the consequences for getting
something wrong were pretty much nonexistent.  What was the worst that
could happen, you'd accidentally output an obscenity?  Give what computers
were used for back then, getting the math wrong was more likely than having
a logic error.  I didn't have to worry about buggy code destroying anything
until a project where I modified FSNAP to control semiconductor test
equipment.

I have tried when mentoring to get people to start with simple
character oriented programs but of course everyone (especially boys)
want to start with a video game.  This immediately means having to deal
with multithreaded code (even if it's somewhat hidden) and complex APIs.
All of this is a distraction from learning how to think and solve problems.
As a result, we're producing a lot of "programmers" who can wrangle this
stuff while having no idea how to solve a problem.  I think that a glance
at stackoverflow backs me up here.  It's extremely frustrating: "I want to
write a video game where I can shoot something."  "Cool.  Let's learn
some physics."  "I don't want to learn physics, I want to shoot something."

As an aside, I saw an article recently where someone was lauding the
github "AI" code writing thing.  The author wrote something like "Wow.
I asked it to replace spaces in a string with underscores and it just
gave me the code."  Arrrrggggghhhh!!!  IMNVHO this person should never be
allowed near a computer.  If you can't do this without help you shouldn't
be programming.

Like usual, I'm rambling, but one more related thing.  I'm mentoring a CS
student who has to do a project this year.  My advice was that I didn't
care what the project actually did, but that it should be based on an
Arduino and written in C and assembler without any of the sketch library
stuff.  The goal being to learn to read a data sheet, program I/O devices,
and handle interrupts.  All on a processor that's not too complicated.

Jon

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Book Recommendation
  2021-11-16 18:27     ` Jon Steinhart
@ 2021-11-16 18:44       ` Heinz Lycklama
  0 siblings, 0 replies; 12+ messages in thread
From: Heinz Lycklama @ 2021-11-16 18:44 UTC (permalink / raw)
  To: tuhs

Jon, regarding FSNAP - wrote it from scratch.
Did not know about SNAP at the time.

Heinz

On 11/16/2021 10:27 AM, Jon Steinhart wrote:
> Clem Cole writes:
>> Unfortunately, because the hobbyist and much of the press for entry-level
>> of the same, touted BASIC, many did not know better.   The fact is I'm
>> still now sure the HS and JHS are a lot better than they were.
>>
>> I'll let Steinhart reply, but he wrote an excellent book recently targeted
>> to just those same students that what to know more, but frankly their HS
>> teachers really are not in a position to teach them properly.
> Well thanks Clem :-)
>
> I didn't actually hit BASIC until college where freshmen had to learn it
> on the PDP-8.  Took me all of about 5 minutes to learn the language and
> about a half a day to do the entire semester of coursework.  Got me off
> to a good start on annoying my professors.
>
> I think that my first programming language was SNAP running on a PDP8-E in
> the (I don't remember the exact name) Princeton computer barn.  Because my
> dad worked at IBM I remember going over to his VP's house to learn APL on
> his home terminal.  FORTRAN on I think an IBM 1620 was next.  After that
> was Heinz's FSNAP on the Honeywell DDP-516 at BTL.  Never thought to
> ask before, Heinz - was FSNAP based on SNAP?  Assembler came after that,
> followed by C.  I know, what's the difference?  Then Pascal in college
> which was dreadful after C.  I asked my professor to give me a few pointers
> on how to program with fixed length arrays but he couldn't give me any :-)
>
> It's my opinion that BASIC was a good thing in its day but that that time
> has passed.  Part of what made it the goto language was its simplicity;
> there wasn't much to learn and there was no complex toolchain so time was
> spend on figuring out how to structure a problem so that it could be solved
> on a computer.  In my not very humble opinion, this is the fundamental
> (or should I say basic) problem with CS education today; the effort is
> focused on learning the language and the toolchain, not how to think and
> solve problems.  Somehow many of us learned to program in BASIC without a
> "Hello World" tutorial.
>
> Another big factor in those days was that the consequences for getting
> something wrong were pretty much nonexistent.  What was the worst that
> could happen, you'd accidentally output an obscenity?  Give what computers
> were used for back then, getting the math wrong was more likely than having
> a logic error.  I didn't have to worry about buggy code destroying anything
> until a project where I modified FSNAP to control semiconductor test
> equipment.
>
> I have tried when mentoring to get people to start with simple
> character oriented programs but of course everyone (especially boys)
> want to start with a video game.  This immediately means having to deal
> with multithreaded code (even if it's somewhat hidden) and complex APIs.
> All of this is a distraction from learning how to think and solve problems.
> As a result, we're producing a lot of "programmers" who can wrangle this
> stuff while having no idea how to solve a problem.  I think that a glance
> at stackoverflow backs me up here.  It's extremely frustrating: "I want to
> write a video game where I can shoot something."  "Cool.  Let's learn
> some physics."  "I don't want to learn physics, I want to shoot something."
>
> As an aside, I saw an article recently where someone was lauding the
> github "AI" code writing thing.  The author wrote something like "Wow.
> I asked it to replace spaces in a string with underscores and it just
> gave me the code."  Arrrrggggghhhh!!!  IMNVHO this person should never be
> allowed near a computer.  If you can't do this without help you shouldn't
> be programming.
>
> Like usual, I'm rambling, but one more related thing.  I'm mentoring a CS
> student who has to do a project this year.  My advice was that I didn't
> care what the project actually did, but that it should be based on an
> Arduino and written in C and assembler without any of the sketch library
> stuff.  The goal being to learn to read a data sheet, program I/O devices,
> and handle interrupts.  All on a processor that's not too complicated.
>
> Jon


^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Book Recommendation
  2021-11-16 17:02     ` [TUHS] Book Recommendation Will Senn
@ 2021-11-16 21:38       ` John Cowan
  2021-11-16 21:46         ` Will Senn
  0 siblings, 1 reply; 12+ messages in thread
From: John Cowan @ 2021-11-16 21:38 UTC (permalink / raw)
  To: Will Senn; +Cc: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 804 bytes --]

On Tue, Nov 16, 2021 at 12:06 PM Will Senn <will.senn@gmail.com> wrote:


> On a less positive note. The professors who originally developed it at
> Dartmouth could never quite see there way clear to open source it. True
> BASIC? pshaw :).
>

Yes, well, universities have always been all about the money.

> There was a time when I would have loved to run BASIC on linux, bsd, then
> Mac and have it be consistent across the platforms, other than as a
> curiosity, that time has gone.
>

Not so much.  Bywater Basic (bwbasic), which is a much-extended clone of
GW-Basic, and a clone of Commodore-64 Basic (cbmbasic) are both open
source, TTY-oriented, and portable to most operating systems and Windows.
There are lots of other Basics around: see <
https://en.wikipedia.org/wiki/List_of_BASIC_dialects>.

[-- Attachment #2: Type: text/html, Size: 1936 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

* Re: [TUHS] Book Recommendation
  2021-11-16 21:38       ` John Cowan
@ 2021-11-16 21:46         ` Will Senn
  0 siblings, 0 replies; 12+ messages in thread
From: Will Senn @ 2021-11-16 21:46 UTC (permalink / raw)
  To: John Cowan; +Cc: TUHS main list

[-- Attachment #1: Type: text/plain, Size: 497 bytes --]

On 11/16/21 3:38 PM, John Cowan wrote:
>
> Not so much.  Bywater Basic (bwbasic), which is a much-extended clone 
> of GW-Basic, and a clone of Commodore-64 Basic (cbmbasic) are both 
> open source, TTY-oriented, and portable to most operating systems and 
> Windows.  There are lots of other Basics around: see 
> <https://en.wikipedia.org/wiki/List_of_BASIC_dialects>.
>
I meant those times were gone for me. BASIC is alive and well and there 
are versions for pretty much any platform now :).

[-- Attachment #2: Type: text/html, Size: 1430 bytes --]

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2021-11-16 21:49 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-16  3:16 [TUHS] Book Recommendation Douglas McIlroy
2021-11-16  4:08 ` G. Branden Robinson
2021-11-16 14:56   ` Clem Cole
2021-11-16 15:37     ` Richard Salz
2021-11-16 15:50       ` Adam Thornton
2021-11-16 16:02     ` [TUHS] BASIC, RSTS, and UNIX Ron Natalie
     [not found]       ` <CAC20D2OT6ZcFOqnNCkqDUfAKy87wYu7mp7xx0ozzAT0eN1wr8g@mail.gmail.com>
2021-11-16 16:43         ` [TUHS] Speaking of groups: JHU Ownership Ron Natalie
2021-11-16 17:02     ` [TUHS] Book Recommendation Will Senn
2021-11-16 21:38       ` John Cowan
2021-11-16 21:46         ` Will Senn
2021-11-16 18:27     ` Jon Steinhart
2021-11-16 18:44       ` Heinz Lycklama

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).