Hacker News new | past | comments | ask | show | jobs | submit login
MacBasic (folklore.org)
149 points by yuhong on Aug 9, 2014 | hide | past | favorite | 63 comments



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.


My first interactions with a Mac were through HyperCard[0], which was included with the all the early Macs (basically until Apple sold it off to Claris). Without HyperCard, I would never have become a programmer. HyperCard was very much the BASIC for the Mac, but wildly more powerful and user-friendly.

I find it very sad Apple don't ship something like HyperCard with iOS devices.

[0] http://en.wikipedia.org/wiki/HyperCard


I remember when Apple really though Hypercard was the future of Mac Programming. But hey, they had several of those since.

Fortunately, Hypercard has survived and is a thriving product : Livecode, which has a Mac and Windows version, and can create apps for Mac, Windows, Linux and Web. And quite nice, iOS and Android apps from exactly the same source !

http://livecode.com


Given you are a new account and this is your only comment, are you perhaps the creator?


Given the 16 previous articles about LiveCode on HN, including the enthusiastic comments at https://news.ycombinator.com/item?id=5287634 , and previous comments making essentially the same point as Chapougniard (see https://news.ycombinator.com/item?id=7487763#up_7488904 for an example), I think it's more likely that you just annoyed a new HN commenter rather than spot a hidden member of the LiveCode development team.


HyperCard was one of those rare products (along with Excel and FileMaker Pro) that made people into programmers without them knowing it. It was astonishing what people were able to put together in HyperCard, and how much sadness there was when Apple finally axed it.


Technically, Apple only axed Hypercard in 2004:

http://due-diligence.typepad.com/blog/2004/03/a_eulogy_for_h...

Being axed by Apple wasn't its problem.

Hypercard was already obsolete by the early 1990s for a range of technical and mismanagement reasons: https://news.ycombinator.com/item?id=7275781


I was working in academia at the time it got axed (2004), and you'd be amazed at the number of people quietly depending on it, with no idea that they had actually learned some scripting. Professors I had never even suspected of using a computer were absolutely bereft. Some people had poured vast amounts of work into creating HyperCard stacks, and there was really no viable alternative to point them to. It was heartbreaking to watch.


Another one of these product is (or at least was) Game Maker. I only learned to program because I started out making games with the drag and drop tiles, and then moving from there into code.


Sadly, YoYoGames no longer provides a free version. Now tons of hobbyists are stuck on GM 8.0, like myself and the rest of the Gang Garrison 2 team: http://www.ganggarrison.com/


They announced that GameMaker studio was free for the Windows version. https://www.yoyogames.com/news/227

Some alternatives are Enigma (http://enigma-dev.org/)

Or Game Develop (http://www.compilgames.net/)


Oh thank god YoYoGames have seen sense and made GM free again. Though, seriously, the damage was already done.


What happened to FileMaker Pro? I am too young to have used it, but I often wonder (based on what I heard about it) if we're reinventing it on the web, time and time again.


Well, it still exists: http://www.filemaker.com/

At its peak, FileMaker did around $100M in annual revenue, and was eventually acquired by Apple. It operates independently. Many people still use it, along with Microsoft Access, and there are still consultants who make a living off of it.

FileMaker never really made the transition to the Web, though. (They added “Web publishing” features but, as far as I understand, never became a true cloud app.

There are some cloud databases and “app builders” online, such as Zoho Creator, Intuit QuickBase, TrackVia, and Knack HQ (to name just a few). To my knowledge none of them have very wide adoption.

IMO the motivation behind all of these is good, but a different approach is needed—which is what we're doing with Fieldbook: https://fieldbookapp.com/demo


Wow, Fieldbook looks awesome! What are you using as the datastore behind it? And the interface framework - entirely custom or built on AngularJS or similar?


Thanks! It's backed by Mongo. Node server with a Backbone front end. A lot of custom code, though.


A baby unicorn dies every time someone builds an overly complex Excel spreadsheet that should actually be a program.


Yes, why should people solve problems they have themselves in ways that disagree with our aesthetic?


The problem is not how hard it is to get answers, but how hard it is to be sure you actually solved the problem correctly. Have you ever tried to debug a complicated spreadsheet? To validate one?

With so many financial institutions basing their decisions on spreadsheets designed in ways that would - or, at the very least, should - horrify even the most incompetent and irresponsible computer programmer, I don't think you understand how serious the issue really is.


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.


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.


My 'first experience with computers' was playing with a Super Nintendo, for many of my friends it was a Gameboy or some other console. The iPad is a lot easier to hack than either of those, just as the iPhone is a lot more developer-friendly than the feature phones before it. It all depends on whether you categorise today's devices as computers or consoles.

And I remember how I had to pay lots of €€€ for Delphi and later Visual C++ on Windows; at least the latter is now free!

I don't think there is a clear trend in computers becoming more hostile to tinkerers.


Sort of tracing back to the article, on the bright side, macs are stuffed with developer tools these days.


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.


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


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/


Thanks. There appears to be a more recent version available here: 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... , namely syntax highlighting and formatting, interactive stepping, and so on


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...

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.


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.


HyperCard came out in '87, the Mac came out in '84.


Correct. But the educational models going forward from that point (like the Classic and LC) could have benefited from having every machine ship with a standard set programming/scripting language.


BBC BASIC in the BBC Master I remember so fondly. It make doing complex tasks, say copy from disk to tape, easy, as it was stored in ROM.


Does anyone remember Genesis on the Archimedes? A multimedia authoring package with some programmable elements itself written in Acorn basic.


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


When you've only got one floppy and no hard drive, you have to swap software and data disks frequently. The first Mac had only 128KB of RAM.


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


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.


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.


You have some notions to correct.

https://archive.org/details/byte-magazine

Since the late 70's, you could just go into a store, buy a box with disks (appropriate to your machine type) and manuals and run it. Or cartridges - many programs were distributed as ROM cartridges, including BASIC interpreters. Cartridge slots were common in home computers. You could buy Lotus 123 in cartridge for the PC Junior.


I take it you weren't around at that time. Well, there was software all over the place in stores and on BBSes, some that was entered from magazine listings, and much that was pirated on tapes and floppy disks.


In the days of the primacy of floppy disks, yes.


> It's the best of the 20 or 30 books we've done.

It should be published.


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


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.


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.


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?


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?


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.


They'd have had to start a new implementation from scratch, since Microsoft bought their existing work, and if the timeline of the original project held true for the new one, it would have taken years to build.


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.


I wonder what the equivalent of MacBasic would be today?


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.


Probably your web browser and notepad for doing simple html and javascript files.


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


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


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


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


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


Even now?


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


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


Anti-trust laws haven't changed much in the last 30 years. And there's no reason to think it would cover this case just because you don't like it. Even if this behavior should be illegal, it would be a different category of law, much like how punching someone in the face is illegal, but isn't covered under the law prohibiting murder.


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.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: