A world without BASIC

June 27th, 2011 10:16 AM
Filed under Musings, Software showcase;

The computers that Apple II users grew up with were nowhere near as user-friendly as today's machines. They had unintuitive interfaces, inscrutable error messages, and limited capabilities.

But those same limitations also made them an excellent tool for learning such important concepts as problem-solving, game design, and especially programming.

The Apple II was especially practical for that last function, as it came with BASIC in ROM. Without any other software, a user could turn on her machine and start building a virtual world of her own design. The lack of advanced features meant that the user was playing in a sandbox of conceivable limits yet infinite possibilities.

Yet by 1997, when I started college as a computer science major, I was getting laughed out of the classroom by using BASIC where other students were relying on Java and C++, as I related in Juiced.GS. Today, BASIC is almost nowhere to be found, as detailed in the leading item on Computerworld.com last Thursday "How are students learning programming in a post-Basic world?"

The story is an interesting look at the variety of languages with which to introduce modern students to programming. For some parents and teachers, the old methods work best; "My son's math textbooks contained exercises in Basic, but we could not do the problems until we bought an old Commodore 64 online," said David Brin, author of "Why Johnny Can't Code". Others prefer more popular scripting languages, such as Python; still others use a language designed more for educational than practical use, such as MIT's Scratch, the language of choice of the computer science teacher where I used to teach. She's offering a camp this summer to introduce 13- and 14-year-olds to programming, using a different format from last year's camp: "I changed the language from Alice to Scratch. Alice was too glitchy for me. Scratch is easy to pick up, and hopefully will be fun for middle schoolers."

But none of these languages will offer the same experience as learning BASIC. Author Lamont Wood had once dabbled in BASIC programming but had fallen out of practice until his recent experiment with Python:

The thrill was not the same as in 1979; it hadn't taken months to get the hardware to work, and it sure ran quieter … with Basic, I felt like I was rummaging through a small box containing a few crude tools. With Python, I felt I had pushed open the door to a massive but unlit tool warehouse and was darting in to grab the few that I could see.

I learned BASIC by doing: I was running a Warp Six BBS and needed to make modifications. Eventually, I was inspired to write my own door game, though since it was a port, I had to concern myself only with the coding, not the design. In either case, I always had either the code or design to work with; I never had to conceive and build entirely from scratch (no pun intended).

My challenge in adapting those BASIC programming skills to a modern environment is not so much choosing a language as it is choosing an instruction method. Just as I learned BASIC to run a BBS, I've set a goal of learning PHP to help me run WordPress, a modern equivalent of an online community. But elementary concepts such as functions and arrays seem more confusing than they did twenty years ago.

What's the best computer and language to teach programming — and where does one go from there?

HyperCard for the Apple II, but not the iPhone

June 7th, 2010 12:21 PM
Filed under Mainstream coverage;
Comments Off

The Escapist News Network is at it again. A recent episode of their satirical news show looked at motion-sensing input devices in video games and how the likes of Microsoft's Project Natal are replacing virtual hands with real ones, allowing users to manipulate digital environments with authentic gestures. At the video's 0:54 mark, ENN lamented the obsolescence with which this technology threatens traditional pointing devices:

ENN & Hypercard

Wave goodbye to the pointy hand.

It's not surprising to see such retro references in ENN, given that the show is produced by a troupe with a name like LoadingReadyRun:


Photo courtesy Gamebits.

More relevant to the Apple community is ENN's acknowledgement of HyperCard, which has recently been making the real news as well. Apple's capriciousness in allowing some third-party iPhone and iPad apps into the App Store and not others is well-known: One of my favorite podcasts spent several months jumping through Apple's whimsical hoops, while the infamous Baby Shaker app was approved (though later removed). But more damaging is Apple's curtailing of the iPhone as a creative tool. MIT's educational programming environment, Scratch, was denied admission to the App Store. HyperCard, the hypermedia software that originated on the Macintosh and was later ported to the Apple IIGS, is the most recent victim of Apple's barriers — even though earlier this year, Jobs himself pondered, "Something like HyperCard on the iPad? Yes, but someone would have to create it."

I can understand Apple's desire to keep the iPhone user-friendly and free of potential malware and other malicious code. Steve Jobs says that the only digital freedom he's destroying is "Freedom of programs that steal your data. Freedom from programs that trash your battery. Freedom from porn. Yep, freedom." But how realistic is this goal? I can't help but think that the more Jobs tightens his grip, the more star systems — er, apps — will slip through his fingers. As a result of the denial of the Scratch app one friend of mine has already sold his iPhone, calling prohibiting children access to educational software "morally reprehensible."

The solution? An Apple II far cheaper than an iPhone or iPad, and kids rarely care what CPU is powering their favorite software, so why not avoid these modern dilemmas by going back to HyperCard's roots? The Apple II version of the program is still available as both a free download and physical disks. Create a retro lab and teach your kids something about both programming and history for a fraction of the price.

In the meantime, check out the full ENN news report after the jump, which has other treats for retrocomputing enthusiasts. At time indices 1:30–2:25, Graham Stark relates the historical pains of being a Mac gamer, while neo-retro Atari commercials debut at 2:57–5:25.

Read the rest of this entry »