TI has some neat micro-controller kits in the same vein as the Arduino you should google for. Cheap too.
TI has some neat micro-controller kits in the same vein as the Arduino you should google for. Cheap too.
Processing (http://processing.org/) is different to the Arduino although the IDEs are based on the same code base. While the Arduino "language" is related to Wiring (http://wiring.org.co/) it's different too.
By lock-in do you mean lock-in in relation to the language/libraries (which is really a documented subset of C++) or the microcontroller (Atmel based)?
The thing is that the language/libraries are a very stripped sub-set of C++ and their IDE does a lot of parsing/mangling to turn "sketches" into C++ programs. It can mangle perfectly legal C++ code.
The arduino APIs like digitalWrite do table-lookups to match the pin, port, and bit. Pretty inefficient and slow.
It's still a great little system though. People have come up with alternative implementations that (for example) implement the SBI/CBI instructions as constants you can use when calling the Arduino APIs to make things much faster. And it's not like you'll care about "lock in" unless you start building large projects and get tired of the Arduino way of doing things and want to move to an alternate board. Arduino makes a nice cheap kit and starter package for people who want to get their feet wet in embedded systems.
AFAIK the parsing is limited to extracting function prototypes for creating the function declarations which I wouldn't call "a lot". This has been known to miss certain legal C++ function prototypes formats though. Normally the solution is to manually write the declaration yourself and format the prototype so it doesn't get parsed.
It's not a hugely common occurrence though.
It is true that optimisation/efficiency hasn't been a huge focus and the lack of focus on it is "development policy": http://code.google.com/p/arduino/wiki/DevelopmentPolicy
While it's definitely not perfect the fact that it's based on avr-gcc makes the risk of lock-in less of an issue than some other platforms.
Plus, it's fun. :)
However, those are the trade off's and that's not even all of them. It is possible because of avr-gcc to bypass the whole "sketch" thing they have going and compile/load your code without even running the iDE.
Like I said, I do like Arduino for what it is. :)
Not as user friendly, though, so if you're new to this kind of thing, the Arduino might be a better place to start.
http://processors.wiki.ti.com/index.php/MSP430_LaunchPad_(MS...