
MacBasic - yuhong
http://www.folklore.org/StoryView.py?project=Macintosh&story=MacBasic.txt
======
idlewords
I remember being blown away by my first encounter with a Mac, as a twelve year
old kid. After learning how the mouse worked, I started to wonder "how can I
write a program on this thing?". Every computer I had used before let you type
BASIC programs right on the command line. But all the Mac had was an
'interrupt' switch that dropped you into an unfathomable console. It was a
very discouraging feeling; it had never occurred to me that there could be a
computer that didn't let you write programs.

~~~
fit2rule
I personally feel that the removal of developer tools as a _standard_
component of the OS has been one of the biggest setbacks for computing -
especially teaching computing - in the last few decades.

I can understand the commercial reasons - "developers! developers!" monkey-
dances not-withstanding - and I can understand the 'consideration of the
average user' not needing the tools installed, but I don't agree with it.

I think that any OS that doesn't ship with the tools required to make that
computer do more work is a crippled, none-OS, and I urge my fellow geeks to
disassociate themselves from the elite mode of thought that states that
developer tools should only be available for developers. So much serious
advance of the state of the art has occurred just because there have been
compilers on board when a curious mind first logs on ..

I'm immensely saddened to hear of my younger siblings first experience 'with
computers' being the panopticon of the iPad. No compiler onboard means its not
a computer for you, but rather the person who made it, and this is really
frustrating to see younger generations getting conned out of some really
powerful features of their lives. Just the hassle of having to sign up to get
the devtools is enough to dissuade the curious, and its precisely the curious
we need to invite to this party.

~~~
simonh
My take is exactly the opposite. When I was a CS student in the late 80s it
was extremely hard to get access to high quality development tools beyond. Yes
MS-DOS came with QBASIC, but if you wanted to program in anything more capable
such as C or Pascal you were out of luck. Nowadays the highest quality dev
tools for any platform are just a free download away. Python, C#, Java, Go,
pretty much whatever you want. Eve better, many popular games such as WoW and
Minecraft either come with built-in scripting or easily accessible extension
and scripting tools. Squeak is awesome and soon you'll be able to program in
it without even downloading anything thanks to the HTML5 client.

Linux generally comes with a whole ton of dev tools by default, and the Mac is
close on it's heels and even has Applescript built in to the GUI layer. There
has never been an easier time to get into programming.

------
nostrademons
This still happens all the time in the software industry. I've been told to
put projects on hold because they relied upon 3rd-party APIs from companies
whose relationship with my employer was souring, or to shelve certain areas of
research because they might anger important corporate partners. I've had
coworkers that slaved away for 2 years on a very well-liked feature, only to
have it killed because of contract negotiations.

Unfortunately business hardball is a fact of life. I do wish there were laws
against using contract terms to explicitly kill a competitors' products or
features, since these are blatantly against consumers' interests. I guess
they'd be virtually impossible to enforce, though, because you can always get
around them by buying the offending software and then choosing not to allocate
resources to it.

~~~
yuhong
That is one of the reasons why I asked about using anti-trust law.

------
mambodog
If you want to try it out for yourself, I tracked down a copy of MacBasic .335
and wrapped it up in an in-browser emulator here:
[http://jamesfriend.com.au/pce-js/macbasic/](http://jamesfriend.com.au/pce-
js/macbasic/)

~~~
pervycreeper
Thanks. There appears to be a more recent version available here:
[http://macgui.net/downloads/?file_id=17340](http://macgui.net/downloads/?file_id=17340)
, although, I haven't put in the time to get it to work to see if it has the
features suggested in the screenshot here
[http://school.anhb.uwa.edu.au/personalpages/kwessen/web/stor...](http://school.anhb.uwa.edu.au/personalpages/kwessen/web/stories/EarlyMacStories.html#basic)
, namely syntax highlighting and formatting, interactive stepping, and so on

------
danso
Basic at Apple is one of my favorite pre-Mac storylines, from Woz inventing
Integer Basic in a period of several months (which he described as the hardest
thing he's ever done) to Apple having to be dependent on Microsoft for its
floating-point Basic, as VisiCalc became the killer app for the Apple ][.

In the OP, there's a great comment hidden away in the easy-to-miss comments
section. It's by Arthur Luehrmann, a Dartmouth professor who was asked to
create a manual from Macintosh Basic. He wrote what I consider one of the best
essays about "computing literacy": "Should the Computer Teach the Student, or
Vice-Versa?"

[http://www.citejournal.org/vol2/iss3/seminal/seminalarticle1...](http://www.citejournal.org/vol2/iss3/seminal/seminalarticle1.pdf)

Pasting Prof. Lehurmann's comment on MacBasic here for posterity...it has some
interesting musings about the importance of personal programming and has a
Steve Jobs cameo to boot:

> _Andy gets this sad tale right. My partner Herb Peckham and I were free-
> lance writers brought in to create a manual for Macintosh Basic, which we
> did. More about that later. I first met Donn when we were both serving on
> the ANSI Basic Standards committee, whose goal was to set up specifications
> for a modern version of Basic that would contain loop structures, if-then
> blocks, and procedure calls, so the notorious GO TO statement could go away.
> Tom Kurtz, co-inventor of Dartmouth Basic, was also active on the ANSI
> committee. I 've known Tom since 1965, when I was teaching physics at
> Dartmouth, and I knew Tom was keen on implementing a modern, structured
> version of Basic, and getting beyond the old (and much-criticized) line-
> number-dependent language that was becoming ubiquitous on micros, thanks to
> Bill Gates's interpreter (which was mostly correct, except if you wrote FOR
> I = 1 TO 0, the loop would be executed once:no pre-test). I had added
> graphics primitives to Dartmouth Basic around 1976 and developed an X-Y pen-
> plotter to carry out graphics commands mixed in with the text being sent to
> Teletype terminals. My interest on the ANSI committee was to make sure the
> new Basic had a standard set of graphics statements. It became clear that
> Donn also wanted Macintosh Basic to be a modern, structured language that
> would leave Applesoft Basic as a memory. I pressed for Mac Basic to also
> include the graphics statements we were standardizing on the committee, and
> Donn ultimately agreed. That was around 1979. By that time I was at the
> Lawrence Hall of Science at UC Berkeley heading a program to teach kids
> about computers, both at LHS and remotely via Teletypes in Bay Area schools.
> We also had Commodore Pets, and we outfitted a van to take wheeled desks
> with mounted Apple IIs out to schools. Essentially, we taught programing in
> Basic on all systems. I left the Hall in 1980 and, with Martha Luehrmann and
> Herb Peckham, started Computer Literacy Press. Our purpose was to serve the
> needs of all the new computer users that were suddenly appearing, thanks to
> micros. Our first book project was "Apple Pascal:A Hands-On Approach." Apple
> liked it and included a copy with each Pascal software package it sold. (If
> anyone is interested, I still have a dozen copies of the book.) That brings
> us to Macintosh Basic._

 _Apple invited us to create "Macintosh Basic:A Hands-On Approach" and have it
ready in time for shipping with the software, which was six or eight months
away. Herb and I took up offices at Apple and met with Donn several times a
week to review progress. And what a pleasure it was to work with Donn! He was
good at explaining details we had questions about, and he was completely open
to ideas we had about the graphics elements. The same was true of Marianne
Hsiung. So, as the months went by, it looked like Macintosh Basic would be the
user-oriented language for the Mac:and it would be great. Our book was
finished and in page proof, ready for the press. BUT . . . Steve Jobs invited
me into his office one morning. Our office was a few doors away, and we talked
from time to time. Steve seemed uncertain about something. Then he handed me a
disk and said, "What do you think about this?" I took it to our Mac, loaded
the software, and what I saw was Microsoft's version of Basic for the Mac.
Against Donn's and Marianne's creation, it looked antique: no structured
programming elements, line numbers essential for GO TOs, primitive graphics
commands, limited data types:a throwback, in a word. So, the next day I went
back to see Steve. He asked, "What do you think?" I said, "Steve, it's a piece
of shit." He didn't say anything, but looked grim. A week or so later, we
learned that Apple's Macintosh Basic project had been canceled. Andy Herzfeld
explains the situation accurately. The Apple II was the cash cow at that time,
and without Applesoft Basic it would be worthless. Gates played hardball, and
Apple caved. And so, sitting on a shelf in our basement are the page proofs of
our book, "Macintosh Basic:A Hands-On Approach." It's the best of the 20 or 30
books we've done. But the saddest thing to me is that the Mac shipped with no
user-level programming language. It was the beginning of the end of ordinary
people writing their own programs. Computer buyers became customers of
programs (now renamed "applications") written by experts, not creators of
their own, albeit modest, programs. It didn't have to be that way._

~~~
joezydeco
_But the saddest thing to me is that the Mac shipped with no user-level
programming language._

Right there. If not Basic, _HyperCard_ should have been put into the Macintosh
ROM. Things might have been completely different.

~~~
yuhong
Does it really make sense to put apps into the Mac ROM?

~~~
eli
Sure, I think so. There was no internet. There were no software stores.

~~~
pistle
What do you mean no software stores? What year are you targeting? Boxed
software was everywhere as early as the early 80's which is when the Apple II
series hit its stride with the IIe... There were aisles of it at even
pedestrian stores. Computer clubs and other piracy-potential things were
available. 300 baud modems and BBS's... You also had mall stores like Babbages
(became GameStop eventually), etc. that specialized in software across
multiple platforms.

VisiCalc was released about the time that software became a fairly visible
retail item.

~~~
joezydeco
Maybe he was referring to the concept of always-connected machines being able
to update system software and apps remotely. Even updating the Mac system
software back then meant trudging to a brick-and-mortar store and buying the
large set of floppies.

------
_delirium
So many little things always always pop up to remind you that Bill Gates got
rich in an unsavory manner.

~~~
analog31
Bill Gates got rich by understanding that people want to write their own
software. I'm not sure Jobs ever understood that.

Granted, I won't try to write a paean to Bill Gates and his business practices
over the years, but I think his enthusiasm for user programming is one
indulgence that I'd grant him.

~~~
judk
The OP explains a specific example where Bill Gates took away user programming
in order to screw over Apple.

Bill Gates got rich by getting a sweetheart deal (arranged by family
connections) that paid per installation of DOS.

------
aruggirello
Makes me think about the story of AmigaBASIC, since Microsoft was there too,
ready to sign $$$ with Commodore, ready to abandon thousands of loving users
without looking back... but that's another story, isn't it?

------
chipsy
There's something strange about this story. Apple could have turned "MacBasic"
into a marginally different language and product and still shipped it, right?
Why didn't that occur to them?

~~~
djur
Microsoft would have perceived it as competition regardless. That's why they
insisted on buying it from Apple, rather than just securing an agreement not
to release it.

------
nipponese
I had the opportunity to work with Donn at my first job out of school in 2007.
Literally could not have happened to a nicer human being, but I guess that's
how it usually goes.

------
irollboozers
I wonder what the equivalent of MacBasic would be today?

~~~
rbanffy
Considering how advanced it was compared to other BASICs of the time, I'd say
it would be like a sophisticated IDE and Python or Ruby built-in into the OS.

------
st3fan
I loved MacBasic. I was only 8 or 9 but I wrote so many little 'hacks' in it.

------
yuhong
I wonder if Apple could have used anti-trust law to void this portion of the
contract.

~~~
mikeash
Doubt it would have applied in 1985, when Microsoft was nowhere near a
monopoly.

~~~
yuhong
But I am talking about a monopoly in a specific market.

~~~
mikeash
I don't believe anti-trust gets as specific as "BASIC interpreters for the
Apple II" for markets.

~~~
yuhong
Even now?

~~~
mikeash
I don't understand what you're asking here.

~~~
yuhong
I was asking if anti-trust laws still has this issue today. Thinking about it,
I think it probably still does.

~~~
coldtea
It's not an "issue" \-- it's what makes sense.

Monopoly has a specific, defined, meaning. You cannot bend it to suit every
little niche market there is.

