Actually, the "main" function is defined among the other files in the hardware specific directory of the arduino ide installation. I just discovered this myself fairly recently while reading a book on programmin the arduino as an AVR platform.
Alex - Right now, the Arduino doesn't really compete with the mbed in the comercial world. I think that's changing though. I think that the Arduino will end up as a decent alternative; especially in the cross over from maker to commercial community.
I'm a big fan of the mbed too. It's nice to see it showing up on more platforms as well.
Even if people accept the open license terms of the arduino for some projects, wouldn't it just make sense to learn the mbed, and due to commercial friendly licensing terms , use it it in more projects , and get a better return on learning?
Also, yes there are plenty more content/code around the arduino than the mbed, but if we're talking about professionally usable content/code , how do they really compete ?
Alex - Yes, the Due is 32 bit. There are more and more 32 bit Arduino compatibles popping up too. My theory is that with the more powerful procesors, the Arduino language will start to fnd acceptance in some commercial applications.
Although I prefer the BeagleBone, I'm getting an Arduino for my nephew, because of the size of the ecosystem & amount of tutorials (he has NO electronics experience). However, instead of getting a kit with discrete parts, I'm buying a Seeeduino plus the Seeeduino Grove shield, some Grove devices, and (I hope I can get them to work at the same time) an Arduino motor shield R3 (which actually has Tinkerkit connectors).
The Grove & Tinkerkit systems are similar: there are standard connectors and then you can get various prewired devices. Devices can communicate via analog input, digital input, digital output, or I2C.
The Grove system is currently cheaper than Tinkerkit & has a wider variety of components, such as analog thumb joystick, button, motor controller, OLEDs, LEDs, current sensors, PIR, WiFi, Bluetooth, and much more. You can also get Grove kits, but I much prefer picking out exactly what I want, for substantially less than a kit (or the kits you showed).
Similar systems include Digilent's Pmods, Olimex's UEXT, mikro elecontrica's mikro bus, and Microsoft's Gadgeteer.
blinking and hello world are no problems. THey usually have that code ready to go with the board. However, where I find the most benefit to the Arduino community is that there are THOUSANDS of tutorials for things beyond that.
AD - I have few negative things to say about the Arduino when used for it's intended purposes. The biggest issue I ran into originally was the limited amount of RAM and program storage FLASH available.
I was able to set up a wired Arduino web server amazingly quickly. However, when I tried to make it wireless, I ran out of space.
I got my Arduino working with a Ti CC3000 WiFi breakout board, but when I tried to add in a small OLED, I ran out of RAM.
Since that time, I've discovered 32 bit Arduino compatible boards. The ChipKIT PIC32-based Arduino I have has plenty of both RAM and FLASH. It's pretty compatible, but not quite 100%, so I've run into a few issues there.
AD - I can confirm that some of the error messages are rather cryptic. I've had a few that don't seem to give any actual information relative to what the error ended up being. That's kind of frustrating.
I've developed (in my head) a standard checklist of sorts to look at first when there's an unclear error message.