I think the quite monolithic Arduino app should be separated into several modules, that make it easier to swap parts out for e.g. a sane editor (line numbers?
), a decent build system.
The library concepts needs fixing. It is hard to write a library with code that can be reused outside the Arduino world. But that seems to be mainly a problem of the weird (or rather non-existing) build system.
The idea of the sketches leaves me puzzeled too. Who came up with the wondrous idea, that any additional file used needs to be copied (<-- no joke
) into the sketch directory? A reusability nightmare!
This is so broken in so many ways...
P.S.: Sorry for the rant, but if you have ever worked with an IDE, Arduino sucks...