My parents bought us a Tandy 1000 from Radio Shack sometime in my early elementary years. Cassette tape drive. BASIC programming. We had a couple of good books — written for kids, even then — on writing code. I devoured everything we had and started getting bored. Whether we couldn’t afford new learning material, or the material didn’t exist, or we were up against the limits of the Tandy and couldn’t afford to upgrade… I don’t know. I do remember — during that same timeframe — going with Dad to the local Apple dealer to look at Macintoshes. And I remember really wanting one. And I know we didn’t get one. And that really was the end of my fascination with computers for quite a long time.
Fast forward to now: I’m working full-time in something more or less IT-ish (depending on how elitist your definition of IT is), and I’m working with a lot of embedded systems — multifunction printers, to be precise. Sysadmins everywhere love to hate these things, and I can see why. But they’re fascinating creatures, and as it turns out, they’re buggy, poorly supported and insecure. Over the last few weeks, I’ve become increasingly interested in the (in)security of these devices, and in the piss-poor implementation of network standards most of them bring to bear. Since our manufacturers alternate between actively sandbagging us and passively avoiding us, I’ve taken it upon myself to start learning how these things work.
And, as it turns out, there are a couple of languages that get used pretty heavily by security and network types when they’re poking at embedded devices: Perl and Python. Old School, New School. I can hear @doctorlinguist shuddering from here, I’m certain of it. But now something has my interest; it has a real use case, a real problem to solve; and it has legs. Perl and Python are both marketable.
So I mentioned to the .NET code monkey who works behind me that I was thinking about picking up Python for Kids, and he says, “RURPLE!” ‘scuse me? “Rurple! Like purple, with an R! Check it out, man!” Off to the internets with ye…
And so I found rur-ple. It’s meant for kids. And that’s totally okay with me. I’m starting with Python, and I’ll go from there. Perl and Ruby are on the list, too, though. And Java. I know — problem factory, right?
But here’s the thing: Java gets used in a lot of embedded devices. And whether we like it on the web or not, it’s not going away any time soon. So. I’m moving forward.