Raspberry Pi Zero, Or Minus One?

The Wall Street Journal reported that [Eric Schmidt] of Google and now Alphabet Inc, promoted the idea of an inexpensive version of the Raspberry Pi to the Raspberry Pi foundation’s [Eben Upton]. Apparently [Upton] accepted this recommendation despite existing plans to make a more expensive, more powerful version of the Pi. The outcome is the Raspberry Pi Zero that sells, in some places, for $5.00 and was given away for free on the cover of the MagPi magazine.

From the WSJ article:

“He [Schmidt] said it was very hard to compete with cheap. He made a very compelling case. It was a life-changing conversation,” Mr. Upton said, adding that he went back to the lab and scrapped all the engineering plans for more expensive versions of future Pi computers. “The idea was to make a more powerful thing at the same price, and then make a cheaper thing with the same power.”

Plans were scrapped. The more powerful Pi 2 was released at the price point of existing Pis, and now we have the Zero.

Pi’s Purpose

Foundation Mission

The Raspberry Pi Foundation is a registered educational charity in the UK. The purpose of this Foundation according to their About Us page is to, ‘advance the education of adults and children, particularly in the field of computers, computer science, and related subjects.’

Why is the Raspberry Pi Foundation so concerned about computer education? From the 1990s onward, fewer and fewer A Level students in the UK applying to study Computer Science had previous experience as hobbyist programmers. An applicant in the 2000s usually might have only done a little web design.

Why then does the Raspberry Pi Zero exist? [Upton] also told Cnet, “We really hope this is going to get those last few people in the door and involved in computer programming.”

Very good, but how well does the Zero support this goal or address their concerns?

Continue reading “Raspberry Pi Zero, Or Minus One?”

Code Craft – Embedding C++: Timing Virtual Functions

Embedded C developers shy away from C++ out of concern for performance. The class construct is one of their main concerns. My previous article Code Craft – Embedding C++: Classes explored whether classes cause code bloat. There was little or no bloat and what is there assures that initialization occurs.

Using classes, and C++ overall, is advantageous because it produces cleaner looking code, in part, by organizing data and the operations on the data into one programming structure. This simple use of classes isn’t the raison d’etre for them but to provide inheritance, or more specifically polymorphism, (from Greek polys, “many, much” and morphē, “form, shape”).

Skeptics feel inheritance simply must introduce nasty increases in timing. Here I once more bravely assert that no such increases occur, and will offer side-by-side comparison as proof.

Continue reading “Code Craft – Embedding C++: Timing Virtual Functions”