Hacker News new | ask | show | jobs
by tzikis 5101 days ago
marssaxman i'd be very sincerely grateful if you'd like pre-register and test it. the thing that got us started in the first place was the limitations of the Arduino IDE, and we think we did a great job with that. we really do have a much better editor, as hackaday elegantly put it, "codebender uses clang a wonderful compiler that will give you extremely descriptive warnings on terrible code." plus a better way to manage your sketches (instead of relying in a directory with 100s of projects).

anyway, in regards to your question, if you've ever used a big project (20-30k when compiled), it can take quite a while to compile and less time flashing. plus, the Arduino IDE compiles it every_single_time although there is no need to, so if, for example, you want to flash this code to a nub you're spending more than half of your time recompiling the same code for no particular reason

3 comments

In my experience, clang/LLVM tend to spit out significantly larger (10-20%) binaries than gcc for x86 and ARM. Have you seen size increases on the Arduino as well? That'd be a big concern for me, given the limited space available.
For the moment, we only use it for syntax analysis and to give a beautiful error output for our users. There is an active LLVM backend for AVR with great ponential, currently under development and from what i understand, Atmel is backing it as well, but it's not stable yet. We would like to try it out though.

P.S. A size comparison will be very interesting. I will go out on a limb and assume that LLVM spits larger binaries when optimizing the code for speed. We use -Os to optimize for size, so it will be interesting to see which does the best job.

Ah, great, I thought that it was being used for compilation as well. Thanks for clearing that up, and nice project!
I agree with you on the Arduino IDE limitations, but what I don't get is all the browser/cloud-based part. The mbed platform has all that online stuff, and that's precisely why it's a pain to use.
simonbarker87 makes a great case for us on the comments below. i'd just like to add that it generally skips the (sometimes painful) process of installing and updating the hardware. everyone who has taught a workshop or class on Arduino and had to help about 10 people get set up probably knows what i'm talking about.
Yes, exactly, this is why I don't use mbed.
If it were a downloadable, installable app, I'd already be on board. As a web page, though, I'm not interested.