So how will it help my kid to become a wealthy engineer?
The aforementioned RaspberryPi Foundation is a registered UK charity, whose trustees include David Braben, Jack Lang, Robert Mullins, Pete Lomas, Alan Mycroft and Upton. Braben is best known for co-creating space flight sim Elite; Lang is what's known as a serial entrepreneur; Lomas's Norcott biz will be manufacturing the Pi board; and Mycroft is director of studies for computer science at the University of Cambridge and once upon a time co-authored the Norcroft ARM C/C++ compiler suite.
As well as founding the RaspberryPi Foundation, Cambridge graduate Upton is associate technical director and SoC architect at chip powerhouse Broadcom – the company that designed the Pi's silicon heart. Although the alpha revision of the Pi's circuit board is stamped with the Broadcom logo, everyone involved stresses that the Pi is not a Broadcom product nor is the berry-flavoured project commercially affiliated with Broadcom, which is otherwise occupied with churning out wireless and broadband equipment and raking in billions in revenue.
However by working at Broadcom's Cambridge office, Upton has helped secure the team a source of chips for modest production runs – usually if you ask Broadcom for a part, they'll reply: "How many million do you need per quarter?" It has also helped the foundation to get hold of the information it needs to design a motherboard and write driver software for the BCM2835; there are no publicly available documents for the chip, although the internal ARM core is documented.
As a charity, the foundation isn't after making massive profits, that's evident from the price tag. Instead, it wants to "promote the study of computer science and related topics, especially at school level, and to put the fun back into learning computing". The trustees are upset that there are so few 10-year-olds learning how to write even simple programs, that there are not enough teachers with the skills to teach computer science for beginners, and that the days of scamps typing in
REPEAT:PRINT "Hello, world! ":UNTIL FALSE on a machine in a computer shop and legging it are long, long gone.
The popularity of home micros in the 1980s, fuelled by the BBC's computer literacy project that bankrolled the launch of the accompanying Acorn BBC Micro, led to a boom in teenage hackers who are today's engineers, application programmers and game developers. But games consoles and family PCs, which dissuaded ordinary users from experimenting with their systems, ate into the home hacking arena, Upton reckons, and it became too expensive to give kids a simple computer to toy with: there was no platform to simply learn computer science on from a young age and the RaspberryPi hopes to change all that.
Upton, who began programming at the age of 10 on a BBC micro with 16K of RAM, says creating and manipulating graphics ought to lure youngsters into giving programming a go, and luckily we have more than just MODE 7 to work with. He told us:
Obviously I'm biased with respect to the Broadcom part, but the high-end media features are a big draw for us; 1980s machines drew kids in with their graphical capabilities and then turned them into programmers, and we'd like to repeat this.
We're now many leagues away from the days of simple graphics hardware: the hardware-accelerated graphics are harnessed by firing packets of commands at the Pi's GPU using a special closed-source binary blob provided by Broadcom – although virtually all software will access the chip through a widely supported open-source OpenGL ES driver. However such mixing of closed and open source material at the kernel level has startled some, including Linux grandee Alan Cox, although it's more of a headache for anyone maintaining or building from scratch kernels for the Pi using upstream sources. Newbies and most users won't have to worry about it.
Besides, even if the GPU's documentation were made available, writing an open-source driver library will be a trifle difficult unless wading through 600 pages of documentation and a memory map of 5,000 control registers appeals to you.
Upton said: "The GPU is accessed exclusively through an OpenGL ES driver, which talks to the GPU via a sockets-like interface in the kernel. There's not much chance of directly poking registers in the hardware, I'm afraid."
Pushing to hobbyists first, then the classrooms
Initially, the foundation wanted every kid to have a Pi in their rucksack, but it has become less ambitious over time as it sought equilibrium with reality. Rather than go straight into the classroom, the foundation hopes to first bag a following of hobbyists, casual developers and home users, who will help fortify the platform's software base, documentation and support channels, before the team forays deep into the realm of education.
A survey of IT pros in September revealed that they'd happily take on self-taught developers; Upton, who believes kids are more likely to hack away in their bedroom than in ICT curriculum-strangled schools, told us:
As the project has gone on, we've backed away a little from directly promoting a curriculum, or even the device itself, into education. We've seen that there's a pre-existing push to boost science, technology, engineering, and mathematics subjects, and we see ourselves as a component supplier to this effort.
That said, we've seen a fair bit of interest from individual teachers, mostly in the private sector, who are interested in how they can incorporate the device either into formal lessons or after-school clubs.
Users can run Debian, Fedora and ArchLinux ARM GNU/Linux distributions on the Pi, although not Ubuntu at this time. SD cards containing pre-built distros will go on sale, although confident punters can build their systems from the sources. Once the OS has booted, you're faced with a very familiar Linux system: desktop and command-line interfaces, web browsing, tweeting, your favourite document editing programs and many other packages ported to the ARM architecture will be available to use as normal. As far as the end-user is concerned, it's a generic Linux system - although, obviously, Linux x86 binaries won't run out of the box.
Fedora boots to a command prompt in just shy of 25 seconds (which is mostly slowed down by the SD card's rootfs, external USB-connected hard disks are said to work extremely well with the Pi). From there wannabe engineers can get straight into friendly development environments, such as Kids Ruby and Scratch, or a BASIC interpreter. How effective BASIC and such languages will be at equipping kids with the right skills to compete in the coming decades remains to be seen - but it's a good start.
Bringing the computer literacy dream full circle, there are ongoing efforts to port a particular flavour of RISC OS to the Pi, the rather rudimentary operating system (by today's standards) that was created by Acorn for its educational and home computers in the years after the UK moved on from the BBC Micro. It's by far simpler to dig into than Linux and comes with BBC BASIC, so it'll either serve as a curious addition to the Pi project or influence a cut-down Linux distro to serve education. The RaspberryPi Foundation is working with distro organisations to create OS builds optimised for the Pi and other low-footprint systems.
And, as a further interesting aside, ex-Acorn employee, BBC Micro designer and ARM processor co-architect Sophie Wilson now works for ... Broadcom.
The RaspberryPi Model A and Model B (a reference to the BBC Micro) are expected to go on sale in December priced $25 and $35 (16 and 22 quid respectively). The Model A will have 128M of RAM and no Ethernet, whereas the Model B will be produced in larger numbers and have 256M of RAM plus 10/100MBit networking.
Although bare boards will be made available first, Upton said he expects the foundation to offer a cased version with electronic documentation next year for the same price. Meanwhile, the Pi has some rivals: the closest being Texas Instruments and Digi-Key's BeagleBone, which is a small 720MHz ARM Cortex-A8-powered computer for about 60 quid. Although the Pi gang hopes to make all its schematics and associated low-level documentation available for all, the Beagleboard project actively publishes its engineering materials under an open-source licence.
"In five years' time, we'll be looking back on the era of $300 Intel system units in bemusement," Upton concluded. ®
Psst, kid... Wanna learn how to hack?
Way to miss the point
In school they are NOT ALLOWED to program the machine in case they bugger them up. They are an expensive resource that need to be maintained.
This device give them the ability to bugger it up to their hearts content. You just need to re-image the SD card and you are back to square one. No IT support needed. And even if you somehow break the hardware - its $35 so not going to break the bank.
You are right - it is just another Linux board. But it's CHEAP and therefore more accessible. But because its JALB (c) it can run almost any language you want for free. Unlike all those school computers running Windows. And there is the software angle. Yes, its all down to the software, but you need a device to write software on, and this is a good one.
And I think you are wrong about the market for low level coding skills declining. We are constantly needing low level coders, and there simply are not enough good ones. There is a constant demand for software for low level devices as so much stuff has some sort of SW requirement nowadays. There is also the fact that a good low level coder is generally better at high level coding and debugging because they have a better understanding of how the device works under the skin. A low level coder can work at the high level. Not the other way round.
PRINT "Hello, world! "
They were a lot more polite than I ever was.
This is a fantastic idea. I'll buy one to support them even if I can never make the time to tit about with it,
"Come on people, this is 2011, not 1981. The "nightmare of frameworks and compilers" is what allows 90% of developers to earn a living programming."
You don't become a successful civil engineer or architect by being ignorant of basic materials science. Knowing the acceptable loading factors and stress ranges is kind of crucial: get it wrong and your building will fall down. You can delegate this low-level work once you've reached the heady heights of building major skyscrapers, but understanding the basic foundational elements of your line of work is most emphatically not optional.
Programming is the same: there's a big difference between knowing a handful of APIs, and knowing how a computer actually *works*. And the only certain way to learn the latter is to try doing it. In a low-level language like assembly language, or C. (I'm not aware of any CPUs that can do OOP at the assembly language level, so procedural it is.)
Knowing how a computer "thinks" is the only way to really understand programming at a deep level. It helps no end in debugging. It also comes in handy if you have to code for constrained platforms and embedded devices, as well as in situations where optimisation skills are useful. (E.g. in game development.)
If you'd suggested an environment like Unity (www.unity3d.com), I'd agree with you, but JS in a *browser*? Seriously?
of only teaching high level coding is bloatware; and don't we all love that!
And yet you already use Broadcom product everyday. In your iPhone, HTC, Nokia, in your laptop, your desktop, in your router, in the switches used on the internet backbone.
If you don't want to use their product, don't use the internet.