MacBASIC

apple.fandom.com

87 points

rbanffy

5 days ago


71 comments

GeekyBear a day ago

Andy Hertzfeld shared the background on why MacBASIC didn't ship with the Mac.

> Apple's original deal with Microsoft for licensing Applesoft Basic had a term of eight years, and it was due to expire in September 1985. Apple still depended on the Apple II for the lion's share of its revenues, and it would be difficult to replace Microsoft Basic without fragmenting the software base. Bill Gates had Apple in a tight squeeze, and, in an early display of his ruthless business acumen, he exploited it to the hilt. He knew that Donn's Basic was way ahead of Microsoft's, so, as a condition for agreeing to renew Applesoft, he demanded that Apple abandon MacBasic, buying it from Apple for the price of $1, and then burying it.

https://folklore.org/MacBasic.html

It was a shame, since MacBASIC allowed users to write software that supported the features of the Mac UI and Microsoft's BASIC did not.

> Benchmarks published in Washington Apple Pi Journal suggested that MacBASIC had better performance as compared to Microsoft's MS BASIC for Macintosh. The language included modern looping control structures, user-defined functions, graphics, and access to the Macintosh Toolbox. The development environment supported multiple programs running simultaneously with symbolic debugging including breakpoints and single-step execution.

https://www.wikipedia.org/wiki/MacBASIC

However, the late betas were out in the wild with no copy protection, so it was passed around by user groups.

  • scelerat a day ago

    > It was a shame, since MacBASIC allowed users to write software that supported the features of the Mac UI and Microsoft's BASIC did not.

    Practically speaking perhaps yes, but technically MS Basic on the Mac did enable you to make many Mac Toolbox/Quickdraw calls, enabling one to make buttons, shapes, draw, use fonts, etc. All of this ran inside the BASIC window, so it wasn't like you could open new windows or file dialogs.

    I have no idea what Apple's MacBasic was like, but I did use MS Basic to make some very simple games. For junior high school me it was mostly using buttons in unsophisticated guessing or choose-your-own-adventure games.

    I had a floppy with Pong-like game written in MS basic for the Mac. It used toolbox routines to draw the ping-pong-like paddle, the ball, the oval-shaped (iirc) bricks, and follow mouse movements while hiding the default pointer. I don't know who wrote it, but it came to me via a parent who worked at Jet Propulsion Lab and brought it home to run on our 128k Mac.

    • GeekyBear 11 hours ago

      > I have no idea what Apple's MacBasic was like

      This was already apparent.

      Microsoft BASIC for Mac was a lowest common denominator sort of product.

      It did the sorts of things BASIC could do on any platform fairly well (since most platforms ran a Microsoft BASIC variant), but it did an incredibly poor job of allowing a user to write programs that worked as if they were designed for a Mac.

      • scelerat 4 hours ago

        > This was already apparent

        On edge? We're just talking here. I'm not trying to hold up MS Basic as some awesome programming environment, just describing how I experienced it

    • WillAdams 19 hours ago

      Being trapped in the MS BASIC window was _incredibly_ limiting for anything which was constrained by screen real estate --- starting out with only 512 x 342 and subtracting the menubar didn't leave much even for applications which weren't so constrained.

  • msie a day ago

    Sigh, why can't we have nice things?

    • martinsnow a day ago

      Because Bill Gates was an ass

      • deaddodo a day ago
        9 more

        It's unlikely he changed, he just stepped away from business management and so doesn't need to don that cap any longer.

        Personality compartmentalization is a fascinating thing.

        • eesmith a day ago
          4 more

          The billions Gates has dropped on "education reform", including support for Common Core, is the sort of thing a rich ass convinced of the rightness of his techno-managerial views would do.

          • mmastrac 14 hours ago
            3 more

            Is Common Core really that bad? It seems to be yet another globalist boogeyman for the online ultra-independent-personality types like "15 minute cities" and similar quips.

            • eesmith 12 hours ago
              2 more

              It's pointless numbers which don't provide any insight into a student's learning while on the school level are used to punish schools rather than provide more support.

              Since it isn't meaningful to learning, students won't actually care about the test unless there are severe consequences, like taking away the ability to graduate, for not doing well.

              Since it's high-stakes for the school as well, they develop lesson plans around teaching for the test (eg, taking time away from subjects which aren't tested), and setting up school rally events to add emotional reinforcement.

              This is all opportunity cost taking away from actual effective teaching.

              I don't know how you turn that into 'globalist boogeyman'. It's techno-managerial blind faith in measurement rather than trust in educators, combined with the classist view that most people should be trained as meat widgets for corporations, not citizens.

        • bugglebeetle a day ago
          4 more

          He hasn’t changed at all. He pulled the exact same bullshit with opposing efforts to waive intellectual property rights for vaccines during the pandemic, using Gates Foundation money and influence to block anyone who attempted. If anything, he’s even more of a monster, now playing his malevolent games in the domain of global public health.

          • bayindirh 18 hours ago
            3 more

            While portraying a "retired and calmed down rich man" with his blog posts and "books of the year" lists.

            Ugly.

            • WillAdams 17 hours ago
              2 more

              For a look at what his non-retired, non-calm management style was like see:

              https://www.joelonsoftware.com/2006/06/16/my-first-billg-rev...

              • bayindirh 17 hours ago

                That's a good tale, but I also read "The Halloween Documents", so that's more than enough knowledge about that guy's ethics.

                Ah, and the "hidden Microsoft Trademark" in every BASIC image. I think Apple guys found and nullified in theirs, and pissed off Bill a little.

      • WillAdams 19 hours ago
        2 more

        For more of this, see the book _StartUp_ by Jerry Kaplan, which basically devolves to the story of how Microsoft killed off Go Corporation and PenPoint:

        https://www.goodreads.com/book/show/3826418-startup

  • PaulHoule 16 hours ago

    As I remember it, the Mac was the first home computer that didn't come with BASIC out of the box.

    • whobre 16 hours ago

      I don’t think many people considered Mac a “home computer” back then given its price tag.

      • PaulHoule 16 hours ago

        Perhaps the major purpose of the "home computer" (like RSTS/E on the PDP-11) was teaching people to program with BASIC. BASIC was also a way to develop applications, which was something you want on a "business" computer.

      • rbanffy 15 hours ago

        It was an expensive home computer, but it was not targeted at businesses and was always a personal productivity tool.

        If you are rich enough, any computer that the DoD doesn't find too interesting can be your home computer.

  • tiahura a day ago

    All a little odd given that AmigaBasic was pretty sweet.

    • deaddodo a day ago

      The thing about Microsoft's BASIC suite was that it wasn't generally bad (it was their launching software, after all), it was just generic. So implementations for different platforms could vary in quality depending on necessary integrations.

      Amiga BASIC, AppleSoft, and QBasic/QuickBasic were generally good. But the Macintosh version was a little less refined than MacBasic, by all accounts.

      • LocalH 17 hours ago

        Amiga BASIC was pretty bad. It was slow, generally shared similar types of restrictions to Macintosh MS BASIC, and it didn't work on future 68k CPUs. I wouldn't be surprised if, similarly to Z80 and 6502 MS BASIC, their 68k BASIC was built from a single codebase. There are just too many similarities.

      • hnlmorg a day ago
        5 more

        QBasic was as different to Microsoft BASIC as Visual Basic is different to QBasic.

        It doesn’t really make sense to lump them into the same group.

        As for Microsoft BASIC, I generally found it to be amongst the worst BASIC product on the market at that time.

        • deaddodo 21 hours ago
          4 more

          They're lumped in the same group by measure of being from the same source and following mostly the same core dialect. What I (and is usually) referred to as "Microsoft BASIC", not a specific product:

          https://en.wikipedia.org/wiki/Microsoft_BASIC

          E.g.:

          > Applesoft BASIC is a dialect of Microsoft BASIC - https://en.wikipedia.org/wiki/Applesoft_BASIC

          > Type Microsoft BASIC - https://en.wikipedia.org/wiki/Amiga_Basic

          > Type Microsoft BASIC - https://en.wikipedia.org/wiki/QuickBASIC

          The point wasn't that they are they same, in fact quite the opposite. So it would make sense that some variants (the Amiga variant, in this case) could be good while others are less well received.

          • hnlmorg 21 hours ago
            3 more

            I’m familiar with the different variants of Microsoft BASIC.

            What I’m saying is that QBasic isn’t the same product as what Microsoft sold to 3rd parties like Altar, Apple, Commodore and co.

            So it doesn’t really make sense to discuss QBasic in that context despite it technically still being a dialect of BASIC written by Microsoft.

            • deaddodo 18 hours ago
              2 more

              I gave you my reasoning, we simply disagree. And that's ok.

              • hnlmorg 12 hours ago

                Fair enough :)

WillAdams a day ago

As a 128K Mac owner who bought Microsoft's BASIC for the Mac, this still makes me angry.

Then Apple released HyperCard and that was nice, until they dropped it.

Then Runtime Revolution was released, and I found it quite nice to use, then they opensourced it as Livecode and I pledged for that, then they quit supporting the Community Edition and closed the code again (anyone know if anyone is making progress on getting this to compile/work/install?).

These days I just use Python, but I'd really like to see a nice option for GUI development.

  • analog31 a day ago

    During my time with the Mac, from 1993 to 1997, I did virtually all of my dev on HyperCard. The exception was writing some "code resources" in C to access hardware functions.

    Then I switched to Windows and used Visual Basic for too many years.

    Today, Python. What's really happened is that I've walked away from the platform wars, and only use tools that run on any modern OS.

    I've embraced Tkinter. What I've realized is that my main reason for needing to arrange GUI's by hand was to make efficient use of (by today's standards) tiny displays. My GUI's were never going to be liberating or beautiful because I'm not that good.

    Now I can afford for my UI's to be less efficient of screen space, and Tkinter gets things good enough to be usable if expectations are realistic.

    • codr7 a day ago

      I've been having the same realization with Java/Swing lately. It's good enough for many of my needs and it runs pretty much anywhere.

  • noduerme a day ago

    I used to do a lot of Hypercard. Never tried Livecode. Just looking at their site and their pricing model, I'm curious, do you actually have to get their approval / notify them for every app you develop and where it gets released? I can't imagine spending the time to adopt a language that was controlled by one company that way. Learned my lesson with Flash AS3, but at least Adobe didn't care what you made with it or try to put their hand in your revenue stream.

    • beagle3 a day ago

      John Earnest’s “Decker” is basically HyperCard, open source, free, multiple implementation (for web in JS and also native cross platform SDL+C).

      The language is not AppleTalk, but one called Lil - nicer, IMHO.

      It captures old HyperCard magic and aesthetics. Give it a try.

      • WillAdams 19 hours ago

        Yes, but what if one wants something modern?

        I did the 1-bit 512 x 342 thing for _years_ --- I want something modern with high-resolution colour graphics....

  • jimbosis a day ago

    The folks at OpenXTalk are continuing to develop fork(s) of the final Open Source LiveCode Community Edition.

    https://www.openxtalk.org/

    https://www.openxtalk.org/OXTDownloads.html

    https://www.openxtalk.org/forum/

    The forum seems a little disorganized to me, but I lurk a few times a year and get the pulse of how the development is going by reading the recent-ish posts.

    From the first link:

    "What is OpenXTalk?

    OpenXTal k [sic] is the working name of a fork of the now unsupported Legacy LiveCode Community Edition project, with the goal of keeping a FREE OPEN SOURCE xTalk language publicly available...."

    Edit: Newline formatting.

    • WillAdams 19 hours ago

      I've tried the downloads from there a few times, and never got a working result --- I'll keep an eye on it and keep trying though.

  • msie a day ago

    I just discovered that the wxWidget library has Ruby (and python) bindings! wxRuby3. And it works on OSX, Windows and Linux.

  • musicale 5 hours ago

    > closed the code again

    I hate it when that happens.

jhbadger 15 hours ago

Because of this posting, I found the "1.0" version at Macintosh Garden and started playing with it in an emulator. It is pretty neat and advanced for the time -- while it supports the traditional line number/goto/gosub style of BASIC, you can also not use line numbers and define multi-line functions with "function/end function" and basically have something as structured as Pascal. Obviously this style of BASIC was common in the 1990s with Visual Basic and the like, but for 1984 this was unusual.

  • rbanffy 15 hours ago

    It really seems quite sophisticated. Line numbers were a way to cope with lacking editors of early BASIC, as well as a reasonable way to express jump targets. It was natural to drop them once full-screen source editors became mainstream.

    What Microsoft did was unconscionable.

casey2 a day ago
  • pjmlp a day ago

    Love that compilers are also listed.

    Original BASIC was compiled, sometimes I wonder if those 8 bit machines also had compilers available, how that would have impacted the use of BASIC, versus the BASIC vs Assembly duality of the time.

    • WillAdams 19 hours ago

      Sort of?

      I remember instructions from a magazine on how to enter a line of BASIC code, then peek at a particular series of locations in memory, write those down, then make use of that code in lieu of the original BASIC code inside the original BASIC program --- used it for loops inside a game for updating the screen and polling the keyboard.

      • pjmlp 18 hours ago
        2 more

        Isn't really the same though, that would be like using MS-DOS debug instead of proper compiler.

        • WillAdams 17 hours ago

          That's why I said:

          >Sort of?

          Back in the days of floppy disks and cassette tapes and 16--64KB memory spaces it was pretty hard to run into a real performance issue aside from games or sorting.

          For the former, converting the inner loops as I described seemed to work, and I suppose it would have at least helped to some degree on the latter.

          That said, yes, all the cool stuff was in assembly, and that lasted through to the early GUI days to some degree --- my favourite word-processor was WriteNow for the Mac/NeXT, ~100,000 lines of assembler.

    • reaperducer 19 hours ago

      I wonder if those 8 bit machines also had compilers available

      They did.

      • pjmlp 18 hours ago

        ZX Spectrum family certainly did not had any usable one, and the few attempts that existed weren't usable over raw Z80, due to the code quality and having to deal with the memory space that was anyway reserved for the builtin interpreter.

        I don't remember if the CP/M offering for the 128K +3A had any compiler available, but I only knew one person with such a model, thus I never really tried out myself.

      • WillAdams 15 hours ago

        I always regretted that though I got a cassette copy of Pascal for the TRS-80, I was unaware of their being a patch to make it work in TRS-DOS.

        Anyone, here's an example of one compiler for an 8-bit machine:

        http://www.trs-80.org/pascal-80/

  • deaddodo a day ago

    I find it weird that that list is titled "BASIC dialects" but then lists implementations. There are a couple dozen implementations of the Microsoft BASIC dialect (and another half dozen BASICA), for instance.

    • StudyAnimal a day ago

      They are all different though, depending on the hardware. Microsoft's BASIC on the C64 and on the mac and on all other platforms were different enough to count as different dialects, certainly more than just different implementations.

      Edit: And the wikipedia page clusters them nicely in a separate group, what more could you ask for.

      • deaddodo 21 hours ago

        I think you missed my point. Microsoft BASIC is a dialect consisting of a couple dozen BASIC implementations:

        https://en.wikipedia.org/wiki/Microsoft_BASIC

        And clicking any of those will list them as a "Microsoft BASIC" dialect. This list lists them independently as their own dialects. I just found that slightly humorous. It wasn't intended as anything more.

        If you want to be serious about it, I agree with you. Each of those is different enough that they certainly could be considered their own languages and "Microsoft BASIC" a superset (akin to Pascal, Ada, Oberon, Modula, etc all being "Wirth-languages") vs "dialect".

nwroot a day ago

So many ads

  • kristianp 21 hours ago

    Indeed, a good reason not to use fandom to host your wiki.

  • mattl a day ago

    I saw none but I did see some spots where they might appear.

ndiddy a day ago

There's a really good overview of the MacBASIC drama with Microsoft here: https://www.filfre.net/2018/07/doing-windows-part-6-look-and... . I'd recommend the whole "Doing Windows" series on that blog to anyone interested in the history of computer GUIs.

Relevant quote (sorry for the length):

> Gates and others at Microsoft had gone on the record repeatedly saying they intended for Windows and the Macintosh to be sufficiently similar that they and other software developers would be able to port applications in short order between the two. Few prospects could have sounded less appealing to Sculley. Apple, whose products then as now enjoyed the highest profit margins in the industry thanks to their allure as computing's hippest luxury brand, could see their whole business model undone by the appearance of cheap commodity clones that had been transformed by the addition of Windows into Mac-alikes. Of course, one look at Windows as it actually existed in 1985 could have disabused Sculley of the notion that it was likely to win any converts among people who had so much as glanced at MacOS. Still, he wasn't happy about the idea of the Macintosh losing its status, now or in the future, as the only GUI environment that could serve as a true, comprehensive solution to all of one's computing needs. So, within weeks of Jobs's departure, feeling his oats after having so thoroughly cowed Digital Research, he threatened to sue Microsoft as well for copying the "look and feel" of the Macintosh in Windows.

> He really ought to have thought things through a bit more before doing so. Threatening Bill Gates was always a dangerous game to play, and it was sheer folly when Gates had the upper hand, as he largely did now. Apple was at their lowest ebb of the 1980s when they tried to tell Microsoft that Windows would have to be cancelled or radically redesigned to excise any and all similarities to the Macintosh. Sales of the Mac had fallen to some 20,000 units per month, about one-fifth of Apple's pre-launch projections for this point. The stream of early adopters with sufficient disposable income to afford the pricey gadget had ebbed away, and other potential buyers had started asking what you could really do with a Macintosh that justified paying two or three times as much for it as for an equivalent MS-DOS-based computer. Aldus PageMaker, the first desktop-publishing package for the Mac, had been released the previous summer, and would eventually go down in history as the product that, when combined with the Apple LaserWriter printer, saved the platform by providing a usage scenario that ugly old MS-DOS clearly, obviously couldn't duplicate. But the desktop-publishing revolution would take time to show its full import. In the meantime, Apple was hard-pressed, and needed Microsoft -- one of the few major publishers of business software actively supporting the Mac -- far too badly to go around issuing threats to them.

> Gates responded to Sculley's threat with several of his own. If Sculley followed through with a lawsuit, Gates said, he'd stop all work at Microsoft on applications for the Macintosh and withdraw those that were already on store shelves, treating business computing henceforward as exactly the zero-sum game which he had never believed it to be in the past. This was a particularly potent threat in light of Microsoft's new Excel spreadsheet, which had just been released to rave reviews and already looked likely to join PageMaker as the leading light among the second generation of Mac applications. In light of the machine's marketplace travails, Apple was in no position to toss aside a sales driver like that one, the first piece of everyday Mac business software that was not just as good as but in many ways quite clearly better than equivalent offerings for MS-DOS. Yet Gates wouldn't stop there. He would also, he said, refuse to renew Apple's license to use Microsoft's BASIC on their Apple II line of computers. This was a serious threat indeed, given that the aged Apple II line was the only thing keeping Apple as a whole afloat as the newer, sexier Macintosh foundered. Duly chastised, Apple backed down quickly -- whereupon Gates, smelling blood in the water, pressed his advantage relentlessly, determined to see what else he could get out of finishing the fight Sculley had so foolishly begun.

> One ongoing source of frustration between the two companies, dating back well into the days of Steve Jobs's power and glory, was the version of BASIC for the Mac which Microsoft had made available for purchase on the day the machine first shipped. In the eyes of Apple and most of their customers, the mere fact of its existence on a platform that wasn't replete with accessible programming environments was its only virtue. In practice, it didn't work all that differently from Microsoft's Apple II BASIC, offering almost no access to the very things which made the Macintosh the Macintosh, like menus, windows, and dialogs. A second release a year later had improved matters somewhat, but nowhere near enough in most people's view. So, Apple had started work on a BASIC of their own, to be called simply MacBASIC, to supersede Microsoft's. Microsoft BASIC for the Macintosh was hardly a major pillar of his company's finances, but Bill Gates was nevertheless bothered inordinately by the prospect of it being cast aside. "Essentially, since Microsoft started their company with BASIC, they felt proprietary towards it," speculates Andy Hertzfeld, one of the most important of the Macintosh software engineers. "They felt threatened by Apple's BASIC, which was a considerably better implementation than theirs." Gates said that Apple would have to kill their own version of BASIC and -- just to add salt to the wound -- sign over the name "MacBASIC" to Microsoft if they wished to retain the latter's services as a Mac application developer and retain Microsoft BASIC on the Apple II.

> And that wasn't even the worst form taken by Gates's escalation. Apple would also have to sign what amounted to a surrender document, granting Microsoft the right to create "derivative works of the visual displays generated by Apple's Lisa and Macintosh graphic-user-interface programs." The specific "derivative works" covered by the agreement were the user interfaces already found in Microsoft Windows for MS-DOS and five Microsoft applications for the Macintosh, including Word and Excel. The agreement provided Microsoft with nothing less than a "non-exclusive, worldwide, royalty-free, perpetual, non-transferable license to use those derivative works in present and future software programs, and to license them to and through third parties for use in their software programs." In return, Microsoft would promise only to support Word and Excel on the Mac until October 1, 1986 -- something they would certainly have done anyway. Gates was making another of those deviously brilliant tactical moves that were already establishing his reputation as the computer industry's most infamous villain. Rather than denying that a "visual display" could fall under the domain of copyright, as many might have been tempted to do, he would rather affirm the possibility while getting Apple to grant Microsoft an explicit exception to being bound by it. Thus Apple -- or, for that matter, Microsoft -- could continue to sue MacOS's -- and potentially Windows's -- competitors out of existence while Windows trundled on unmolested.

> Sculley called together his management team to discuss what to do about this Apple threat against Microsoft that had suddenly boomeranged into a Microsoft threat against Apple. Most at the meeting insisted that Gates had to be bluffing, that he would never cut off several extant revenue streams just to spite Apple and support this long-overdue Windows product of his which had been an industry laughingstock for so long. But Sculley wasn't sure; he kept coming back to the fact that Microsoft could undoubtedly survive without Apple, but Apple might not be able to survive without Microsoft -- at least not right now, given the Mac's current travails.

  • scarface_74 a day ago

    And people wondered why Apple released Apple Maps using its own data before it should have.

    It didn’t want to stay dependent on Google.

    • BuildTheRobots a day ago

      Might be worth pointing out that "own data" actually meant "quite a large amount of OpenStreetMap".

datavirtue a day ago

All this BASIC drama seems so silly now.

  • WillAdams a day ago

    It could have saved the early Mac from being an application-driven appliance and allowing average users to create graphical applications --- instead, that had to wait until HyperCard was released.

    A notable example of that promise was an early game, _The Manhole_ (billed as "Where Alice would have gone if Alice had had HyperCard") --- the developers went on to make a little game on CD-ROM known as _Myst_.

    For an alternate spin on how a competitor was developed:

    https://yourstory.com/2017/06/techie-tuesdays-alan-cooper

  • analog31 a day ago

    I got my first "real" computer in 1984, though I had owned a Timex-Sinclair ZX81 prior to that. I had already learned programming, and was quite interested in it. I chose MS-DOS. but had already tried a Mac, and had seen a demo of the Apple Lisa.

    The lack of Mac programming tools "for the rest of us" was noticeable, and contributed to an impression that Apple was indifferent or even hostile to small scale developers. The Mac was referred to as a "closed box." This in turn led to people preferring MS-DOS for small scale development of both software and hardware, even if we could never hope to match the quality of Apple's GUI.

    I don't think this ever changed, through upheavals of both the Apple and Microsoft worlds. I used a Mac from 1993 to 1997, and wrote a couple of magazine articles on Mac hardware interfacing. I did all of my development in HyperCard except for creating a couple of "code resources" in C to access hardware functions. Being a Mac hardware hacker was a pretty lonely place.

    Today, I won't touch any development tool that isn't platform independent, so the issue has been largely mooted for me.

  • pjmlp a day ago

    There is enough programming language drama going on still, we only got a change of the main characters.

    BASIC might be out, but there is enough of Python, JS, PHP, C, C++, Go, Rust, Java, .NET, ... to chose from.

    • rbanffy 15 hours ago

      One of the things I like about the Python community is the overall lack of drama (compared to other languages of similarly high profile).