Geneology of Ardunio

I'm curious about the geneology of the Ardunio environment. It has Processing and Wiring as ancestors, but I'd like to know more about what changed between each generation.
As far as I can tell:

  • Processing "invented" the IDE used, and the concept of presenting users with a more understandable subset of C, and "hiding" the mechanics of the GNU C Cli-based compiler.
  • Wiring added the "physical computing" aspect, packaging the IDE with a microcontroller cross compiler, and providing libraries for a particular piece of hardware.
  • Aduino generalized and "commercialized" the hardware component of Wiring, "opening" the hardware considerably moreso than it had been and reducing the end-user entry price.

Is that approximately correct? The software changes between wiring and Arduino seem more significant than just supporting new platform(s), but I'm not keen on digging into analyzing the philosophical differences if I can find out what they are just by asking...

Thanks
WestfW

Processing "invented" the IDE used, and the concept of presenting users with a more understandable subset of C, and "hiding" the mechanics of the GNU C Cli-based compiler

Processing is Java not C. But it does seem to have been driven by a desire to hide the mechanics of a programming language in order to make computing power available to a wider audience, particularly in the arts.

When I first was led to Arduino, I poked around and read a few pages on arduino.cc, and finally with some resignation decided to bite the bullet and learn about these new and competely unfamiliar technologies called "Processing" and "Wiring".

When I discovered, a couple of days in, that the whole she-bang is just C++ in disguise, a language I have been using and teaching for 15+ years, it made me giddy to think of the power I had at my fingertips! Months later, I'm still giddy! It's such a joy (and relief!) not to have to learn some half-baked Basic derivative and to be able to wield -- within the constraints of the Arduino of course -- the enormous power and versatility of C++.

I began wondering why (and whether) this aspect of Arduino seems so downplayed on the official website. I can only conclude what has been implied above, namely, that by hiding the "mechanics" and pedigree of the language, the community might attract (or rather, avoid spooking) mem's "wider audience" -- people who might think of C++ as a frightening thing.

Is this the case? Is so, I would argue that if anyone is worried about wider audiences, there is a large number of people, like me, who work with C/C++ professionally and could potentially be attracted to Arduino, if they only were aware how easy it was to get up and running. It seems to me that we should broadcast the fact that so much work has been done to bring C++ to these wonderful microcontrollers, rather than hide it.

This is an interesting thread, and I'm curious to see how it unfolds.

Regards,

Mikal

Processing is Java not C.

Huh. So it is. I couldn't tell!

Hello
some notes from the source....

Arduino was born in the context of Interaction Design Institute Ivrea where I was teaching as well as Casey Reas.

  • Processing was taught as part on an introduction to programming for designers (i'm overly simplifying here to make it short) Casey was the professor in charge

  • Wiring was a thesis project by Hernando Barragan with me and Casey as thesis advisors. This was the first attempt at making "Processing for hardware"

  • Arduino was implemented from scratch by me, david cuartielles, david mellis and nick zambetti Gianluca and Tom soon later. The idea was to have the concepts developed by Wiring available in a completely open source platfrom (which Wiring wasn't at the time) and developed outside of the institute time (to make sure it could stay 100% open)

It was really annoying to teach with basic, especially basic stamp.
Then I tried with BasicX 24 but the IDE ran only on pc and it has terrible terrible usability. the BasicX tended to fry very quickly. In the first class the student killed 7 in a few days.

Processing was being picked up by more and more students and it was (finally!) becoming the institute's standard language therefore we had multiple discussions on where to go next.

I made a platform based on pic and using the jal language called Programma2003 that was the testing ground for Arduino. It allowed me to understand what worked with my kind of students althought it was pretty bad it had the basic 6 button interface, bootloader, automatic reset etc etc..

then wiring happened etc etc

I've toyed with the idea of teaching C to the students but I knew this would have scared the hell out of the students. You have to understand that for the original market of Arduino, the words C and C++ are scary....

Massimo

Thanks. There were lots of little bits in there that I was unaware of.