Mac2Windows
REALbasic: Cross-Platform Programming for the Rest of Us
- 2004.11.22 - Tip Jar
Like many of you, I work amongst a combination of Macs and Windows PC (and with at least some users who want to try out Linux). In my case, it's at an elementary school. Schools tend to collect a hodgepodge of hardware including different platforms from different eras.
Ideally, we would like the kids to be able to do the same work no matter what computer they're sitting at, so cross-platform software is a big plus.
A while ago, a grade 3 (as Canadians put it - only Americans say "3rd grade") teacher asked a simple sounding question: "Is there anything my kids can do on the computer that will help them learn to work with money?"
One of the skills that adults take for granted is knowing that four quarters make a dollar and that two fives is the same as one ten dollar bill. Kids have to learn this.
There's a nice website: Change Maker, that supports US, Canadian, Australian, UK, and Mexican currency, but frankly, it's a bit too hard - kids have to mentally do a fairly complex subtraction and then click on pictures of various kinds of cash to indicate the right answer.
Talking to the teacher, she wanted something simpler, something that gave kids an amount and asked them to show the kinds of money they would use to reach that amount. As I checked around with different early grade teachers, something like that seemed potentially useful, but with various levels. The grade 1 kids needed to work with small change, up to a dollar or so. By grade 3, they needed to be comfortable with amounts up to about $100. And, of course, being in Canada, we needed something with Canadian currency, not American.
Some History
Step back a couple of decades to the early years of personal computing. When Time Magazine declared the personal computer its "Machine of the Year" in its 1983.01.03, there was a concept known as "computer literacy." There wasn't much prepackaged software available yet, and any self-respecting personal computer user of the late 1970s or early 1980s had to expect to be able to make their own.
For most personal computers, that meant a familiarity with the BASIC (for Beginner's All Purpose Symbolic Instruction Code) computer programming language, which was originally developed in 1964 at Dartmouth University by John Kemeny and Thomas Kurt as a teaching tool. Steve Wozniak developed a version of BASIC for the Apple II computers, and Microsoft got its start peddling BASIC variants for most of the other personal computers of the era. (Little-known fact: IBM originally contacted Microsoft to license Microsoft BASIC for its then under development IBM PC; they only licensed the operating system that became known as MS-DOS after failing to reach agreement with Digital Research.)
When the Mac was released in 1984, there was a Microsoft BASIC for it, too. But standard BASICs were not a good fit for the graphical, windowed, mouse-driven Mac environment; they were designed for an earlier era of text-based terminals. And much of what made the Mac Mac-like was buried deep in Apple's Toolbox code; it was possible to access it with MS BASIC, but it wasn't fun or easy.
Graphical environments like the Mac OS or MS Windows make life easier for users but harder for programmers. And BASIC was getting a bad rep. Many programs made a lot of use of GOTO statements for jumping around to different parts of the code; programming professionals derided this as "spaghetti code," a tangled mess that was hard to follow.
With the increasing availability of commercial software, there was less need to write your own code to get your work done. And just as people can learn to drive a car without having to become auto mechanics few computer users saw any need to learn to program their own computers.
Apple's 1987 release of HyperCard was a step towards changing this, a way that nonprogrammers could create graphic and friendly computer applications. But while the Mac version was wildly popular, similar programs failed to catch on amongst PC users running DOS or Windows. Instead, Microsoft went back to its roots in 1991 and released Visual Basic, initially with versions for Windows 3.0 and DOS.
Visual Basic simplified program development for graphical environments by including an environment similar to a desktop publishing program; users could create an interface with windows, buttons, and standard controls without having to program them from scratch. Controls could then be attached to BASIC code, modernized to do away with those ugly GOTO statements, but including modern subroutines and modules.
Visual Basic (VB) was a big hit; it unleashed thousands of wannabe programmers, and the resulting flood of VB applications (covering the full range of good, bad, and indifferent) played a roll in making Windows massively popular. It's no surprise that Microsoft kept later versions of VB Windows-only (though the related Visual Basic for Applications is used as a macro language in Microsoft's Mac Office versions).
Enter REALbasic in the late 1990s. REALbasic started life as a Mac-only Visual Basic look-alike; a similar drag and drop environment for creating user the user interface, and similar modernized BASIC-style code behind the scenes.
In fact, REALbasic includes the ability to import Windows Visual Basic project code, and, with a bit of massaging, use it to produce Mac-usable programs.
Disclaimer
I am not now and have never been a programmer. Over the decades, I've dabbled a bit in writing code in BASIC. For instance, on my website, you can download copies of a BBS-simulator that I wrote long ago for my school district, letting classes simulate the experience of logging on and poking around the BBS that the Vancouver school system ran for educational use. At a time when a school was lucky to have one computer connected to a phone line for online activities, this let a lab-full of students get a taste of being online. There's even a version in MS Macintosh Basic. (I just gave it a try, and it mostly works in Classic mode on my Panther-powered system: www.zisman.ca/files/Ed-Net.sit).
While I've done some work with Visual Basic, and now with REALbasic, I'm nowhere near a guru with any of these development environments. There are lots of helpful REALbasic resources online, starting with, but not limited to, REALsoftware.com.
Back to BASICs
Like Visual Basic, REALbasic is extensible; third-parties can add to its capabilities with plug-ins. As a result, would-be programmers don't have to reinvent everything from scratch. If a feature isn't already built-into REALbasic, there is often a plug-in available that already provides the feature you need. A quick search for "REALbasic" at Versiontracker.com, for instance, listed 132 downloadable plug-ins, many free, others shareware or commercial.
Coding Exact Change
As REALbasic evolved (it is currently up to version 5.5), it added support for the Internet and for media types including sound and video. But more importantly for my purposes, it became cross-platform. Relatively early, REALbasic users on the Mac were able to create Windows applications! Later versions supported both Mac Classic and OS X environments. Still later, REALsoftware released a companion Windows version - this version can load projects created with the Mac version (and vice versa), though some third-party plug-ins may only run on one platform or the other.
Currently, REALbasic 5.5 comes in Mac Classic, Mac OS X, and Windows versions. The Professional edition of any of these versions can compile code into programs for Mac (Classic and OS X), Windows, and now Linux as well. (The Standard edition can only create applications for the OS it is running on).
For me, that's a killer feature - the ability to code something once and then compile it so that it will run everywhere.
"Write once, run everywhere" is the promise of the Java programming language, but Java programs have tended to look ugly and run slowly, dependent on the quality of a virtual machine for each operating system. Compiled REALbasic programs run quickly and use the standard OS widgets and components for each operating system; the Mac OS X version gets rounded, glowing buttons, while the Windows versions gets Windows-native buttons.
It Don't Come Easy
There's still a learning curve. My 1980s-era BASIC background has some carry over; I can write IF-THEN-ELSE statements and DO-UNTIL loops, but I'm still fuzzy on a lot of concepts. (Thanks to fellow Vancouver teacher and Duet Software programmer Peter Findlay for getting me through a number of rough spots).
You can look at the current version of my money program, Exact Change, in Mac OS X, Mac Classic, Windows, and Linux versions, since it was built with REALbasic.
Exact Change
One of the things I've realized: Computer programs are never finished. Aside from getting the obvious bugs out, every version leads to ideas for how to go further. The original Exact Change evolved into a version with different levels for kids in grades 1, 2, and 3. Then it grew to offer practice using money to help count by 2s, by 5s, and by 10s, and to help learn place value.
The current version uses Canadian currency. I would like to internationalize it and let users choose US currency - or Australian or British. I would like to be able to print out the students' work.
To do those things, I'm going to have to learn more about working with REALbasic.
But another thing I've realized: Creating computer programs is addicting. Like many computer games, there's a real rush when something works. And there are a lot of dead ends. But I'm finding myself thinking of strategies and planning modules and trying to squeeze in time to just add one more feature.
Getting REALbasic
A full version of REALbasic (Classic, OS X, or Windows) can be downloaded from www.realsoftware.com; potential users can register with REALsoftware and receive a license key that enables the downloaded program to work for 10 days. (The trial period can be extended for an additional 10 days). Programs created during the trial version will run for 15 minutes and then shut themselves down.
REALsoftware sells the software in a variety of packages, both downloadable and physical. A Standard license (US$100) can be used with one downloadable copy of the Standard edition. A physical copy (included printed documentation) starts at US$150.
The cross platform-capable Professional edition costs US$400 for a download license, US$450 for a physical copy. Academic pricing (with proof of academic status) is about 30% cheaper.
Join us on Facebook, follow us on Twitter or Google+, or subscribe to our RSS news feed
Alan Zisman is Mac-using teacher and technology writer based in Vancouver, BC, Canada. Many of his articles are available on his website, www.zisman.ca. If you find Alan's articles helpful, please consider making a donation to his tip jar.
Today's Links
- Mac of the Day: Color Classic, introduced 1993.02.01. A cult classic, this was the compact Mac with color that everyone had been waiting for.
- Support Low End Mac
Recent Content
About LEM Support Usage Privacy Contact
Follow Low End Mac on Twitter
Join Low End Mac on Facebook
Favorite Sites
MacSurfer
Cult of Mac
Shrine of Apple
MacInTouch
MyAppleMenu
InfoMac
The Mac Observer
Accelerate Your Mac
RetroMacCast
The Vintage Mac Museum
Deal Brothers
DealMac
Mac2Sell
Mac Driver Museum
JAG's House
System 6 Heaven
System 7 Today
the pickle's Low-End Mac FAQ
Affiliates
Amazon.com
The iTunes Store
PC Connection Express
Macgo Blu-ray Player
Parallels Desktop for Mac
eBay