Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Fifty Years of BASIC, the Programming Language That Made Computers Personal

527 views
Skip to first unread message

Anne & Lynn Wheeler

unread,
Apr 29, 2014, 9:45:09 AM4/29/14
to

Fifty Years of BASIC, the Programming Language That Made Computers
Personal
http://time.com/69316/basic/

recent threads mentioning basic
http://www.garlic.com/~lynn/2014e.html#74 Another Golden Anniversary - Dartmouth BASIC
http://www.garlic.com/~lynn/2014f.html#4 Another Golden Anniversary - Dartmouth BASIC
http://www.garlic.com/~lynn/2014f.html#5 Before the Internet: The golden age of online services
http://www.garlic.com/~lynn/2014f.html#11 Before the Internet: The golden age of online services

--
virtualization experience starting Jan1968, online at home since Mar1970

hanc...@bbs.cpcn.com

unread,
Apr 29, 2014, 11:33:10 AM4/29/14
to
On Tuesday, April 29, 2014 9:45:09 AM UTC-4, Anne & Lynn Wheeler wrote:
> http://time.com/69316/basic/

Thanks for posting the article! Very interesting. BASIC was my first computer language, and I still use it occasionally to this day.

Bill Leary

unread,
Apr 29, 2014, 7:31:01 PM4/29/14
to
wrote in message
news:3c74cffb-269d-41c4...@googlegroups.com...
Yes, thanks for posting. It's pretty good, especially for a popular
article.

It's my recollection that "Beginner’s All-Purpose Symbolic Instruction Code"
is a backronym. Anyone else remember it that way? The article implies that
this is what BASIC meant from the get-go.

- Bill

Quadibloc

unread,
Apr 29, 2014, 11:46:36 PM4/29/14
to
On Tuesday, April 29, 2014 5:31:01 PM UTC-6, Bill Leary wrote:

> It's my recollection that "Beginner's All-Purpose Symbolic Instruction Code"
> is a backronym. Anyone else remember it that way? The article implies that
> this is what BASIC meant from the get-go.

The movie is correct; that name was coined by Kemeny and Kurtz.

John Savard

Michael Black

unread,
Apr 30, 2014, 12:10:41 AM4/30/14
to
On Tue, 29 Apr 2014, Bill Leary wrote:

> wrote in message
> news:3c74cffb-269d-41c4...@googlegroups.com...
>> On Tuesday, April 29, 2014 9:45:09 AM UTC-4, Anne & Lynn Wheeler wrote:
>>> http://time.com/69316/basic/
>>
>> Thanks for posting the article! Very interesting. BASIC was my first
>> computer
>> language, and I still use it occasionally to this day.
>
> Yes, thanks for posting. It's pretty good, especially for a popular article.
>
> It's my recollection that "Beginner?s All-Purpose Symbolic Instruction Code"
> is a backronym. Anyone else remember it that way? The article implies that
> this is what BASIC meant from the get-go.
>
I found a used book, I think by Kemeny, that came out early enough that it
likely does say something about that, but I have no idea of the title, or
which pile of books it might be in. I seem to recall it went into
timesharing too.

Michael

Mike Spencer

unread,
Apr 30, 2014, 3:02:25 AM4/30/14
to
Not his only claim to fame. I have Kemeny's textbook/monograph on
Markov chains.

--
Mike Spencer Nova Scotia, Canada

Rob Warnock

unread,
Apr 30, 2014, 5:33:17 AM4/30/14
to
<hanc...@bbs.cpcn.com> wrote:
+---------------
| Anne & Lynn Wheeler wrote:
| > http://time.com/69316/basic/
|
| BASIC was my first computer language,
| and I still use it occasionally to this day.
+---------------

Ah, yezz, BASIC. The language about which Dijkstra had this to say:

http://www.cs.utexas.edu/users/EWD/ewd04xx/EWD498.PDF
How do we tell truths that might hurt?
Edsger W. Dijkstra, 18 June 1975
...
- It is practically impossible to teach good programming
to students that have had a prior exposure to BASIC:
as potential programmers they are mentally mutilated
beyond hope of regeneration.

That's also the manuscript that contains this zinger:

- In the good old days physicists repeated each other's
experiments, just to be sure. Today they stick to FORTRAN,
so that they can share each other's programs, bugs included.

And my favorite:

- Programming is one of the most difficult branches of
applied mathematics; the poorer mathematicians had
better remain pure mathematicians.


-Rob

-----
Rob Warnock <rp...@rpw3.org>
627 26th Avenue <http://rpw3.org/>
San Mateo, CA 94403

Bill Leary

unread,
Apr 30, 2014, 7:08:45 AM4/30/14
to
"Quadibloc" wrote in message
news:67df721b-7754-45ad...@googlegroups.com...
Could be. But I’m not saying it wasn't one of the creators who came up with
it. I'm saying that the name "BASIC" came first then the meanings for it's
letters were devised.

- Bill

Quadibloc

unread,
Apr 30, 2014, 10:28:25 AM4/30/14
to
On Wednesday, April 30, 2014 5:08:45 AM UTC-6, Bill Leary wrote:

> Could be. But I'm not saying it wasn't one of the creators who came up with
> it. I'm saying that the name "BASIC" came first then the meanings for it's
> letters were devised.

Well, that's a different thing from saying the article was wrong. The expansion was given in the manual used at Dartmouth dated October 1, 1964 at Bitsavers. Certainly, it is very likely that the long name was devised deliberately to yield an attractive short form. But that wouldn't prevent it being there from 'the beginning', that is, from the first time the language was made available.

John Savard

hanc...@bbs.cpcn.com

unread,
Apr 30, 2014, 10:43:43 AM4/30/14
to
On Wednesday, April 30, 2014 5:33:17 AM UTC-4, Rob Warnock wrote:

> Ah, yezz, BASIC. The language about which Dijkstra had this to say:
> http://www.cs.utexas.edu/users/EWD/ewd04xx/EWD498.PDF
> How do we tell truths that might hurt?
> Edsger W. Dijkstra, 18 June 1975

That document makes no sense.

Dijkstra criticizes everything in the computer world, yet offers no justification for his comments. Nor does he propose superior alternatives.


sarr.b...@alum.dartmouth.org

unread,
Apr 30, 2014, 11:09:49 AM4/30/14
to
Mike Spencer <m...@bogus.nodomain.nowhere> wrote:

: Not his only claim to fame. I have Kemeny's textbook/monograph on
: Markov chains.

Of course chairing the 3 Mile Island investigation got him some
publicity, too.

Andrew Swallow

unread,
Apr 30, 2014, 11:41:22 AM4/30/14
to
It could be a feedback process. They may have started with B from
Beginners, which led to BASIC and then completed the letters.

Andrew Swallow

Joe Pfeiffer

unread,
Apr 30, 2014, 1:19:26 PM4/30/14
to
For a sufficiently strict definition, there is no such thing as an
acronym. It must be vanishingly rare that somebody comes up with a name
for something, and then says "hey, look! The initials make a word!" If
they came up with the acronym before telling anybody else it was called
BASIC, that would fit most people's criteria.

hanc...@bbs.cpcn.com

unread,
Apr 30, 2014, 1:35:36 PM4/30/14
to
On Tuesday, April 29, 2014 7:31:01 PM UTC-4, Bill Leary wrote:

> It's my recollection that "Beginner's All-Purpose Symbolic Instruction Code"
> is a backronym. Anyone else remember it that way? The article implies that
> this is what BASIC meant from the get-go.

Well, early literature included the full name.

But does it really matter? Eeryone referred to it as BASIC and didn't really care what it stood for, just as people referred to FORTRAN and COBOL, and didn't care what they stood for.

Heck, today, while most people know a .jpg is a picture and a .pdf is an Adobe fle, most people don't know--nor care--what those initials stand for.

Some years ago there was a discount chain known as E. J. Korvettes. A myth developed that it stood for "Eight Jewish Korean Veterans", but that was false. Korvette was a fighter and it sounded cool, so they took the name.

Then we have RPG:
--rocket propelled grenade
--role playing game
--report program generator (this came out in 1960 and I suspect was the first usage).

Anne & Lynn Wheeler

unread,
Apr 30, 2014, 1:52:28 PM4/30/14
to
Joe Pfeiffer <pfei...@cs.nmsu.edu> writes:
> For a sufficiently strict definition, there is no such thing as an
> acronym. It must be vanishingly rare that somebody comes up with a name
> for something, and then says "hey, look! The initials make a word!" If
> they came up with the acronym before telling anybody else it was called
> BASIC, that would fit most people's criteria.

re:
http://www.garlic.com/~lynn/2014f.html#55 Fifty Years of BASIC, the Programming Language That Made Computers Personal

science center
http://www.garlic.com/~lynn/subtopic.html#545tech

did a couple things with peoples' initials and then had to
come up with something for their initials

a couple recent scans
https://www.facebook.com/lynn.wheeler/posts/10203018063788164
and
https://www.facebook.com/lynn.wheeler/posts/10203018065228200

blue 360/67 card I got from former co-worker at science center ... the "M"
in GML (invented at the science center in 1969), precursor to SGML,
HTML, etc ("G", "M", and "L" are three inventors of GML)
http://www.garlic.com/~lynn/submain.html#sgml

another is compare-and-swap instruction, charlie (CAS are his
initials) had invented the compare-and-swap instruction while
working on fine-grain multiprocessor locking for cp67 ... some
past posts mentioning multiprocessor and/or compare-and-swap
http://www.garlic.com/~lynn/subtopic.html#smp

also referenced in scans

Aug1976, Tymshare started providing its VM370/CMS-based online computer
conferencing facility to SHARE organization (for free). Archives here:
http://vm.marist.edu/~vmshare
I was able to set up process where they sent me regular tape of all
VMSHARE files which I would put up on internal IBM network ... some old
email mentioning VMSHARE
http://www.garlic.com/~lynn/lhwemail.html#vmshare

and "SHARE" sing-along at SCIDS ... does anybody remember "bony fingers"
(working your fingers to the bone on MVS)? Supposedly a member of share
was relative of member of the band and got it adapted and performed at
SCIDS.
http://www.songlyrics.com/hoyt-axton/bony-fingers-1974-lyrics/
and
http://www.youtube.com/watch?v=eqf2daVP3yI&feature=kp

hanc...@bbs.cpcn.com

unread,
Apr 30, 2014, 2:07:00 PM4/30/14
to
Dartmouth website--various activities to celebrate anniversary:

http://www.dartmouth.edu/basicfifty/events.html

Rich Alderson

unread,
Apr 30, 2014, 2:36:44 PM4/30/14
to
The naming was probably influenced by the existence of an artificial language
called "BASIC English", where the qualifying adjective was an abbreviation of
"Business Agriculture(?) Science Industry Commerce" (as I remember from an
encyclopaedia article from my childhood--I can't find any reference to the name
itself on the 'Net).

--
Rich Alderson ne...@alderson.users.panix.com
the russet leaves of an autumn oak/inspire once again the failed poet/
to take up his pen/and essay to place his meagre words upon the page...

Peter Flass

unread,
Apr 30, 2014, 8:53:47 PM4/30/14
to
Don't pay much attention to military jargon, do you? ;-)

--
Pete

Michael Black

unread,
Apr 30, 2014, 7:28:14 PM4/30/14
to
On Wed, 30 Apr 2014, Peter Flass wrote:

> On 04/30/2014 01:19 PM, Joe Pfeiffer wrote:
>> Andrew Swallow <am.sw...@btinternet.com> writes:
>>
>>> On 30/04/2014 12:08, Bill Leary wrote:
>>>> "Quadibloc" wrote in message
>>>> news:67df721b-7754-45ad...@googlegroups.com...
>>>>> On Tuesday, April 29, 2014 5:31:01 PM UTC-6, Bill Leary wrote:
>>>>>> It's my recollection that "Beginner's All-Purpose Symbolic
>>>>>> Instruction Code"
>>>>>> is a backronym. Anyone else remember it that way? The article
>>>>>> implies that
>>>>>> this is what BASIC meant from the get-go.
>>>>>
>>>>> The movie is correct; that name was coined by Kemeny and Kurtz.
>>>>
>>>> Could be. But I?m not saying it wasn't one of the creators who came up
>>>> with it. I'm saying that the name "BASIC" came first then the meanings
>>>> for it's letters were devised.
>>>>
>>>> - Bill
>>>>
>>>
>>> It could be a feedback process. They may have started with B from
>>> Beginners, which led to BASIC and then completed the letters.
>>
>> For a sufficiently strict definition, there is no such thing as an
>> acronym. It must be vanishingly rare that somebody comes up with a name
>> for something, and then says "hey, look! The initials make a word!" If
>> they came up with the acronym before telling anybody else it was called
>> BASIC, that would fit most people's criteria.
>>
>
> Don't pay much attention to military jargon, do you? ;-)
>
Is your point that there are often two versions when it comes to military?
The standard issue, and the soldier's variant on that?

Or for that matter, the one for public view, and the one the soldiers
actually used? SNAFU comes to mind there.

Michael

Joe Pfeiffer

unread,
Apr 30, 2014, 10:45:05 PM4/30/14
to
Point taken -- but most of the military acronyms aren't pre-existing
words.

Michael Black

unread,
Apr 30, 2014, 11:46:39 PM4/30/14
to
On Wed, 30 Apr 2014, hanc...@bbs.cpcn.com wrote:

> Dartmouth website--various activities to celebrate anniversary:
>
> http://www.dartmouth.edu/basicfifty/events.html
>
There was something on the news tonight about how cubicles are 50 years
old now.

So there's quite the alignment, BASIC, cubicles, The Beatles, Freedom
Summer, the 1964 New York World's Fair, the Merry Prankster's bus trip to
that fair.

Michael

greymausg

unread,
May 1, 2014, 5:55:02 AM5/1/14
to
Favourite one I heard of, The British Army would mark dud equipment with
"US", until American tackle started to arrive in N.Africa, when diplomacy
forced a change.


--
maus
.
.
...

Bill Leary

unread,
May 1, 2014, 8:49:24 AM5/1/14
to
"Quadibloc" wrote in message
news:67a89fdf-9145-4892...@googlegroups.com...
> On Wednesday, April 30, 2014 5:08:45 AM UTC-6, Bill Leary wrote:
>> Could be. But I'm not saying it wasn't one of the creators who came up
>> with
>> it. I'm saying that the name "BASIC" came first then the meanings for
>> it's
>> letters were devised.
>
> Well, that's a different thing from saying the article was wrong.

I didn't say the article was wrong. I asked a question. Specifically:

"It's my recollection that "Beginner's All-Purpose Symbolic Instruction
Code" is a backronym. Anyone else remember it that way? The article
implies that this is what BASIC meant from the get-go."

Your response of:

> The expansion was given in the manual used at Dartmouth dated October 1,
> 1964
> at Bitsavers. Certainly, it is very likely that the long name was devised
> deliberately
> to yield an attractive short form. But that wouldn't prevent it being
> there from 'the
> beginning', that is, from the first time the language was made available."

Is the kind of answer I was looking for.

- Bill

Peter Flass

unread,
May 1, 2014, 1:50:16 PM5/1/14
to
_Everything_ in the military is an acronym. for example COMSUBPAC =
Commander, Submarine Force, Pacific Fleet, no one uses the full name.


--
Pete

hanc...@bbs.cpcn.com

unread,
May 1, 2014, 11:33:33 AM5/1/14
to
On Wednesday, April 30, 2014 7:28:14 PM UTC-4, Michael Black wrote:

> Or for that matter, the one for public view, and the one the soldiers
> actually used? SNAFU comes to mind there.

As an aside, Warners Bros with Dr. Seuss made a series of motivational cartoons for the army in WW II called, "Private Snafu". These are funny, but real, vignettes about proper use of mosquito netting, keeping secrets, etc. They were out on video tape, and probably out on DVD. By 1940s standards they were a bit risque, with topless girls being friendly but actually spies.



JimP.

unread,
May 1, 2014, 2:53:17 PM5/1/14
to
Ah yes. Snafuperman ! Saw him on Night Flight back about 1988.

JimP
--
"Brushing aside the thorns so I can see the stars." from 'Ghost in the Shell'
http://www.linuxgazette.net/ Linux Gazette
http://travellergame.drivein-jim.net/ February, 2014

hanc...@bbs.cpcn.com

unread,
May 1, 2014, 3:17:05 PM5/1/14
to
On Thursday, May 1, 2014 2:53:17 PM UTC-4, JimP. wrote:

> >As an aside, Warners Bros with Dr. Seuss made a series of motivational cartoons for the army in WW II called, "Private Snafu". These are funny, but real, vignettes about proper use of mosquito netting, keeping secrets, etc. They were out on video tape, and probably out on DVD. By 1940s standards they were a bit risque, with topless girls being friendly but actually spies.
> Ah yes. Snafuperman ! Saw him on Night Flight back about 1988.

There's a bunch of selections in Amazon.com under "priavate snafu"

As an aside, TCM shows wartime citizen motivational films and documentaries from time to time. Some of them are very skilled propaganda efforts. For instance, one shows a town where a new munitions factory is planned, but at first, no one in the town is interested or able to work there. But after a town hall meeting (loaded with sap, like a discrete gold star father), the towns folk give it more thought and find/make the time to work at the plant.

It seemed like every war time movie showed the characters facing a lot of adversity and knuckling under, but then realizing the importance of the war effort, put aside their personal problems find their inner strength, and march forward, doing the right thing.

In real life, people generally did voluntarily make the sacrifices needed for the war effort, but there was also quite a bit of nibbling around the edges, such as a significant black market and cheating.

Charles Richmond

unread,
May 1, 2014, 4:39:31 PM5/1/14
to
"Mike Spencer" <m...@bogus.nodomain.nowhere> wrote in message
news:87fvkvm...@nudel.nodomain.nowhere...
John Kemeny was also research assistant to Albert Einstein at Princeton.
Kemeny would work through the same math problems as Einstein and the answers
would be compared.

--

numerist at aquaporin4 dot com

Michael Black

unread,
May 1, 2014, 5:44:46 PM5/1/14
to
Now that's interesting.

I wasn't trying to put limits on him, just that the book I'm thinking of
came soon (I thought) after BASIC came about, so it might give insight
into how the name came about. It wasn't a general biography.

Michael

Shmuel Metz

unread,
May 1, 2014, 8:09:56 PM5/1/14
to
In <ljrnsc$h03$2...@dont-email.me>, on 04/30/2014
at 08:53 PM, Peter Flass <Peter...@Yahoo.com> said:

>Don't pay much attention to military jargon, do you? ;-)

FTA?

FUBAR?

FYBIS?

FYIGMO?

GP?

RADAR?

--
Shmuel (Seymour J.) Metz, SysProg and JOAT <http://patriot.net/~shmuel>

Unsolicited bulk E-mail subject to legal action. I reserve the
right to publicly post or ridicule any abusive E-mail. Reply to
domain Patriot dot net user shmuel+news to contact me. Do not
reply to spam...@library.lspace.org

hanc...@bbs.cpcn.com

unread,
May 1, 2014, 8:56:33 PM5/1/14
to
On Thursday, May 1, 2014 4:39:31 PM UTC-4, Charles Richmond wrote:

> John Kemeny was also research assistant to Albert Einstein at Princeton. Kemeny would work through the same math problems as Einstein and the answers would be compared.

According to Feynman, one of the two worked at Los Alamos and were grilled under the lights for an alleged indiscretion.

Suspected problem people at Los Alamos were shipped to combat in the South Pacific. To think how much we would've lost if one of those guys had been killed during the war.


Michael Black

unread,
May 1, 2014, 9:27:18 PM5/1/14
to
On Thu, 1 May 2014, Shmuel (Seymour J.) Metz wrote:

> In <ljrnsc$h03$2...@dont-email.me>, on 04/30/2014
> at 08:53 PM, Peter Flass <Peter...@Yahoo.com> said:
>
>> Don't pay much attention to military jargon, do you? ;-)
>
> FTA?
>
Does that have a triple meaning?

The only two that come to mind was Jane Fonda's "Free the Army" project in
the early seventies, and that one had a vulgar variatn to it.

Michael

Bob Martin

unread,
May 2, 2014, 1:51:24 AM5/2/14
to
It was "u/s" for unservicable.

Charlie Gibbs

unread,
May 2, 2014, 12:47:40 PM5/2/14
to
In article <bsgtjc...@mid.individual.net>, bob.m...@excite.com
And it's in use in aviation to this day.

--
/~\ cgi...@kltpzyxm.invalid (Charlie Gibbs)
\ / I'm really at ac.dekanfrus if you read it the right way.
X Top-posted messages will probably be ignored. See RFC1855.
/ \ HTML will DEFINITELY be ignored. Join the ASCII ribbon campaign!

Shmuel Metz

unread,
May 2, 2014, 8:45:26 AM5/2/14
to
In <alpine.LNX.2.02.1...@darkstar.example.org>, on
05/01/2014
at 09:27 PM, Michael Black <et...@ncf.ca> said:

>Does that have a triple meaning?

Future Teachers of America? The one that I knew involved knowing the
army carnally.

Lon

unread,
May 2, 2014, 7:54:27 PM5/2/14
to
On 5/1/2014 7:27 PM, Michael Black wrote:
> On Thu, 1 May 2014, Shmuel (Seymour J.) Metz wrote:
>
>> In <ljrnsc$h03$2...@dont-email.me>, on 04/30/2014
>> at 08:53 PM, Peter Flass <Peter...@Yahoo.com> said:
>>
>>> Don't pay much attention to military jargon, do you? ;-)
>>
>> FTA?
>>
> Does that have a triple meaning?
>
> The only two that come to mind was Jane Fonda's "Free the Army" project
> in the early seventies, and that one had a vulgar variatn to it.

FTA was in use long before Jane Fonda was the result of a busted condom
incident. It did not mean Fun, Travel, and Adventure.




sarr.b...@alum.dartmouth.org

unread,
May 5, 2014, 9:52:44 AM5/5/14
to
hanc...@bbs.cpcn.com wrote:
: On Thursday, May 1, 2014 4:39:31 PM UTC-4, Charles Richmond wrote:

: > John Kemeny was also research assistant to Albert Einstein at Princeton. Kemeny would work through the same math problems as Einstein and the answers would be compared.

: According to Feynman, one of the two worked at Los Alamos and were grilled under the lights for an alleged indiscretion.

Kemeny worked at Los Alamos. Integrating systems of differential equations on an IBM 407.


hanc...@bbs.cpcn.com

unread,
May 5, 2014, 2:38:14 PM5/5/14
to
On Tuesday, April 29, 2014 9:45:09 AM UTC-4, Anne & Lynn Wheeler wrote:
> Fifty Years of BASIC, the Programming Language That Made Computers

Dartmouth posted the original introductory BASIC manual:
http://www.dartmouth.edu/basicfifty/basicmanual_1964.pdf

Curiously, I didn't see any reference to storing a program on paper tape, or tape punches and readers on the teletypes they used in the picutres. They mention saving the program onto disk (will stay for a month).
http://now.dartmouth.edu/2014/04/back-to-basic-computings-future-was-born-at-dartmouth/


Michael Black

unread,
May 5, 2014, 2:41:51 PM5/5/14
to
It was of course an interpreter (or was it? I seem to recall debate about
whether BASIC was originally an interpreter) and interactive. So saving
to disk made sense.

Also, since it seemed to be more a language to get familiar with
programming basics (and learning bad programming habits according to
some), it was less about producing something, and more about learning.

Michael

hanc...@bbs.cpcn.com

unread,
May 5, 2014, 3:01:55 PM5/5/14
to
On Monday, May 5, 2014 2:41:51 PM UTC-4, Michael Black wrote:

> It was of course an interpreter (or was it? I seem to recall debate about
> whether BASIC was originally an interpreter) and interactive. So saving
> to disk made sense.

Over the years, BASIC has existed as both an interpreter and compiler. I think the differece was largely transparent to most users in a time sharing environment.

I'm not sure why that would make any difference in regard to saving the program. Compiled programs were always recompiled upon entry of the RUN command.

IIRC, on HP-2000 BASIC, there was an option to save a binary version of the program to speed usage, but again, I'm not sure if that made any signficiant difference.

There were both compiled and interpreted versions for the Microsoft BASICs. The "QBASIC" included with MS-DOS was interpreted. The QuickBASIC 4.5 or BASIC 7.0 were compilers, which the capability to create and save an .EXE module that could be run independently. A compiled program ran noticeably quicker than the interpreted version if it was doing a lot of work. Compiled QB 4.5 programs ran incredibly faster on later era machines. However, I don't know if they'll work on the latest Windows DOS which is 64 bit.

(The QuickBASIC compiler was for light duty use and inexpensive to purchase. The PDS BASIC was for industrial use and expensive. It had a few more features. Probably not worth the extra cost unless one really needed those extra features. I bought it, never used it at first, and when I finally did the disks wouldn't read in. M/S said too bad, even though I was a registered user and it cost serious money.)

Later MS came out with Visual BASIC. I think again there were interpreted versions for student use (like the VB that came on a CD in the textbook), and a compiler for more serious work.


> Also, since it seemed to be more a language to get familiar with
> programming basics (and learning bad programming habits according to
> some), it was less about producing something, and more about learning.

BASIC was intended as both a teaching tool AND about producing results.

BASIC was an excellent teaching tool in that it allowed students to understand the fundamental concepts of computer programming without wasting a lot of time on unnecessary esoteric details. For instance, in FORTRAN, one must learn the difference between REAL and INTEGER variables and the naming convention, and how to use a FORMAT statement to get anything in and out. It's not necessary in BASIC unless one wants to get fancy. BASIC users did have advanced features of the language if they wanted to do more sophisticated stuff.

BASIC did not teach bad programming habits.


As to producing results, it was certainly used by businesses to get results. GE Timesharing was a big business for many years. Further, it was very useful for computations in an academic environment--one could do some heavy numeric analysis with just a few BASIC statements. Today, BASIC remains very useful for quick and dirty programs in certain situations.

Quadibloc

unread,
May 5, 2014, 4:43:28 PM5/5/14
to
On Monday, May 5, 2014 12:41:51 PM UTC-6, Michael Black wrote:

> It was of course an interpreter (or was it? I seem to recall debate about
> whether BASIC was originally an interpreter) and interactive. So saving
> to disk made sense.

The original Kemeny and Kurtz implementation of BASIC was a compiler - it ran on a GE-235 mainframe computer. But _most_ early implementations of BASIC, like the first one I encountered, which was probably CINET BASIC on the PDP-8/e, were interpreters.

John Savard

Quadibloc

unread,
May 5, 2014, 4:46:50 PM5/5/14
to
On Monday, May 5, 2014 1:01:55 PM UTC-6, hanc...@bbs.cpcn.com wrote:
> The "QBASIC" included with MS-DOS was interpreted.

Actually, while BASICA and GW-BASIC were interpreted, the later QBASIC that came with DOS 5 and later versions was a compiler. Not, perhaps, the most stunningly efficient compiler in the world, but definitely a compiler - a quick and interactive one, rather than a heavily optimizing one. And it didn't let you save the object code it generated.

So Borland's Turbo Basic, for example, produced programs that executed significantly more quickly, but that didn't mean that QBASIC didn't compile.

John Savard

Peter Flass

unread,
May 5, 2014, 5:17:12 PM5/5/14
to
(IIRC) BASIC had no structured concepts except GOSUB, and that didn't pass
arguments. It had no "switch"-type statement, no ELSE(?), no concept of
blocks of code. It did have that bete-noir of structure advocates, the
GOTO.

OTOH, it was FORTRAN-lite, and FORTRAN was the language de jour at the time
BASIC was developed.

What's the situation with DTSS source code?

>
>
> As to producing results, it was certainly used by businesses to get
> results. GE Timesharing was a big business for many years. Further, it
> was very useful for computations in an academic environment--one could do
> some heavy numeric analysis with just a few BASIC statements. Today,
> BASIC remains very useful for quick and dirty programs in certain situations.


--
Pete

Michael Black

unread,
May 5, 2014, 9:04:04 PM5/5/14
to
On Mon, 5 May 2014, hanc...@bbs.cpcn.com wrote:

> On Monday, May 5, 2014 2:41:51 PM UTC-4, Michael Black wrote:
>
>> It was of course an interpreter (or was it? I seem to recall debate about
>> whether BASIC was originally an interpreter) and interactive. So saving
>> to disk made sense.
>
> Over the years, BASIC has existed as both an interpreter and compiler.
> I think the differece was largely transparent to most users in a time
> sharing environment.
>
It would really depend on compile time. I remember trying C on a 2MHz
Radio Shack Color Computer 3, and it just took forever to compile even a
simple program. On the other hand, BASIC09 that came with Microware OS-9
had the ability to compile to a pseudo interpreter, and that compile took
really no time.

The point of an interpreter is that you can type something in and try it
immediately. Not such a problem today when everything is so fast, but in
the days of a few MegaHertz clocks in computers, changing even a simple
thing could be a big issue if the compile took long enough.

Since BASIC has been promoted as an interactive languague in the forty
years since I first heard of it, and that early appearance of BASIC was on
a timesharing system, it's hard to fathom BASIC as a compiler, even if the
history books say it was originally.

> I'm not sure why that would make any difference in regard to saving the
> program. Compiled programs were always recompiled upon entry of the RUN
> command.
>
I admit I'm colored by never having access to BASIC until 1981, and
learning assembly language (and assemblying by hand) before that. I never
wrote anything serious with BASIC, I kept thinking of the overhead. But
it was great to try things, type something in and run it immediately, and
indeed in the Microssoft era, you could type single lines in and run them
by pressing "enter".

In that environment, learning/playing rather than creating programs to do
useful things, paper tape seems too permanent. You'd write something out,
but then never use that, or never use that version. Again, this is
probably colored by using BASIC as I did, on a home computer.


> IIRC, on HP-2000 BASIC, there was an option to save a binary version of
> the program to speed usage, but again, I'm not sure if that made any
> signficiant difference.
>
Interpreters were generally fast enough for what was needed, but compiling
took time. It's different if one is working on a program for release,
where you put time into the finished product, compile it once and then
release it.

> There were both compiled and interpreted versions for the Microsoft
> BASICs. The "QBASIC" included with MS-DOS was interpreted. The
> QuickBASIC 4.5 or BASIC 7.0 were compilers, which the capability to
> create and save an .EXE module that could be run independently. A
> compiled program ran noticeably quicker than the interpreted version if
> it was doing a lot of work. Compiled QB 4.5 programs ran incredibly
> faster on later era machines. However, I don't know if they'll work on
> the latest Windows DOS which is 64 bit.
>
> (The QuickBASIC compiler was for light duty use and inexpensive to purchase. The PDS BASIC was for industrial use and expensive. It had a few more features. Probably not worth the extra cost unless one really needed those extra features. I bought it, never used it at first, and when I finally did the disks wouldn't read in. M/S said too bad, even though I was a registered user and it cost serious money.)
>
> Later MS came out with Visual BASIC. I think again there were interpreted versions for student use (like the VB that came on a CD in the textbook), and a compiler for more serious work.
>
>
>> Also, since it seemed to be more a language to get familiar with
>> programming basics (and learning bad programming habits according to
>> some), it was less about producing something, and more about learning.
>
> BASIC was intended as both a teaching tool AND about producing results.
>
And once BASIC became mostly an interpreted language, it just seemed way
too bulky to do create any useful programs except very simple ones. I
shudder at the concept.

People used BASIC, at least in the home computer era, because they didn't
wnat to learn something better. It was a makedo language at that point,
every computer came with Microsoft BASIC in ROM after a certain point, so
they had it, and everyone said "for beginners, it's best to start with
BASIC", so endless programs appeared in the hobby magazines in BASIC, lots
of things never worth typing in.

> BASIC was an excellent teaching tool in that it allowed students to
> understand the fundamental concepts of computer programming without
> wasting a lot of time on unnecessary esoteric details. For instance, in
> FORTRAN, one must learn the difference between REAL and INTEGER
> variables and the naming convention, and how to use a FORMAT statement
> to get anything in and out. It's not necessary in BASIC unless one
> wants to get fancy. BASIC users did have advanced features of the
> language if they wanted to do more sophisticated stuff.
>
No, it was so they could plunge in and try things, seeing results
immediately. The cold reality is that I never had problems learning
assembly language because I had a KIM-1 that I could single step the code,
seeing what actually happened. By the time I got a computer that ran
BASIC, 2 years later, there was little reason to use BASIC other than as a
sort of calculator, running single lines in immediate mode. But I do know
I learned it the same way I learned assembly language for the 6502,
looking at the "instruction set" and trying things to see the results.

> BASIC did not teach bad programming habits.

Just the other day someone here quoted someone about bad programming
habits. And whatshisname was quite the critic of unstructured language,
and BASIC lacked the ability to be unstructured. Early implementations in
the home computer age made things bad, if you didn't have the ability to
renumber, then when you ran out of space between existing lines, you'd
have to start making spaghettti code. I remember that stuff in the
magaiznes.

BASIC made it easy for people to "write programs", but then they thought
they had something of value to release to the world, without really
graspoing concepts. Something harder like assembly language forces one to
learn more than the rudiments (no safety from an interpreter there), and
likely makes someone a better programmer.


> >
> As to producing results, it was certainly used by businesses to get
> results. GE Timesharing was a big business for many years. Further, it
> was very useful for computations in an academic environment--one could
> do some heavy numeric analysis with just a few BASIC statements.
> Today, BASIC remains very useful for quick and dirty programs in certain
> situations.
>
Since I can compile a small C program in as little time as it took to run
a simple BASIC program under an interpreter, one can do simple programs
and avoid the problems of decades ago.

Michael

John Levine

unread,
May 5, 2014, 9:44:54 PM5/5/14
to
>Since BASIC has been promoted as an interactive languague in the forty
>years since I first heard of it, and that early appearance of BASIC was on
>a timesharing system, it's hard to fathom BASIC as a compiler, even if the
>history books say it was originally.

Compilers don't have to be slow. I visited friends at Dartmouth in
the mid-1970s when DTSS was in its second incarnation on a GE 635.
When you typed RUN, it sorted your program (that's what the line
numbers were for) into a file, and started the compiler, which
compiled your program into core, loaded in the runtime, and started
it. Even for fairly large programs, this rarely took more than one
1/60 sec clock tick. I think it was possible to save object programs
but nobody did because it was not perceptibly faster than recompiling.

Contrary to what many people believe, DTSS was a general time-sharing
system with a variety of compilers and assemblers. BASIC was the best
known, but far from the only one. They finally wrote a linker around
that time because the PL/I compiler was the first one slow enough to
be worth saving the object code.

--
Regards,
John Levine, jo...@iecc.com, Primary Perpetrator of "The Internet for Dummies",
Please consider the environment before reading this e-mail. http://jl.ly

hanc...@bbs.cpcn.com

unread,
May 5, 2014, 10:30:33 PM5/5/14
to
On Monday, May 5, 2014 9:04:04 PM UTC-4, Michael Black wrote:

> Since BASIC has been promoted as an interactive languague in the forty years since I first heard of it, and that early appearance of BASIC was on a timesharing system, it's hard to fathom BASIC as a compiler, even if the history books say it was originally.

As John noted, it ran quite fast.

But also, most _early_ BASIC programs weren't that large, so there wasn't all that much to do.


> And once BASIC became mostly an interpreted language, it just seemed way too bulky to do create any useful programs except very simple ones. I shudder at the concept.

All I can tell you it was used in the business world. You'd type run, and a second or two later you'd get results. No big deal.

I really think the issue of interpreted vs. compiled is not relevant.

As time went on, the mainframes that hosted BASIC as well as the language itself were enhanced, making it more useful.


> People used BASIC, at least in the home computer era, because they didn't wnat to learn something better.

AFAIK/IIRC, in the _early years_ of home computers, the BASIC available on time sharing systems was more sophisticated, more powerful, and faster than home systems. I do remember being shocked at how limited the BASIC was on early home computers. However, a 286 with the purchased QuickBasic compiler was a powerful system (not counting the $2,000 to buy the 286 system & printer).

But the one advantage of home systems was that, unlike time sharing, there was no dialup necessary, nor any connect charges, nor contention to use the terminal. And of course you didn't have to leave the house.


> No, it was so they could plunge in and try things, seeing results immediately. The cold reality is that I never had problems learning assembly language because I had a KIM-1 that I could single step the code, seeing what actually happened. By the time I got a computer that ran BASIC, 2 years later, there was little reason to use BASIC other than as a sort of calculator, running single lines in immediate mode. But I do know I learned it the same way I learned assembly language for the 6502, looking at the "instruction set" and trying things to see the results.

First, it's very important to understand that there were two groups of computer users in the 1960s and 1970s--people who just needed to understand how a computer worked, and people who intended to become compsci specialists. BASIC was wonderful for the first group. They had no need whatsoever to learn assembler or other advanced concepts. (People learning how to drive should know what a transmission does, but need not know the internals to it). The second group were also helped by BASIC by being an introductory language upon which to build their skills. Note that in the 1960s-1970s, exposure to computers was still very limited, so it was all new to everyone.

Secondly, until _inexpensive_ pocket calculators came out, BASIC served as a powerful tool to do number cruching for people. Colleges had BASIC terminals available for both business and science students to do that sort of thing.

The arrival of spreadsheet programs eliminated a lot of the need for BASIC number crunching as the spreadsheet could do the same things, often times easier.


>> BASIC did not teach bad programming habits.

> Just the other day someone here quoted someone about bad programming habits.

That statement was wrong.


> And whatshisname was quite the critic of unstructured language, and BASIC lacked the ability to be unstructured. Early implementations in the home computer age made things bad, if you didn't have the ability to renumber, then when you ran out of space between existing lines, you'd have to start making spaghettti code...

First, it's important to remember that in the 1960s, even in the 1970s, "structured programming" was definitely not a universal concept. Spaghetti code with GO TO's was very common in the real world.

Secondly, BASIC did come with a GOSUB and CHAIN statements that allowed the use of subroutines.

Third, COBOL and FORTRAN programs were often unstructured in the early days.

Timeshared BASIC had a RENumber command.


> I remember that stuff in the magaiznes. BASIC made it easy for people to "write programs", but then they thought they had something of value to release to the world, without really graspoing concepts. Something harder like assembly language forces one to learn more than the rudiments (no safety from an interpreter there), and likely makes someone a better programmer.

Assembler certainly does not teach someone to be a better programmer--one can easily use branches and create spagheti code. Indeed, with assembler, one can alter addresses in Branch commands and create really cryptic code.

BASIC included a REMarks statement for comments, and students were encouraged to self-document their programs with liberal comments. Also, students were taught to think about their problem and how to organize their program before coding it, creating better code. Because of contention for terminal use, students were forced to carefully develop their code in advance of their terminal session.

As students wrote more complex programs and gained experience sharing programs with others, readability and maintainability became important and students learned how to do that, as well.

Indeed, based on your comments, I can't help but wonder if programmers working in isolation with a home computer and a magzazine (in whatever language) were more likely to develop bad habits because of the isolation and lack of feedback.





> Since I can compile a small C program in as little time as it took to run a simple BASIC program under an interpreter, one can do simple programs and avoid the problems of decades ago.

Maybe, but C wasn't widely available until much later than BASIC was.

As stated, BASIC was a wonderful invention and a great language for its time, as both a teaching tool and work tool. The emergence of inexpensive pocket calculators and computer spreadsheets made it mostly obsolete.

As to BASIC's utility as a work tool, no, someone would not use it to put a man on the moon or generate the payroll of a large business. Because it was easy to learn and fast to use, it was a great language for light duty problems of industry, and often used as such.

Rob Doyle

unread,
May 6, 2014, 2:48:31 AM5/6/14
to
Microsoft BASCOM (Basic compiler) was available ca. 1982 - much
earlier than DOS 5. Maybe for DOS 1.2

Rob.

Bill Leary

unread,
May 6, 2014, 7:26:18 AM5/6/14
to
"Quadibloc" wrote in message
news:07a9363b-9b6c-4b3b...@googlegroups.com...
I used all of these at the time they were current. QBASIC was compiled in
the sense that it was converted into an intermediate form which was then
interpreted. QuickBASIC was compiled in the more traditional sense of the
word. Harkening back to the time, QBASIC and QuickBASIC were not the same
but people often thought the former was just a shorthand for the later.
Rather, QBASIC was based on QuickBASIC sans the compiler, linker and a few
other features. I recall writing a couple of programs that would run under
both.

- Bill

Peter Flass

unread,
May 6, 2014, 7:28:26 AM5/6/14
to
John Levine <jo...@iecc.com> wrote:
>> Since BASIC has been promoted as an interactive languague in the forty
>> years since I first heard of it, and that early appearance of BASIC was on
>> a timesharing system, it's hard to fathom BASIC as a compiler, even if the
>> history books say it was originally.
>
> Compilers don't have to be slow. I visited friends at Dartmouth in
> the mid-1970s when DTSS was in its second incarnation on a GE 635.
> When you typed RUN, it sorted your program (that's what the line
> numbers were for) into a file, and started the compiler, which
> compiled your program into core, loaded in the runtime, and started
> it. Even for fairly large programs, this rarely took more than one
> 1/60 sec clock tick. I think it was possible to save object programs
> but nobody did because it was not perceptibly faster than recompiling.

Burroughs B5500 compilers were one pass. COBOL would read the cards in at
~1000cpm, and by the time it had read the last card it was done. This was
quite a wake up for someone used to slow multi-pass IBM compilers and
linkers.

--
Pete

Quadibloc

unread,
May 6, 2014, 7:42:32 AM5/6/14
to
On Tuesday, May 6, 2014 12:48:31 AM UTC-6, Rob Doyle wrote:

> Microsoft BASCOM (Basic compiler) was available ca. 1982 - much
> earlier than DOS 5. Maybe for DOS 1.2

That may well be true, but it wasn't included with DOS. QBASIC was, and it replaced BASICA or GWBASIC with DOS 5. CBASIC was another popular BASIC compiler, at least for CP/M; there may have been an MS-DOS version as well.

John Savard

Scott Lurndal

unread,
May 6, 2014, 9:45:38 AM5/6/14
to
It's coming up on the 40th anniversary of the first time I ever used
a B5500 (May 20, 1974).

Peter Flass

unread,
May 6, 2014, 11:45:43 AM5/6/14
to
I think I date from 1972, but I can't swear to it.

--
Pete

sarr.b...@alum.dartmouth.org

unread,
May 6, 2014, 1:00:36 PM5/6/14
to
Michael Black <et...@ncf.ca> wrote:
: It was of course an interpreter (or was it? I seem to recall debate about
: whether BASIC was originally an interpreter) and interactive. So saving
: to disk made sense.

No, it wasn't. It was a compile directly to core (it was core back then) and execute.
Programe editing and compile/execute were actually done on different machines, that
shared the disk.

Some people did save programs on paper tape, but that was for their convenience/
nervousness.

hanc...@bbs.cpcn.com

unread,
May 6, 2014, 1:22:21 PM5/6/14
to
On Tuesday, May 6, 2014 7:26:18 AM UTC-4, Bill Leary wrote:

> Rather, QBASIC was based on QuickBASIC sans the compiler, linker and a few
> other features. I recall writing a couple of programs that would run under
> both.

To the programmer, QBASIC was very similar to QuickBasic. For many jobs, QBASIC was more than adequate, especially on later machines where programs would run quite fast.

QuickBasic, of course, had the full compiler and linkage editor so .EXE's for export could be created. Also, QuickBasic had some advanced features. I don't know if QBASIC could query machine interupts or access large memory spaces. A great reference for Quick Basic was the Waite Group "Quick Basic Bible".

As mentioned, QBASIC is useful to this day for some quick & dirty jobs.

hanc...@bbs.cpcn.com

unread,
May 6, 2014, 1:29:41 PM5/6/14
to
On Monday, May 5, 2014 5:17:12 PM UTC-4, Peter Flass wrote:

> > BASIC did not teach bad programming habits.
> (IIRC) BASIC had no structured concepts except GOSUB, and that didn't pass
> arguments. It had no "switch"-type statement, no ELSE(?), no concept of
> blocks of code. It did have that bete-noir of structure advocates, the
> GOTO.

The early versions of BASIC had only GOSUB and CHAIN. GOSUB was within a program, so all variables were passed. I don't recall how CHAIN transferred data between programs. I think the early IF statements were only IF condition THEN line number--branch if the condition was true, not sure if there was even an ELSE option in the early days.

The M/S versions of BASIC had greatly improved structure and maintainability. It allowed actual names for variables instead of merely A or A2, statement labels, SELECT CASE, imperatives after the IF statement, and more sophisticated subroutines.

As to having the GO TO, lots of languages back then had it, including the widely used FORTRAN and COBOL, as you say.

As mentioned, a good programmer would still modularize a complex program, trying to keep the GO TO or IF/THEN paths a simple as possible, making good use of GOSUB, and heavy use of REM comment cards.

> OTOH, it was FORTRAN-lite, and FORTRAN was the language de jour at the time
> BASIC was developed.

I don't think modern Visual BASIC supports GO TOs.

Charles Richmond

unread,
May 6, 2014, 1:29:40 PM5/6/14
to
"Michael Black" <et...@ncf.ca> wrote in message
news:alpine.LNX.2.02.1...@darkstar.example.org...
>
> [snip...] [snip...]
> [snip...]
>
> Since BASIC has been promoted as an interactive languague in the forty
> years since I first heard of it, and that early appearance of BASIC was on
> a timesharing system, it's hard to fathom BASIC as a compiler, even if the
> history books say it was originally.
>

The original BASIC evidently came out *before* the timesharing system was
ready. It was known as CardBASIC and the programs were input on cards. At
Dartmouth, there evidently were several versions of BASIC produced as
"compile and go" compilers. I'll take what the history books say over what
most others say.

http://en.wikipedia.org/wiki/Dartmouth_Basic

--

numerist at aquaporin4 dot com

Charles Richmond

unread,
May 6, 2014, 1:40:20 PM5/6/14
to
<hanc...@bbs.cpcn.com> wrote in message
news:70c5b69d-6957-42aa...@googlegroups.com...
On Monday, May 5, 2014 9:04:04 PM UTC-4, Michael Black wrote:
>
> [snip...] [snip...]
> [snip...]
It needs to be emphasized that many people would *not* program at all if
they had to learn
assembly language. BASIC was a great way for those people to try
programming, even if
they did *not* really understand how computers worked inside.

Scott Lurndal

unread,
May 6, 2014, 3:40:02 PM5/6/14
to
I kept the teletype output from that first experience, that's how I
know the date.

Shmuel Metz

unread,
May 6, 2014, 7:00:39 AM5/6/14
to
In <alpine.LNX.2.02.1...@darkstar.example.org>, on
05/05/2014
at 09:04 PM, Michael Black <et...@ncf.ca> said:

>pseudo interpreter

?

>compiling took time.

You still need to compile with an interpreter, even if it's under the
covers.

Shmuel Metz

unread,
May 6, 2014, 6:56:54 AM5/6/14
to
In <lk853c$1c5$1...@dont-email.me>, on 05/05/2014
at 01:52 PM, sarr.b...@alum.dartmouth.org said:

>Kemeny worked at Los Alamos. Integrating systems of differential
>equations on an IBM 407.

A 407 or a whole room full of 407's?

Peter Flass

unread,
May 6, 2014, 7:34:40 PM5/6/14
to
Shmuel (Seymour J.) Metz <spam...@library.lspace.org.invalid> wrote:
> In <alpine.LNX.2.02.1...@darkstar.example.org>, on
> 05/05/2014
> at 09:04 PM, Michael Black <et...@ncf.ca> said:
>
>> pseudo interpreter
>
> ?
>
>> compiling took time.
>
> You still need to compile with an interpreter, even if it's under the
> covers.

That depends on your definition. Usually BASIC would just tokenize the
source (IAFAIK), which I wouldn't call compilation. This is what "compiled
REXX" does. In some cases I'm aware of a GOTO a line number farther along
in the source resulted in a sequential scan of all lines until the correct
target was found - at least the first time it was executed. In theory the
tokenization is not required and can be omitted. In this sense BASIC is
compiled about the same amount as HTML or SCRIPT is compiled.

I would expect some BASICs compiled to threaded code a line at a time, like
current JIT compilers.

--
Pete

Joe Pfeiffer

unread,
May 6, 2014, 7:59:22 PM5/6/14
to
Shmuel (Seymour J.) Metz <spam...@library.lspace.org.invalid> writes:

> In <alpine.LNX.2.02.1...@darkstar.example.org>, on
> 05/05/2014
> at 09:04 PM, Michael Black <et...@ncf.ca> said:
>
>>pseudo interpreter
>
> ?
>
>>compiling took time.
>
> You still need to compile with an interpreter, even if it's under the
> covers.

No, you don't -- it's possible to interpret raw text. That's the
obvious way to implement a shell, for instance.

Dan.Espen

unread,
May 6, 2014, 8:26:05 PM5/6/14
to
Shmuel (Seymour J.) Metz <spam...@library.lspace.org.invalid> writes:

> In <lk853c$1c5$1...@dont-email.me>, on 05/05/2014
> at 01:52 PM, sarr.b...@alum.dartmouth.org said:
>
>>Kemeny worked at Los Alamos. Integrating systems of differential
>>equations on an IBM 407.
>
> A 407 or a whole room full of 407's?

This paper describes how to multiply on a 407:

http://www.glennsmuseum.com/ibm/ref/407%20p442-boyell.pdf

Using this technique and summary punching the product reduces the
effective speed of the 407 by about a factor of three, compared with
conventional reading and summary punching of each card.

Mostly what I did with EAM equipment is make it go away.

--
Dan Espen

Quadibloc

unread,
May 7, 2014, 7:01:13 AM5/7/14
to
On Tuesday, May 6, 2014 5:00:39 AM UTC-6, Seymour J. Shmuel Metz wrote:

> You still need to compile with an interpreter, even if it's under the
> covers.

Huh?

A program for dealing with a higher-level language can do many things.

It can generate machine-language code, and output it to disk.

It can generate machine-language code, and execute it immediately without saving it.

It can generate code in some intermediate form, like P-code or bytecode, and execute that.

All these things are compilation.

It can also merely convert the code to a more convenient internal representation of the same language; that is, it can tokenize it.

Whether or not it does _that_, the next step is to determine what the high-level statements call for to be done, and *do* it, rather than producing code of another type that itself will do that thing.

That is what is called an interpreter - it does not compile, for it does not generate code. It still does determine the meaning of the input source, but that is what "interpret" means. It then takes the prescribed actions, but that is not understood as compilation, in disguise or of any other kind.

John Savard

Bill Leary

unread,
May 7, 2014, 7:31:27 AM5/7/14
to
"Shmuel (Seymour J.)Metz" wrote in message
news:5368c0d7$16$fuzhry+tra$mr2...@news.patriot.net...
> You still need to compile with an interpreter,
> even if it's under the covers.

I think you're using "compile" differently than I am.

Most of the early BASICs I worked with tokenized the input, then ran those
tokens in a manner somewhat similar to a P-machine. But it wasn't really
much like compiling. It tokenized on input, either from the keyboard or
reading from a text file. More than a few of those gave you the option to
save the tokenized version or save them in ASCII.

These were slow as compared to compiled code, of course.

I've also seen others that really just parsed the source and did things
right then and there. Not even tokenized.

These were very slow.

I don't recall encountering any that compiled before executing, but I think
I recall hearing about them. If QBASIC did this, as someone suggested, I
guess I was never aware of it. It was my impression it just tokenized.

- Bill


hanc...@bbs.cpcn.com

unread,
May 7, 2014, 10:23:19 AM5/7/14
to
On Tuesday, May 6, 2014 6:56:54 AM UTC-4, Seymour J. Shmuel Metz wrote:

> >Kemeny worked at Los Alamos. Integrating systems of differential
> >equations on an IBM 407.
> A 407 or a whole room full of 407's?

Actually, at Los Alamos, it would've been a 405, the pre-war tabulator, along with likely the 600 multiplier (all relay at that point).

Feynman's memoir describes some of the things they did with it to expedite calculcations, including making unauthorized modfications to the IBM units. This was to assist them in doing their differential equations. (Others will have to elaborate on the gory specifics.)

Los Alamos also used desktop mechanical calculators. Because of tight security, all the equipment was ordered through the Univ of Calif, the overall project contractor. This delayed things, and the scientists found, shall we say, ways of their own, to expedite matters.

Given Fenynman's desire for pranks and to tease security officials (plus he was Jewish in a time when that wasn't welcomed), I'm surprised Gen. Groves tolerated his antics. Feynman's Los Alamos or FBI personnel file is probably declassified at this point and likely would make for interesting reading, with memos from his managers either complaining or defending him.

I don't know if Los Alamos staff ever made use of the ASCC (Harvard Mark I) during the war years. The ASCC was publicly known, but it may have been busy on navy gunnery problems. Los Alamos did use the ENIAC after the war for "super" calculations.

Shmuel Metz

unread,
May 8, 2014, 9:10:18 AM5/8/14
to
In <icoaza4...@home.home>, on 05/06/2014
at 08:26 PM, des...@verizon.net (Dan.Espen) said:

>This paper describes how to multiply on a 407:

Multiplying on a 407 isn't the issue. The issue is that solving a PDE
can require a lot of multiplications, and that Feynman at least did
things in parallel on multiple machines. Did Kemeny use just a single
407?

Shmuel Metz

unread,
May 8, 2014, 9:12:08 AM5/8/14
to
In <1beh068...@snowball.wb.pfeifferfamily.net>, on 05/06/2014
at 05:59 PM, Joe Pfeiffer <pfei...@cs.nmsu.edu> said:

>No, you don't -- it's possible to interpret raw text. That's the
>obvious way to implement a shell, for instance.

No, the obvious way to implement a shell is to compile and interpret
each line separately.

Shmuel Metz

unread,
May 8, 2014, 9:14:01 AM5/8/14
to
In
<890299120421111682.4090...@news.eternal-september.org>,
on 05/06/2014
at 11:34 PM, Peter Flass <peter...@yahoo.com> said:

>That depends on your definition. Usually BASIC would just tokenize
>the source (IAFAIK), which I wouldn't call compilation.

I'd certain call tokenization a form of compilation, and I believe
that some BASIC interpreter systems did a bit more than that.

Shmuel Metz

unread,
May 8, 2014, 9:16:56 AM5/8/14
to
In <jOmdnfcpSIQOhPfO...@giganews.com>, on 05/07/2014
at 07:31 AM, "Bill Leary" <Bill_...@msn.com> said:

>I think you're using "compile" differently than I am.

I would certainly have said that UCSD Pascal compiled when it
generated P-code. There's nothing in the term "compile" that
constrains the target language.

Scott Lurndal

unread,
May 8, 2014, 10:15:07 AM5/8/14
to
Shmuel (Seymour J.) Metz <spam...@library.lspace.org.invalid> writes:
>In <1beh068...@snowball.wb.pfeifferfamily.net>, on 05/06/2014
> at 05:59 PM, Joe Pfeiffer <pfei...@cs.nmsu.edu> said:
>
>>No, you don't -- it's possible to interpret raw text. That's the
>>obvious way to implement a shell, for instance.
>
>No, the obvious way to implement a shell is to compile and interpret
>each line separately.
>

Are you both using the term 'compile' to mean the same thing? Shmuel,
it sounds like what you're calling 'compile', Joe might call 'tokenize'.

None of the unix shells "compile" either to bytecode or to object code.

Stanley Daniel de Liver

unread,
May 8, 2014, 11:18:03 AM5/8/14
to
On Tue, 06 May 2014 12:42:32 +0100, Quadibloc <jsa...@ecn.ab.ca> wrote:

> On Tuesday, May 6, 2014 12:48:31 AM UTC-6, Rob Doyle wrote:
>
>> Microsoft BASCOM (Basic compiler) was available ca. 1982 - much
>> earlier than DOS 5. Maybe for DOS 1.2
>
> That may well be true, but it wasn't included with DOS. QBASIC was, and
> it replaced BASICA or GWBASIC with DOS 5.

BASICA required an IBM ROM, as calls were made to the ROM BASIC and was
bundled with early DOSes, whereas GWBASIC was a general purpose basic that
was sold as a standalone product, AFAIR.
BASCOM was a separate MS product.

gosh, I was right!
http://en.wikipedia.org/wiki/Gwbasic


(we forked out for bascom and it speeded up drawing a mandelbrot set by 10
times - you could actually get to see the top half by the end of
lunch-hour!)

> CBASIC was another popularBASIC compiler, at least for CP/M; there may
> have been an MS-DOS version as well.
>
> John Savard


--
It's a money /life balance.

Dan.Espen

unread,
May 8, 2014, 1:36:01 PM5/8/14
to
Seems to me there's a lot of leeway in these terms.
I remember someone arguing that an assembly is not a compile.
Using some pretty advanced assemblers, I think there's enough
gray area between assembler and a high level language that
the difference isn't precise.

I think it's all in what point you are trying to make.

--
Dan Espen

Bill Leary

unread,
May 8, 2014, 2:10:55 PM5/8/14
to
"Shmuel (Seymour J.)Metz" wrote in message
news:536b8319$20$fuzhry+tra$mr2...@news.patriot.net...
> I'd certain call tokenization a form of compilation,

Ah, the light goes on. You definitely mean something different by "compile"
that I suspect most of the rest of us do.

- Bill

hanc...@bbs.cpcn.com

unread,
May 8, 2014, 2:16:02 PM5/8/14
to
On Thursday, May 8, 2014 1:36:01 PM UTC-4, MLCWA wrote:

> Seems to me there's a lot of leeway in these terms.
> I remember someone arguing that an assembly is not a compile.
> Using some pretty advanced assemblers, I think there's enough
> gray area between assembler and a high level language that
> the difference isn't precise.

In the old days, an assembler was defined as a one-to-one translation of commands and operands from English mnemonic codes into binary so that a machine could execute them. A compiler was more advanced--it translated statements that were more English like into machine-executable code, but the source statement c1ould generate multiple machine instructions.

A common example of that was an arithmetic expression: LET A = ((B+C)/D)**2 . Numerous calculation commands would result from that single English statement.


As mentioned, for us BASIC users, whatever happened "under the hood" was transparent to us. (The only "tokens" we knew of was for the bus to get home.) Most of the time our programs and data files were short enough that execution time was generally pretty fast. Remember, too, our I/O--the 10 char/sec teletype--was rather slow, so the machine could be doing a lot of computing as the teletype clattered out the report.

BASIC was essentially analogous to a pickup truck--useful to haul relatively light loads. For heavier stuff, one needed a real truck (mini computer), or a big tractor trailer (mainframe). For even heavier loads, one needed a 100 car freight train (a super computer).

I recall a friend who did econometric forecasting via Fortran. They used a dedicated large size mainframe, needed to handle programs with very large arrays. I would presume research in certain scientific and engineering fields also required very substantial horsepower, like the IBM 195. (When people got Cray supercomputers, did they use Fortran on them?)


As in all computing, as time went on, the horsepower and language sophistication improved, so the BASIC of 1974 was much more powerful than the BASIC of 1964. The BASIC of 1984--with compilers and a strong PC host--was very powerful in comparison to the past (as were mainframes in comparison to their older siblings).





Joe Pfeiffer

unread,
May 8, 2014, 3:15:14 PM5/8/14
to
Shmuel (Seymour J.) Metz <spam...@library.lspace.org.invalid> writes:

> In <1beh068...@snowball.wb.pfeifferfamily.net>, on 05/06/2014
> at 05:59 PM, Joe Pfeiffer <pfei...@cs.nmsu.edu> said:
>
>>No, you don't -- it's possible to interpret raw text. That's the
>>obvious way to implement a shell, for instance.
>
> No, the obvious way to implement a shell is to compile and interpret
> each line separately.

I can't imagine why you'd do that. A few people are suggesting that one
can call tokenizing a compilation; even granting that, as soon as I
recognized a token I'd do the "right thing" with that token immediately,
not store any sort of tokenized form.

Peter Flass

unread,
May 8, 2014, 3:57:18 PM5/8/14
to
"Compilation" probably wouldn't make a lot of sense in a shell, since the
most common case is to execute each statement once. Once you've parsed it
you might as well just execute it. "For" loops in shell scripts might be
another situation.

--
Pete

Peter Flass

unread,
May 8, 2014, 3:57:18 PM5/8/14
to
Shmuel (Seymour J.) Metz <spam...@library.lspace.org.invalid> wrote:
> In
> <890299120421111682.4090...@news.eternal-september.org>,
> on 05/06/2014
> at 11:34 PM, Peter Flass <peter...@yahoo.com> said:
>
>> That depends on your definition. Usually BASIC would just tokenize
>> the source (IAFAIK), which I wouldn't call compilation.
>
> I'd certain call tokenization a form of compilation, and I believe
> that some BASIC interpreter systems did a bit more than that.

I'm working on a PL/I preprocessor, and it seems like the obvious way is to
"compile" to intermediate code that closely mirrors the source, and then
execute that.

--
Pete

Gene Wirchenko

unread,
May 8, 2014, 5:37:52 PM5/8/14
to
On Thu, 08 May 2014 09:14:01 -0400, Shmuel (Seymour J.) Metz
<spam...@library.lspace.org.invalid> wrote:

>In
><890299120421111682.4090...@news.eternal-september.org>,
>on 05/06/2014
> at 11:34 PM, Peter Flass <peter...@yahoo.com> said:
>
>>That depends on your definition. Usually BASIC would just tokenize
>>the source (IAFAIK), which I wouldn't call compilation.
>
>I'd certain call tokenization a form of compilation, and I believe
>that some BASIC interpreter systems did a bit more than that.

I sure wouldn't. It is merely lexing.

Sincerely,

Gene Wirchenko

Quadibloc

unread,
May 8, 2014, 5:50:45 PM5/8/14
to
On Thursday, May 8, 2014 12:16:02 PM UTC-6, hanc...@bbs.cpcn.com wrote:

> A common example of that was an arithmetic expression: LET A = ((B+C)/D)**2 .

LET A=((B+C)/D)^2
is BASIC.

A=((B+C)/D)**2
is FORTRAN.

Just a little nitpick to keep you on your toes.

John Savard

Quadibloc

unread,
May 8, 2014, 5:53:01 PM5/8/14
to
On Thursday, May 8, 2014 1:57:18 PM UTC-6, Peter Flass wrote:

> I'm working on a PL/I preprocessor, and it seems like the obvious way is to
> "compile" to intermediate code that closely mirrors the source, and then
> execute that.

Why would a preprocessor want to perform the operations that the program whose source it is preparing for input to a PL/I compiler (or maybe interpreter) calls for?

Isn't that something for the next guy down the line to worry about?

Next you'll be having my text editor trying to run my programs.

John Savard

2ju

unread,
May 8, 2014, 7:02:10 PM5/8/14
to


<hanc...@bbs.cpcn.com> wrote in message
news:997430cd-823f-4c96...@googlegroups.com...
Yes, particularly those who had already used Fortran before getting access
to the Cray.

Andrew Swallow

unread,
May 8, 2014, 8:06:31 PM5/8/14
to
Some BASICs used ** and made the word LET optional

Dan.Espen

unread,
May 8, 2014, 8:45:30 PM5/8/14
to
Quadibloc <jsa...@ecn.ab.ca> writes:

> On Thursday, May 8, 2014 1:57:18 PM UTC-6, Peter Flass wrote:
>
>> I'm working on a PL/I preprocessor, and it seems like the obvious way is to
>> "compile" to intermediate code that closely mirrors the source, and then
>> execute that.
>
> Why would a preprocessor want to perform the operations that the
> program whose source it is preparing for input to a PL/I compiler (or
> maybe interpreter) calls for?

The preprocessor implements conditionals.

> Isn't that something for the next guy down the line to worry about?
>
> Next you'll be having my text editor trying to run my programs.

Flymake.

--
Dan Espen

Charlie Gibbs

unread,
May 8, 2014, 11:39:41 PM5/8/14
to
In article <c7c16084-f2fb-4e6f...@googlegroups.com>,
Already done - it's called emacs.

--
/~\ cgi...@kltpzyxm.invalid (Charlie Gibbs)
\ / I'm really at ac.dekanfrus if you read it the right way.
X Top-posted messages will probably be ignored. See RFC1855.
/ \ HTML will DEFINITELY be ignored. Join the ASCII ribbon campaign!

Shmuel Metz

unread,
May 8, 2014, 8:01:43 PM5/8/14
to
In <LjMav.9367$201....@fx15.iad>, on 05/08/2014
at 02:15 PM, sc...@slp53.sl.home (Scott Lurndal) said:

>Are you both using the term 'compile' to mean the same thing?

No, but I'm sure that I'm using it to mean the same thing that a CS
instructor would mean by it.

>Shmuel, it sounds like what you're calling 'compile', Joe might
>call 'tokenize'.

Would Joe really call building a syntax tree "tokenization"?

>None of the unix shells "compile" either to bytecode or to object
>code.

Not relevant; what is relevant is the data structures that shells
build, and not limited to unix.

Shmuel Metz

unread,
May 8, 2014, 7:58:07 PM5/8/14
to
In <1bsiok6...@snowball.wb.pfeifferfamily.net>, on 05/08/2014
at 01:15 PM, Joe Pfeiffer <pfei...@cs.nmsu.edu> said:

>I can't imagine why you'd do that.

Then you need to learn a few more shell languages.

>A few people are suggesting that one can call tokenizing a
>compilation; even granting that, as soon as I recognized a token
>I'd do the "right thing" with that token immediately,

What's the "right thing" when the token is part of an expression?

Peter Flass

unread,
May 9, 2014, 8:33:07 AM5/9/14
to
The PL/I preprocessor is similar to the C preprocessor (in the same way a
Mack truck is similar to a PT Cruiser). The preprocessor language is a
subset of the full PL/i language which acts as a macro processor- its
function is to generate Pl/I source, although it can also be a
general-purpose macro processor. Most programmers don't make use of the
full capabilities.

https://en.wikipedia.org/wiki/PL/I_preprocessor

--
Pete

Peter Flass

unread,
May 9, 2014, 8:33:06 AM5/9/14
to
Don't most scientific number-crunchers still use FORTRAN?

--
Pete

Quadibloc

unread,
May 9, 2014, 9:01:13 AM5/9/14
to
On Friday, May 9, 2014 6:33:06 AM UTC-6, Peter Flass wrote:

> Don't most scientific number-crunchers still use FORTRAN?

Yes. There's even a recent Ars Technica article on this distressing state of affairs.

John Savard

Walter Bushell

unread,
May 9, 2014, 9:12:59 AM5/9/14
to
In article <941.276T20...@kltpzyxm.invalid>,
"Charlie Gibbs" <cgi...@kltpzyxm.invalid> wrote:

> In article <c7c16084-f2fb-4e6f...@googlegroups.com>,
> jsa...@ecn.ab.ca (Quadibloc) writes:
>
> > On Thursday, May 8, 2014 1:57:18 PM UTC-6, Peter Flass wrote:
> >
> >> I'm working on a PL/I preprocessor, and it seems like the obvious way
> >> is to "compile" to intermediate code that closely mirrors the source,
> >> and then execute that.
> >
> > Why would a preprocessor want to perform the operations that the
> > program whose source it is preparing for input to a PL/I compiler
> > (or maybe interpreter) calls for?
> >
> > Isn't that something for the next guy down the line to worry about?
> >
> > Next you'll be having my text editor trying to run my programs.
>
> Already done - it's called emacs.

emacs is an operating system not a text editor.

--
Never attribute to stupidity that which can be explained by greed. Me.

jmfbahciv

unread,
May 9, 2014, 9:37:15 AM5/9/14
to
Yup. Compiling requires an outside linker. An interpreter does its own
linking. I don't think I've ever seen an interpreter handle mulitple
source files.

Now they'll argue about what a linker is....

/BAH

Scott Lurndal

unread,
May 9, 2014, 10:48:48 AM5/9/14
to
You mean like "incremental compilation?"

JimP.

unread,
May 9, 2014, 10:53:57 AM5/9/14
to
I'm going to agree with you on this one.

I took VAX PASCAL at university and Apple BASIC at community college.
The Pascal source was linked to libraries and made a file. That file
was then compiled and made into an executable. Apple Basic was
interpreted, a runable version was in ram, which was deleted when the
computer was turned off, or a new version of the same program name was
interpreted again.

Funniest thing I ever saw was someone trying to printout the VAX
PASCAL executable, because he was told to printout his work and take
it to class.

JimP
--
"Brushing aside the thorns so I can see the stars." from 'Ghost in the Shell'
http://www.linuxgazette.net/ Linux Gazette
http://travellergame.drivein-jim.net/ February, 2014

Shmuel Metz

unread,
May 9, 2014, 12:04:43 PM5/9/14
to
In <PM0004F8F...@ac81d886.ipt.aol.com>, on 05/09/2014
at 01:37 PM, jmfbahciv <See....@aol.com> said:

>Yup. Compiling requires an outside linker.

Not even close. In fact, compilers were around before linkers.

Bill Leary

unread,
May 9, 2014, 11:59:21 AM5/9/14
to
"jmfbahciv" wrote in message
news:PM0004F8F...@ac81d886.ipt.aol.com...
>
> Bill Leary wrote:
>> "Shmuel (Seymour J.)Metz" wrote in message
>> news:536b8319$20$fuzhry+tra$mr2...@news.patriot.net...
>>> I'd certain call tokenization a form of compilation,
>>
>> Ah, the light goes on. You definitely mean something different by
>> "compile"
>> that I suspect most of the rest of us do.
>
> Yup. Compiling requires an outside linker.

I used a compiler that directly generated executables. No linker. I think
it was something Pascal like. They solved the code reuse issue by making it
very, very fast and adding an "include" capability. You compiled the
standard library every time you compiled your code. This was back in the
8086/80286 MS/PC-DOS days.

- Bill

Joe Pfeiffer

unread,
May 9, 2014, 12:13:17 PM5/9/14
to
Shmuel (Seymour J.) Metz <spam...@library.lspace.org.invalid> writes:

> In <LjMav.9367$201....@fx15.iad>, on 05/08/2014
> at 02:15 PM, sc...@slp53.sl.home (Scott Lurndal) said:
>
>>Are you both using the term 'compile' to mean the same thing?
>
> No, but I'm sure that I'm using it to mean the same thing that a CS
> instructor would mean by it.
>
>>Shmuel, it sounds like what you're calling 'compile', Joe might
>>call 'tokenize'.
>
> Would Joe really call building a syntax tree "tokenization"?

No, he wouldn't -- building a syntax tree is the next step in
compiling.

But the closest thing I'd have to a syntax tree in a shell would be
implicit in the execution stack.

Joe Pfeiffer

unread,
May 9, 2014, 12:15:58 PM5/9/14
to
Shmuel (Seymour J.) Metz <spam...@library.lspace.org.invalid> writes:

> In <1bsiok6...@snowball.wb.pfeifferfamily.net>, on 05/08/2014
> at 01:15 PM, Joe Pfeiffer <pfei...@cs.nmsu.edu> said:
>
>>I can't imagine why you'd do that.
>
> Then you need to learn a few more shell languages.
>
>>A few people are suggesting that one can call tokenizing a
>>compilation; even granting that, as soon as I recognized a token
>>I'd do the "right thing" with that token immediately,
>
> What's the "right thing" when the token is part of an expression?

In most cases, do some recursion.

Joe Pfeiffer

unread,
May 9, 2014, 12:17:16 PM5/9/14
to
I won't, but you can compile without a separate linker.

Quadibloc

unread,
May 9, 2014, 12:30:08 PM5/9/14
to
On Friday, May 9, 2014 7:37:15 AM UTC-6, jmfbahciv wrote:

> Yup. Compiling requires an outside linker. An interpreter does its own
> linking. I don't think I've ever seen an interpreter handle mulitple
> source files.

Some compilers also link. But an interpreter doesn't even produce object code internally; it just does what the program calls for, like the progam in the ROM of a pocket calculator, or like microcode.

John Savard
It is loading more messages.
0 new messages