A world without BASIC

June 27th, 2011 10:16 AM
by
Filed under Musings, Software showcase;
6 comments.

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?

RetroChallenge Winter Warmup commences

January 6th, 2011 9:57 AM
by
Filed under Happenings;
Comments Off on RetroChallenge Winter Warmup commences

One of my favorite KansasFest activities is the HackFest, which challenges KFest attendees to write the coolest Apple II program possible within the time constraints of the convention. My programming skills are meager, I found that creativity counted for more than technical accomplishment. I used Applesoft, GSoft, or Spectrum scripting to place in many consecutive competitions, until finally my I tapped dry my well of ideas and switched over to the judging panel.

HackFest continues to be a popular feature of KansasFest, though some have called for it to be less stringent in its rules. “Why should someone have to be at KansasFest to compete in HackFest?” I’ve been asked. Partly it’s for the contestants’ benefit: the synergy and inspiration abound at KFest, with contestants often working alongside each other, advising them on particular programming challenges. Such was the case with my own now-infamous Maxster, which I believe placed second to my roommate Geoff Weiss‘s Taipan script.

Nonetheless, it remains true that, although everyone should attend KansasFest, not everyone can. For them, there is an alternative: the RetroChallenge. This competition is held every summer and is not restricted to the Apple II. RetroChallenge occasionally is held in the winter as well, to keep everyone’s programming skills current. Courtesy volunteer urbancamo (filling in for traditional host Simon Williams), the RetroChallenge 2011 Winter Warmup is now underway. From the event’s Web site:

In a nutshell, the RetroChallenge is a loosely disorganised gathering of RetroComputing enthusiasts who collectively do stuff with old computers for a month.

The event is very much open to interpretation: individuals set [their] own challenges, which can range from programming to multimedia work; hardware restoration to exploring legacy networking — or just plain [messing] around. It really doesn’t matter what you do, just so long as you do it.

While the RetroChallenge has its competitive side, it’s not really a contest — it’s more like global thermonuclear war: everyone can play, but no [one person] really wins.

Come on — give it a go!

The rules aren’t quite as stringent as HackFest’s and permit the use of any 20th-century pre-Pentium computer, including game consoles and PDAs. Check out the event’s discussion forum and Twitter feed for more details.

I won’t be able to participate this year, focused as I am on retrocomputing multimedia projects that require no programming — but I encourage all programmers, both budding and veteran, to get out there and represent the Apple II!

Teaching retroprogramming

September 13th, 2010 9:09 AM
by
Filed under Mainstream coverage, Musings;
3 comments.

The annual Beloit College Mindset List, which outlines the world in which the incoming class of college freshman grew up, indicates that for members of the class of 2014, “The first home computer they probably touched was an Apple II or Mac II; they are now in a museum.”

Fortunately, for students in Bletchley, Milton Keynes, England, their experience with retrocomputers is more recent — and eminently practical. BBC News reports:

As a former teacher, I can fully get behind this classroom curriculum. It wasn’t long ago that I suggested a lab of Apple II computers could be an effective and modern learning tool. Although the computers featured in this video are not Woz’s brainchild, they are its contemporaries and teach many of the same lessons my proposed lab would. As one student said, “The old machines have a lot to teach us. They run a lot slower, and you can actually see the instructions executing in real-time.”

What I hope the students learn is how to make the most of limited hardware and software resources, though this quotation makes me wonder if they missed that point: “It makes you a lot more efficient, and you think more about your code, because it’s harder to type it all in.” Although the arduousness of input can indeed be a powerful motivator against error, I don’t think it’s a programming environment that one need tolerate on even a classic computer. The Apple II worked around this limitation with Beagle Bros‘ excellent Program Writer for Applesoft BASIC. Such utilities don’t encourage sloppy programming but instead improve the rate at which you can learn from your mistakes, whereas modern machines and their gluttonous resources permit sloppy programming that would never fly on a computer whose memory is measured in kilobytes.

This classroom’s demographic reminds me of the demoparty I attended this summer, where most attendees were younger than the computers they were hacking. KansasFest likewise has an increasingly youthful attendance, with Apple II users still in or recently out of undergraduate programs. This next generation of retrocomputing enthusiasts has great potential to apply modern programming techniques and structure to classic design. For example, put these students into a limited-time programming contest, and you’d have HackFest. I wonder how they would fare?

I couldn’t help but take umbrage when the reporter says that the student’s work almost looks like a “real video game”. Of course it’s a real video game! Software doesn’t need rockstar programmers or cutting-edge technology. The original versions of Lode Runner and Oregon Trail have more staying power than any jazzed-up modern adaptations. I wouldn’t be surprised if these kids are the next programmers to recapture the fun and wonder of these classic games.

Because BBC is awesome, their story also has one of their own news reports from Oct. 17, 1986, that showcases the computers of the day, including the Apple IIGS. That video is not embeddable, so I encourage you to watch it on their site.

(Hat tip to Slashdot and Mitch Wagner)

HyperCard for the Apple II, but not the iPhone

June 7th, 2010 12:21 PM
by
Filed under Mainstream coverage;
Comments Off on HyperCard for the Apple II, but not the iPhone

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:

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 »