Foreign languages

August 29th, 2016 10:13 AM
by
Filed under Musings;
Comments Off on Foreign languages

In my freshman year at a predominantly male tech college, our glee club trekked to a liberal arts women's college for a joint concert. As the two choirs mingled, our high school experiences and summer travels still fresh in our minds, I overheard a young woman ask one of my classmates, "What languages do you know?"

Unabashedly, he answered, "Oh — C, C++, Java…"

He was being utterly sincere and unironic: even if he didn't suss that his ladyfriend was more interested in tongues than code, his enthusiasm for computer programming was something he was eager to share.

Since starting college and discovering the world doesn't run on BASIC, I've not shared my classmate's confidence. I approach programming with an understanding of the fundamentals but with uncertainty that what I input will result in the desired output. I've not learned many language since my first seven:

Last week introduced me to a situation I'd never before been in: speaking French to a native French speaker. I've never learned any of the Romance languages, leaving me sure of only my ability to mangle them. For several minutes before launching Skype, I rehearsed: "Bonjour. Parlez-vous anglais?" I realized a person would be more forgiving than a computer, but I was still uncertain of the output: what if the answer was "Non"? Would I, like a nervous 9-year-old, hang up the phone?

Paris 2013 - Eiffel Tower
I found the whole prospect intimidating.

Hesitating for several moments, I finally dialed. The other end picked up and greeted me in French — words that came so swiftly and surely that I found them incomprehensible and intimidating. I nonetheless steeled myself and in my best American accent responded: "Bonjour. Parlez-vous anglais?"

There was a moment's silence, during which I imagined a computer terminal processing my command before deciding whether to accept it or return with a syntax error. Then, much to my relief, I heard the sound of a successful reboot into a more familiar environment: "Yes, sir. How may I help you?"

Whether it's FORTH or French, I doubt I'll ever be as fluent with a foreign language as my college classmate was, or that I'll be able to speak to someone in or about other languages with the confidence he did. But perhaps, as with my attempt to major in computer science, my grasp of the fundamentals will be enough to get me by.

A curious crisis of computer science

February 8th, 2016 9:16 AM
by
Filed under Musings;
Comments Off on A curious crisis of computer science

I frequently hear from programmers born earlier than 1980 that today's kids don't know how to code. Matt Hellinger gave a great talk on the subject at KansasFest 2013, which he followed up with a Juiced.GS article on the subject. Other outlets have opined similarly, such as Simon Bisson pointing to the skills and technology of the past to power today's Internet of Things, and John Martellaro proposing that a revamped iPad could be the ideal learning environment.

There's plenty of truth to what these pundits say. The Raspberry Pi, which is often seen as a modern yet affordable equivalent to the Apple II in terms of easy access to the underlying hardware and software, is a powerful alternative to today's closed environments. My own experiences would suggest that's the way to go: opening up my Apple II, plugging in expansion cards, booting into BASIC, and writing my own code is how I taught myself to fall in love with computers.

The Apple II's impact extends beyond these personal anecdotes, influencing careers and industries for a generation. "The peak in computer-science degrees, in 1985, came about four years after the introduction of IBM's first personal computer and during the heyday of the Apple II, which very likely led to increased interest in getting a computer-science degree," writes Jonah Newman for The Chronicle of Higher Education in "Is There a Crisis in Computer-Science Education?" Had I started with an OS X or Windows machine, I wouldn't know where to begin peeling away the pretty GUI surface and getting at the roots of the machine.

But how has interest in computer science developed since then, paralleling the rise in ubiquity of computers, smartphones, and other closed devices?

University of Washington in Seattle CS enrollment

"The chart above tells quite a story. That blue line — the one that looks like a hockey stick — shows how interest in computer science from freshmen at the University of Washington in Seattle has skyrocketed since 2010 compared with other engineering fields," writes Taylor Soper for GeekWire.

While that's a very small data set, a larger one suggests computer science enrollment is on the upswing. "After the 1985–1986 peak in CS majors, demand declined again through most of the 1990s, before increasing in the 2000s and dropping back down again in recent years… Even though there are proportionally fewer graduates now than there were in 1985, this may be a cyclical trend that's actually beginning to reverse," says Elizabeth Dye for Sparkroom in an analysis of The Chronicle of Higher Education's blog post. The job market plays a large role in that, with bubbles (such as the dot-com of 1997–2000) encouraging higher interest and enrollment in computer science.

The sooner kids have the opportunity not just to use computers, but to program them, the earlier they'll develop an interest in a career in computer science. From the Apple II to the Raspberry Pi, there are many opportunities for young programmers to have that experience working with low-level hardware and software. But the platform they have access to is just one variable in a complex equation, and their childhood is only one window in which they can develop these skills. When I started college as a computer science major in the mid-1990s, I had a classmate who had never written a program before, yet she'd chosen to major in CS; almost two decades later, she's still employed in that industry. The important thing may not be to give our children the same experiences we had, but to spark their curiosity. That quality, regardless of what field they pursue, will be of lifelong value.

(Hat tip to Steve Weyhrich)

Solo climbers

November 30th, 2015 9:58 AM
by
Filed under Musings, Software showcase;
Comments Off on Solo climbers

Most Apple historians know the name Jean-Louis Gassée: former Director of European Operations at Apple Computer, founder of Be Inc., and the mysterious informant who told John Sculley not to get on a plane to China, lest he be ousted by Steve Jobs.

But Gassée's contributions to technology don't end in the 1980s or even 1990s: he writes a fascinating blog at The Monday Note, drawing upon his experiences and perspectives in the industry. This past summer, he penned a post of particular relevance to Apple II users. "A Salute To Solo Programmers" pays homage to the days when a single developer could create an entire program:

Once upon a time, we were awestruck by the "solo climber", the programmer who could single-handedly write a magnum opus on a barebones machine such as the Apple ][ with its 64 kilobytes of memory (yes, kilo — not mega, let alone gigabytes), and 8-bit processor running at 1MHz (again, mega not giga).

Gassée goes on to offer examples of , Bill Budge, Dan Bricklin, and Paul Lutus, who worked independently to create programs that changed the world. It's a phenomenon that's unlikely today:

Operating systems have become so sophisticated, so tentacular that a single human being can’t possibly internalize their workings and write application code that keeps us users walking on water. There’s no place for a 2015 Paul Lutus.

I encountered a similar sentiment at KansasFest 2013 when I interviewed Eric Shepherd, former senior technical writer for Be Inc.:

I don't know how much of this is just wistful reminiscing for simpler times. As Gassée later acknowledges, modern computers are not only capable of greater feats of engineering, but they still offer wonderful opportunities for solo development. Access to programming tools and resources is unprecedented, with classes being offered for free at local libraries, universities, and makerspaces, including to underserved communities and demographics. Motivated parties can build anything as simple as a Twitter bot to as complex as as a best-selling video game with a team of one.

I don't believe development has outgrown the boundaries of the Apple II — it's expanded them. But the time when "solo climbers" were the rule rather than the exception was unique, and we have much to thank those pioneers who led the way.

(Hat tip to Thomas Compter)

What schools don't teach

March 18th, 2013 11:18 AM
by
Filed under Musings;
2 comments.

Computers play an important role in education, be it in programming or game design. Retrocomputers like the Apple II can be especially valuable in any of these disciplines, especially programming. The finite, knowable universe of an 8-bit machine provides the perfect canvas on which budding programmers can craft their first algorithms.

But in many schools, the question isn't with what computers should programming be taught, but whether programming should be taught at all. Demand for programmers has never been higher, with the number of positions growing at twice the national rate. Yet ninety percent of schools offer no programming courses at all, leading to colleges graduating fewer computer science majors than they were a decade ago.

The non-profit Code.org is bringing attention to the need for more programming education in this country with a public service announcement (PSA). For this five-minute video, they have recruited the likes of Bill Gates, Mark Zuckerberg, and will.i.am, as well as some less likely suspects.

(There are also one-minute and nine-minute versions of this PSA.)

When I was in high school, a required course was geometry. I found it a challenging course, but reasonably so. The theorems and corollaries about alternate interior angles and their kin weren't intended to train me to be an architect; rather, they were lessons in logic, teaching me how to think and solve.

Programming is the modern geometry, offering similar value to students, whether or not they seek careers in computer programming. I do not consider myself a programmer, yet I have benefitted immensely from the languages I taught myself outside of school. I have occasionally tried to pass on these lessons to friends, showing them some (literally) BASIC concepts on the Apple II, such as variables and FOR loops. They remain completely mystified, with one going so far as to marvel at my own capacity to grasp programming: "You're a creative person, Ken, yet you can program. I've never met anyone whose mind can switch between those two modes so effortlessly."

But programming is creative. A relative who doesn't realize that basic tenet recently characterized programming to me as "Doing the same thing, over and over". How he confused programming with data entry is beyond me. But the fusion of creativity and logic is perhaps best found on this digital landscape, and students would benefit from being introduced to that sandbox — whether or not it's on an Apple II.

A new generation of programmer

September 19th, 2011 1:30 PM
by
Filed under Mainstream coverage;
1 comment.

The first in a new Cult of Mac series makes the title, "Me and My Mac", a bit of a misnomer. Their featured Apple user is Lim Xin Mei, who's learning to program Applesoft BASIC on the Apple IIGS. The six-year-old is dubbed "the world's youngest programmer", which may be familiar to retrocomputing enthusiasts: it was just a few years ago that her brother had a similar title.

"I have always wanted to teach my son [Lim Ding Wen] programming when he was a kid," wrote his father, Lim Thye Chean, in 2008. "When he was only 2 years old, he had already know how to insert a disk and boot up a computer, then used the mouse to find the program he wanted, double clicked to run it and have fun. He asked how to write a game when he was in primary one (7 years old), and I promised to teach him programming if he had done well in school, and he did."

Ding Wen and Xin Mei used to appear in a YouTube video series called The Apple IIGS Show, episodes of which are still available online.

Knowing that there are children being raised to be not just computer literate but technically proficient is a refreshing change from Canadian youth who couldn't identify a floppy disk.

How would you ensure your progeny becomes the next generation of Apple II user?