On 11/30/2013 11:18 AM, Jecel Assumpcao Jr. wrote:
Karl Ramberg wrote:
PIC Smalltalk does much of this. But it translates everything to assembler.
http://www.huv.com/uSeeker/smalltalk/pic.html
This is a cross developement system (where you create the program on a
"host computer", like your PC, and then upload it to a "target
computer", like a microcontroller board, in order to run it). The
interesting aspect of the micro Python is that it is a native
environment. The PC just acts as a dumb ASCII terminal.
You can also have a mix where the application is developed on the target
machine while most of the development environment runs on the host. That
was the case for Palm Smalltalk and OOVM which used Squeak and Eclipse
respectively on the PC side.
-- Jecel
What drew my attention to this project is its high level of openness. Open source hardware, and open source software. And it's reasonably inexpensive.
It's true that it's not well suited to uses that require a sophisticated GUI or lots of RAM, but there are lots of other kinds of uses. Think of the Arduino and its many derivatives: It's being used for a huge variety of things, and that's largely because it's inexpensive and the software and hardware are open. Anybody can download a hardware design, tweak it a bit if needed, and send it off to a PC board house to be manufactured in any quantity (or just make it themselves in the garage). Or just buy hardware off the shelf if that's all you need.
But to program the Arduino, you're basically writing in C. With this Micro Python board, you program it in a high-level language.
The hardware portion of the project, of course, is language-agnostic. Anybody can take the same hardware and implement any language that the hardware can support. And this is where it gets really interesting.
If you read the entire Kickstarter proposal, including the FAQs and the Updates, he provides a very detailed description of the software he has written. When I read that, I see a comprehensive reference implementation that would be invaluable to anyone wanting to port another language onto this platform. (And he put it all under the same MIT license that Squeak uses!)
The hardware has lots of GPIO pins, and USB, so it can talk to other hardware. He is now adding wifi, and shortly he should hit his second stretch goal for adding Ethernet. He will have Python libraries for interfacing with all this hardware. And the board has an SD card slot, so gigabytes of storage are available (virtual memory?).
Moore's Law, which still somehow seems to be in effect, guarantees that the price difference between the Arduino platform and next-generation hardware platforms like this new one will gradually drop to near zero. (I think the high-volume cost of the processor chips now differ by no more than a dollar or two.) So we should expect Arduino-like projects to gradually shift to higher-level languages. I think it would be awesome if Squeak was one of the languages readily available on these kinds of platforms.