Hacker News new | ask | show | jobs
by perrylaj 4342 days ago
I haven't tried any of the 'full' IDE's listed yet. I have Eclipse set up for C/C++, maybe I will give it a shot at some point. I've heard of the XCode version as well, but again, haven't tried it.

That said, I have found ST + the Stino plugin[1] to be great for my arduino projects. A good linter setup and gdb gives most of what I am looking for. The convenience of debugging with an IDE that auto-populates watches based on context is nice, but rarely are these projects sizeable enough (for me) to need serious debugging.

Using Stino + ST (and turning off the Arduino code munging) gives a typical GCC compilation which requires everything you'd expect of a GCC compilation (proper declarations, prototypes, scoping, etc).

I can understand why forsaking function prototypes and adding type aliases (such as 'boolean' usable for declarations in addition to 'bool') might make it easier for newcomers to learn to write 'sketches. But I am not sure it's great in the long run. So much of the Arduino code out there is poorly written, including some of the libraries I commonly see floating around. And coming from me (who is far from part of the greybeard C/C++ master engineer cohort), that says a lot.

I think that the Arduino platform would likely benefit from a more natively supported 'second step' development environment that encouraged better program organization and DRYness. I can't even count the number of arduino 'sketches' I have seen out there that are a mess of static global const variables declared in 2000+ lines of completely spaghetti'd code.

Of course, I think it's great Arduino is becoming so popular, I just wouldn't mind seeing some nicer tools/educational resources for those new to it.

[1]https://github.com/Robot-Will/Stino