The A-Z of Programming Languages: Arduino's Tom Igoe
- 12 October, 2009 12:14
- Comments 3
Computerworld is undertaking a series of investigations into interesting programming languages. This time around we speak with Arduino's Tom Igoe.
In the past we have spoken to Larry Wall, creator of the Perl programming language, Don Syme, senior researcher at Microsoft Research Cambridge, who developed F#, Simon Peyton-Jones on the development of Haskell, Alfred v. Aho of AWK fame, S. Tucker Taft on the Ada 1995 and 2005 revisions, Microsoft about its server-side script engine ASP, Chet Ramey about his experiences maintaining Bash, Bjarne Stroustrup of C++ fame and Charles H. Moore about the design and development of Forth.
We’ve also had a chat with the irreverent Don Woods about the development and uses of INTERCAL, as well as Stephen C. Johnson on YACC, Steve Bourne on Bourne shell, Falcon creator Giancarlo Niccolai, Luca Cardelli on Modula-3, Walter Bright on D, Brendan Eich on JavaScript, Anders Hejlsberg on C#, Guido van Rossum on Python, Prof. Roberto Ierusalimschy on Lua, John Ousterhout onTcl, Joe Armstrong on Erlang and Rich Hickey on Clojure. We recently spoke to Martin Odersky about the darling of Web 2.0 start-ups and big corporates alike, Scala.
More recently, we heard from Groovy Project Manager, Guillaume Laforge. He told us the development story behind the language and why he thinks it is grooving its way into enterprises around the world.
And we spoke with Brian Kernighan, who helped popularise C with his book, co-written with the creator Dennis Ritchie, The C Programming Language and contributed to the development of AWK and AMPL.
Want to see a programming icon interviewed? Email Computerworld or follow @computerworldau on Twitter and let us know.
What prompted the development of Arduino?
Tom Igoe: There were a handful of schools teaching microcontrollers to non-technologists using a method we called physical computing. We all needed tools to teach that were simpler than the engineering tools that were out there. The Basic Stamp, and later the BX-24 from NetMedia, were okay but they really didn't match up to the tools we were using to teach programming (Hypercard, Director, and later Processing). Then at Ivrea in 2002, they started to do something about it. They developed Programa2003, then Wiring, then Arduino.
The Arduino developer team comprised Massimo Banzi, David Cuartielles, Gianluca Martino, David Mellis, Nicholas Zambetti - who were the pioneers - and yourself. Who played what roles?
Massimo developed the Programa2003 environment for PIC. It was a simple PIC programming tool on the Mac (most of the Ivrea students were Mac users). It made it easier to teach his class. That, combined with the Processing IDE served as an example for Hernando Barragán to develop the Wiring board and environment. Shortly thereafter, Massimo (faculty at Ivrea), David Cuatielles (researcher at Ivrea), and Gianluca Martino (local engineer, hired to develop hardware for students' projects) developed a smaller, less expensive board, the Arduino board. Working togetther with Mellis and Zambetti (students at Ivrea at the time), they improved on the Wiring model and came up with a board and an IDE that could be used by the outside world. I joined them in 2005, helping to beta test it with another school (ITP has a large student body relative to Ivrea, so we could give it a bigger test), and later, helping to develop documentation. I also introduced the team to some of the early US distributors so we could build a market here as well as in Europe.
Nowadays, Gianluca and Massimo do the bulk of the hardware design, Dave Mellis coordinates or writes most of the software, David Cuartielles works on software as well as testing on Linux and maintains the website, and I work on documentation as well as testing, to a lesser degree. We all work together on the direction of the project, manufacturer relations and new development. Gianluca manages all the distributors and his company, Smart Projects, is the main hardware manufacturer. Zambetti has left the core team, but is still an occasional contributor when his professional life allows.
Were you trying to solve a particular problem?
We wanted a tool to teach physical computing, specifically microcontroller programming, to artists and designers, who we teach. The assumptions of those coming at it from a background other than computer science (CS) or electrical engineering (EE) are quite different, and we wanted tools that matched those assumptions.
- Bookmark this page
- Share this article
- Got more on this story? Email Computerworld
- Follow Computerworld on twitter
- The A-Z of Programming Languages: Perl
- The A-Z of Programming Languages: F#
- The A-Z of Programming Languages: Haskell
- The A-Z of Programming Languages: AWK
- The A-Z of Programming Languages: Ada
- The A-Z of Programming Languages: ASP
- The A-Z of Programming Languages: BASH/Bourne-Again Shell
- The A-Z of Programming Languages: C++
- The A-Z of Programming Languages: Forth
- The A-Z of Programming Languages: INTERCAL
- The A-Z of Programming Languages: YACC
- The A-Z of Programming Languages: Bourne shell, or sh
- The A-Z of Programming Languages: Falcon
- The A-Z of Programming Languages: Modula-3
- The A-Z of Programming Languages: D
- The A-Z of Programming Languages: JavaScript
- The A-Z of Programming Languages: C#
- The A-Z of Programming Languages: Python
- The A-Z of Programming Languages: Lua
- The A-Z of Programming Languages: Tcl
- new
- An inteview with Brian Kernighan, co-developer of AWK and AMPL
- @computerworldau
- Sign up for Computerworld's Software Development newsletter here.
- 2-Layer BPM: Oracle's Unique Strategy Towards Exceptional Agility and Business Process Efficiencies
- Managing Data Storage in the Public Cloud
- Revolutionizing Enterprise Storage Infrastructure with Enterprise Flash Technology
- Case Study - TNT Express successfully reduces their paper usage and costs using a new document solution
- Oracle Database 11g for Data Warehousing and Business Intelligence
-
SA minister urges change to Facebook ban
-
TPG faces customer backlash over slowed net speeds
-
TPG faces customer backlash over slowed net speeds
-
SA minister urges change to Facebook ban
-
SA minister urges change to Facebook ban
-
Computers for Seniors for Dummies, 2nd Edition
-
Excel 2007 All-In-One Desk Reference for Dummies
-
Teach Yourself Visually Windows 7
-
Office 2007 for Dummies
-
MYOB Software for Dummies 6E Australian Edition
-
Microsoft Office
-
Windows 7 for Dummies®
-
Office 2007 All-In-One Desk Reference for Dummies
-
Windows 7 for Dummies® Dvd+book Bundle










Comments
ItsJavascript
It's basically javascript. "Arduino" isn't a programming language.
Anonymous
While it's true that "Arduino" is not a programming language, I wouldn't call it Javascript. It's C/C++ with predefined functions/methods for common tasks.
collagen
A programming language is an artificial language designed to express computations that can be performed by a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine, to express algorithms precisely, or as a mode of human communication. Many programming languages have some form of written specification of their syntax and semantics (meaning). Some languages are defined by a specification document. For example, the C programming language is specified by an ISO Standard. Other languages, such as Perl, have a dominant implementation that is used as a reference.
<a href="http://www.vitabits.co.uk/womens-health">collagen</a>
Post new comment