In a previous entry, I stated that the Pi didn't have "real world" interfacing. It looks like that has changed considerably. And the Pi now has competition. I just bought a BeagleBone Black. It's a small single-board computer similar to the Pi, but with what many consider to be improvements. One is on-board storage. It has 512M of DDR RAM, and 2G of flash memory. It also has a microSD slot. There are linux, android, and other OS's developed specifically for it. My previous entry comment about lack of real-world IO does not apply either. There are a multitude of accessory boards - from memory expansion to touch-screen screens to motor drivers and CAN interfaces. My original intent was to use it as a media server, but seeing the other options, I may have to buy a second to play around with. Let's see what the next six months brings...
Computers are reaching new lows. Low prices, low size, and low thresholds for intraductory use. Devices such as the Basic Stamp and Arduino are available from Radio Shack, with starter kits under $50. These are different from a Raspberry Pi in the way that a mainframe is different from an old Apple II. The mainframe and the RP are great for programs that deal with files and data, but can't interact with the real world. The BS (and kin) and the Arduino are made for the real world; to make measurements and control outputs. No high lever driver or interface is needed - the Arduino can drive an LCD screen directly. There are input modules for the BS with everything from a sonar ranging circuit, to GPS, to fluxgate compass, and even gas sensors. They are the equivalent of modern-day Erector sets. The Pi is a great device, and I don't want to minimize its importance, but until you can easily hook up a breadboard with buzzers and lights, it's just another video game.
I got started back when you didn't take "computer programming" classes, you took "data processing", and the real cool thing was to write a cobol program that would print a Snoopy or Enterprise on greenbar paper. The first serious program I wrote was on a Wang programmable calculater in 1978. It was written by punching out the instruction code on a card by hand. The card was placed in a reader that looked like a vertical waffle iron and closed. The variables and whatnot were entered into a terminal that looked like a big calculator with a Nixie tube display. The program calculated the pH of a solution given the concentration of the ions and their ionization constant. This was an important program for me because the calculation involves solving the quadratic, which gives a real and an imaginary answer. The answers had to be tested to see which one was the valid one - I had to learn branching in programming.
The first computer I owned was a KIM-1 6502-based single-board microcomputer. Actually it was two boards because I had a memory and I/O expansion board. I learned a lot programming in machine language (and the value of coffee!).
My main interests now are hardware related, although you need an understanding of software and operating systems to be able to interface and control the hardware.