Tripping over little things

One of the projects I’ve picked out for myself this summer is writing a program to parse online news articles and blog postings in order to retrieve the title, date published, author’s name, and so on. The goal is to, given a URL, automatically generate a citation template for Wikipedia. (Currently, the process involving copy and pasting multiple times across two tabs.)

The challenge should be cleverly parsing the webpage source, since there’s no standard way of denoting a title or author or whatnot. But no. Despite PHP being included on Mac OS X “right out of the box”, I couldn’t get it working. (PHP is the language, I’m told, that is very good at working with websites.) All I found was a mass of muddled, conflicting, unhelpful information that assumes I know things that I do not. I’ve had similar experiences before with other languages.

This is ridiculous. A video game company can release the same product on multiple platforms with fool-proof installation; apparently this is too much to ask for programing languages. I don’t know or care or want to change what’s going on in the backend; I just want it to work.

What I’m driving at is the rift between computer science and programming. I sincerely think that if we took a cue from games like Minecraft and allowed children to create without being burdened by the implementation details, we’d see much greater interest in computer science. Much as FIRST is modeled after sports, modeling a programing language after a game could be tremendously helpful. A sandbox of abstract ideas where the computer gets out of the way. My generation certainly has the time and energy and interest for it to work. So why not help them learn and create something worthwhile as they kill time? And perhaps if that interest in accessibility should trickle down to those with more ambitious goals but less know-how?

If this was a movie, we’d cut to a time-lapse montage of me creating an awesome game/language/IDE that does exactly what I want it to and works perfectly. But it’s a catch-22: I can’t make something to allow me to program because I don’t know how, and if I did, I wouldn’t need to make something to allow me to program. Hopefully that will change next year, when I take real comp sci courses.  But that just proves the point: why does it take until the middle of college to get formally educated in computer science? Maybe high schoolers would benefit more from comp sci concepts like set theory and graph traversals than they would from calculus, or at least pay more attention, but no. It seems the elegance, power, and even puzzle-solving mindset of algorithms and data structures are out of reach to anyone who didn’t grow up learning to code. Maybe that’s the distinction to erase: programming without coding, precise instructions without obfuscating and intimidating notation. That way we can open the gates of the twenty-first century a little bit wider.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: