I’m only making an educated guess here, but I think most, if not all software developers around my age (I was a kid of the 1980s) got our start, during the dawn of the personal computer revolution.
I know that everyone takes for granted just how SPOILED we are for electronic devices and personal computers these days.
But back before the dawn of the personal computer revolution which started around the early and mid 1970s, computers were giant room sized mainframe systems, costing millions of dollars and accessible only by either the military or a “priesthood” of university staff and students who had to “fight” for time and access to the system.
You have to keep in mind that one mainframe system had to serve the needs of multiple users. Mainframe systems were certainly not cheap … you couldn’t just pick one up at the local Best Buy or Apple store and universities certainly didn’t have an unlimited budget to purchase those giant behemoths.
The personal computer revolution was truly a significant world changing event. It made computers, which were formerly reserved for a technical “priesthood” of people in universities and the military, available for the public at large.
Instead of taking up whole rooms and requiring massive refrigeration to keep them cool, a personal computer could sit comfortably in one’s living room or den on a modest sized desk.
I was in elementary school in the early 1980s when I saw firsthand, a personal computer, the Apple II.
It was perched in the school’s library, right next to the school librarian’s desk and students were encouraged to log time on it, and explore it’s inner goodness.
It’s fair to say it was love at first sight. I was absolutely ENTRANCED by the machine. And I probably monopolized the time on that computer more than any of my classmates.
What was great about the Apple II, was as soon as you powered it up, it came pre-installed with a version of the BASIC programming language called Applesoft Basic. It was a computer that practically BEGGED you to program on it and explore its power.
This was 1982 and I was only 10 at the time, but I was already hooked by the power of that machine. Personal computing was still very new at the time, and this was still well over a decade before the internet as we know it. I couldn’t just google on the topic of computer programming.
Fortunately, I was in the middle of a school library and there were already a good collection of books about programming in the BASIC computer language. As I read through the books, I tinkered on the Apple II and slowly but surely learning the basic fundamentals of computer programming, which I use to this day.
Things like how looping works. How to use variables. If-then logic. The use of data structures like arrays.
Flash forward about 35 years, and I still have fond memories of that Apple II. It sparked a love for programming that ended up giving me a satisfying career in software development.
Yet I still pine for those early days of personal computing. When you wanted to learn something on a computer, the best way to go about learning was to just start HACKING that computer.
For some reason, as personal computers got more powerful and sophisticated, they lost the built in ability to compile source code.
In fact, for many years between those first generation personal computers and the rise of Linux, perhaps a good ten to fifteen years or so, writing your own software on a personal computer was rather EXPENSIVE.
If you wanted to write software on a Macintosh personal computer, you had to purchase some sort of compiler software either from Apple computers or third party software company.
I googled a historical press release for a popular compiler package for the mac called “Codewarrior”, the suggested pricing mentioned was “CodeWarrior Development Tools for Mac OS, Version 8, will be released May 31 at a suggested retail price of US$599 per license and $299 for renewal.”
Microsoft’s development tools for MS-DOS and Windows PCs weren’t any cheaper. Their tools cost in the hundreds to thousands of dollars for their full blown enterprise versions.
That’s not to say those weren’t high quality developer tools (they BETTER be for those kinds of prices!).
I’ve used both tools back in their heyday and they were worth every penny. They were chocked full of professional quality features.
Unfortunately, the high price of those development tools discouraged anyone who was interested in learning how to program, but didn’t have the necessary funds to do so.
At least that’s my educated guess.
Nowadays, big companies like Microsoft and Apple recognize how essential it is to attract new developers to their ranks.
Microsoft is only too happy to provide free versions of their flagship developer tools.
Apple may charge a pretty penny for their own computers, but one thing they no longer charge for is their flagship development tool, Xcode.
It’s certainly a step in the right direction. As a software developer, I like to save money just as much as the next guy.
But a certain non profit organization went a step further. Although the personal computer revolution has certainly brought the price of computers down to more reasonable levels that us mere mortals can afford, it still means an investment of at least a few hundred dollars or more to get a decent piece of computer hardware to get started in software development.
That all changed when the Raspberry Pi organization decided to release a fully functional computer, no bigger in size than a typical credit card, for the cost of $35.
I don’t know about you, but $35 for a fully functional and extremely portable computer that is fully internet capable and completely programmable is a BARGAIN.
Not only that, but the Raspberry pi runs on Linux, an open source operating system, that was designed from the ground up to appeal to programmers and hackers.
I ordered a Raspberry Pi kit recently and waited impatiently until it arrived.
Some of you out there may be wondering why, as a software developer, I was compelled to ordered yet another computer? After all, I deal with computers all day long for a living. I own a personal iPhone, iPad and Macbook laptop … why on earth would I want to own yet another gadget??
In one sense, ordering a Raspberry Pi is quite redundant … I have plenty of computers at home and at work with which I can write software to my heart’s content.
Yet when I read about how wildly popular the Raspberry Pi caught on, and the amazing projects people created out of this tiny, credit card sized computer, I just HAD to have one. I wanted to tinker on it and see what I could come up with.
For any of you Trekkies out there, there’s a classic Star Trek episode called “City on the Edge of Forever” where Captain Kirk and his trusty sidekick Mr. Spock are stranded back in time in 1930s depression America with only the clothes on their backs and Mr. Spock’s tricorder.
In order to figure out how to get back to their own time and era, Mr. Spock needs to somehow get important data off his tricorder into some sort of viewable video format.
Mr. Spock scrounges around with spare parts and junk to come up with a primitive computer to help him extract the tricorder data.
That classic scene has always stuck in my mind as the ultimate DIY (Do it Yourself) hacking challenge. I wanted to be like Mr. Spock, hacking on a primitive (relatively speaking) computer to do my bidding!
When the Raspberry Pi finally arrived in my mailbox, I practically tore the package apart like a kid on Christmas morning.
I inserted the microSD card pre-loaded with the Raspberry Pi flavored Linux operating system onto the Raspberry computer board, plugged in the HDMI output cable to my TV, the external keyboard and mouse to the external USB port and finally the USB A/C adapter into my wall outlet.
After a few seconds, after the bootup process was complete, my TV booted into the default desktop of the Raspberry PI operating system. I learned I don’t even need an external monitor/tv or keyboard/mouse to run it.
I enabled SSH client access on the Raspberry pi device and once connected to my home wifi network, I could use my personal Macbook laptop to remote into my raspberry pi and do all my hacking and programming from the comfort of my laptop.
Because the operating system is based on Linux, it’s practically chocked full of programming tools and frameworks waiting for you to start hacking on.
It comes installed with powerful scripting languages like Python, Ruby and Perl. You can harness the power of the Bash shell and write shell scripts, if that’s more your cup of tea.
It comes with the GCC (Gnu Compiler Collection) toolchain which lets you write and compile C, C++, Objective-C, Java and many other programming languages.
You also have the full disposal of the internet to install any additional tools, text editors, etc, to download. And more importantly, at no cost … a far cry from the hundreds or thousands of dollars one had to fork out to create a proper software development environment on a computer.
People have already created amazing do it yourself projects out of the Raspberry Pi. Media centers. Arcade emulation machines with authentic arcade controls. Robotics projects. The list goes on and on.
I’ve only been starting to scratch the surface on what’s possible on the Raspberry pi, but I’m already having a ball.
I almost feel like that same 10 year old kid hacking on that Apple II.
Well, maybe without the bowling ball haircut.