Thanks! And answers…
Hi, first, thanks for your comments!
Regarding the setup and loop, I will explain a little more the logic behind Minibloq: It’s a reconfigurable code generator (and it’s not necessarily linked to C/C++, can generate other stuff too). In this particular screenshoot, it’s configured to generate nearly standard Ardiuno Code. And Arduino uses the setup+loop, which I don’t specially like, but there are things that are alread there :). So, the first release is for Multiplo (like this robots), which has Arduino compatible controllers (which we designed too), and for standar Arduinos. So the fastest way to reach a public release was to put an Arduino core out there. I don’t like the loop() thing, but leaved it there to avoid the program to reach non-deterministic MCU states, as en empty main cycle (I know: not always reached).
We are working on what we think is a better API (really a better HAL), but this is in the future, because now, all the energy is in this environment itself.
Regarding the text/graphical programming, I have a lot of things to say, and this may be a good place, I think. So I will try to start with a few:
1. We teach to different people. RobotGroup has nearly 50 kids, some of them starting at 6 years old, learing robotics. Believe: we tried with text based programming. Since we are testing this tool everything changed here. Think in a classroom where all the kids are together, playing with cool stuff. They don’t really care why it’s not running because the forgot a “;”. They are centered on their robots. This was a need for us in situations like this. And we worked with kids for years, with very different equipment (until we started to make our own stuff).
2. Not all the people wants to program. I personally teach 12 classes a year in an postgraduate course at the Universidad de Buenos Aires. It’s oriented to architecs, designers, and people with other kind of interests. I have little time (only 12 classes to explain the whole “robotics thing”), and they at least can get something working. If they want, they can go further. If they not, just finish the course and that’s all.
3. I worked a lot with Legos, and the like. This tool is not “marketing driven”. That’s why it shows the generated code, because I want the user to make the transition to text based, and that is because I agree that text is finally better. But there is a fact: We make robots (and currently we at RobotGroup are the only company in our country manufacturing educational robots). And the people who buys the robots want them working, as fast as possible. Some of them, just play, so this kind of tools are ideal, and they will not even see the generated code. But the one who wants to get the robot doing more complex things, will then stop using Minibloq, to go the Arduino IDE. And we have a third IDE (not published yet, but is what we use internally): a Code::Blocks IDE. This tool will be published in about two month (it has another virtue: we program the robots with it, the Arduinos with it, and the Minibloq itself was programmed with it, it’s a very complete tool, and we want the user to have it too).
Well, this are some of my thoughts, but everyone may have his own experience, so this is just another tool, that I hope will help at least a little to spread the thing of programming the MCUs.
Regards!
Julián