Total rewrite of the Arduino App needed!

Perhaps you should try the AVR Studio C approach and then you won't have to deal with Arduino IDE.

I agree with the above quote. If you love to sound like an expert it's easy to knock stuff that helps get beginners and non-programmers of the ground (like me). If you don't like Arduino just use the available tools out there you do like. It's obvious that the Arduino environment is improving and people want to listen or else this forum section wouldn't exist. So go ahead and rewrite the Arduino IDE and all my sketches too (and alot of other peoples) that probably wouldn't work in your new personalized version :stuck_out_tongue:

Hi, All!

Alright. That became quite a heated discussion, it seems. I suppose roddi came across differently than he intended; I think he is more of a coder type than the typical Arduino beginner - and thus he quickly became slightly frustrated with the IDE.

I just wanted to humbly voice my opinion that the Arduino IDE has a lot of potential in terms of future development (I believe that this is the modern way of putting it :slight_smile: ). I do see what most people said here: that the IDE is mostly addressed to the beginners - and non-hacker types. And it does do a great job in this - remembering how easy it has been for me to begin with Arduino in the last year (I had the board and IDE set up in maybe 20 minutes - in a break after lunch), this is amazing.

But there are lots of possible improvements. roddi has suggested technical improvements (on which I can not comment much). I would want to express a more simple suggestion: for me, it would be very helpful to simply implement cooperation with an external editor in a better way. The built-in editor does the trick for the beginning, but once the code gets larger (for me, it is already the case once i need to scroll), the IDE quickly starts to feel a bit long in the tooth... I now use an external editor in most such cases (much easier to set the font size, as just one example, or to use code folding, syntax highlighting, code completion...). Unfortunately, every time I have changed my code externally, and go back to Arduino for compiling/upload, the changes I made in the external editor are not reflected in the IDE. That could be much improved. I think that this would be a great improvement for many. (By the way, I use TextMate on my Mac as an external editor.)

Regarding the other suggestion roddi made: I recently became very confused about the best location of libraries. Since I started last year, I kept those in the Arduino package under /Applications on my Mac (in the "libraries" directory within that package). But in other places (at bildr.org) I had found that those should be stored under ~/Documents/Arduino (which is a location that goes against my feeling for how to organize files on my hard disk; to my feeling, anything in the /Documents directory of my home folder should only be hand-made documents that I have created (such as my own code), but not a library file I got from somewhere else; needless to say that this directory does not as of now exist on my hard disk :smiley: ). Anyway, the two locations suggested in different places do confuse me.
But the point of all of this is only to say that there is still a lot of improvements (and clarifications) that can be made to Arduino. And I look forward to see it evolve. And to discussing my two cents about the possible directions further. :slight_smile:

Best regards!
Björn

On the other hand, roddi made 3 posts on June 18, and none since ....

I don't have any issues with the IDE, I find it user friendly, and once the Tabs feature was pointed out to me, that made for a lot less scrolling in big programs.
I don't do any other programming than for Arduino's, so I don't miss all the stuff that's supposedly missing.

Anyway, the two locations suggested in different places do confuse me.

Originally the IDE supported only storing library files in the arduino core library folder. The problem being that anytime you loaded a new version of the IDE only the arduino supplied library files would result, as you would have to manually transfer any user stored (self created or 3rd party supplied) library files into the 'new' IDE library folder. Somewhere around version 11 or 12 of the Arduino IDE they allowed one to create a optional library folder within the arduino user's application sketch folder location. That allowed the user library files to survive a updating to a newer IDE version.

Lefty

The Arduino is not meant for the "engineer" or the "coder". It was made so that they could use them just fine although the Arduino is meant for the "Beginner". I'm studying to be an engineer and I have worked with may IDE's. Arduino is a very nice user friendly, beginner friendly IDE to the simple hobbyist that just wants to dabble and such.

If you want to make a new IDE, go for it. If you want to change it, go for it. If you want to complain about it, keep it to yourself because that doesn't help anybody.

it would be very helpful to simply implement cooperation with an external editor in a better way.

Have you clicked the "use external editor" button in preferences? It apparently causes the IDE to re-read the file(s) every time you do a "verify" or "upload" operation, and it prevents you from changing the code in the IDE window itself. I find that it works unexpectedly well for such a simple hack; you do have to remember to "save" your work from the other editor before clicking the upload/verify button, but ... no editor knowledge required on the arduino side, no arduino knowledge on the editor side. Brilliantly simple.

a sane editor (line numbers?

We have that already, the small number at the bottom of the page is the line number of the current cursor. Why do you want all the lines numberd?

We want "go to line", Mike. So if you get an error on line 243 you can go to it, without just scrolling around looking at that number in the corner.

Error messages and line numbers are one out due to the editor starting at line 1 and the compiler at line 0.
When you get an error the appropriate line is almost always highlighted, mind you that is not always where the error is it is just where the compilers ally gave up.

I usually get an error at line -1.

I think the OP has gone to ground. So we are just talking amongst ourselves here.

westfw:
Have you clicked the "use external editor" button in preferences?

Hi, westf!

Thanks for Your reply! Actually, I had tried that "external editor" mode previously (since it caught my interest), but it had confused me, since it prevents editing in the Arduino IDE itself - and thus I switched it off again. In that way, I have failed to realize that, when using this mode, the IDE does indeed reload the document each time a compile or compile/upload is started (unlike when the "external editor" mode is switched off).
This mode is actually quite helpful if one knows about it. Although I really would prefer the IDE to play well with an external editor even in normal editing mode - and to reload a document automatically every time it was saved in an external editor (I believe that this should be standard behavior of a modern software).

I started using that external editor mode now. Thanks for pointing this out to me!

Best,
Björn

Hey, Nick - Dear all,

thanks for Your discussion! I wanted to chime in and say that I also think that implementing this line numbering on every line would be really great - for exactly the reason that Nick pointed out. Also, at the current moment, the IDE (version 1.0.1) seem to have this bug that it gives an offset in the line numbers (at least sometimes). Well, I am sure that the developer of IDE version 1 are still ironing out bugs here.

I do think that the Arduino IDE as it is is very well suited for beginners, and that it does a very good job in abstracting away all the complexities that seem to historically have gotten into the way of the occasional tinkerer. But should that be a reason not to try to improve it? Trying to raise the standards (what I believe roddi has simply tried to suggest - even though he may not have expressed it well enough) doesn't need to get into the way of simplicity. Actually, I do think that, by trying to follow standards (such as standards of C++ etc. - what roddi has suggested), we would help the users later (imagine people would want to move away from Arduino, and start developing other software; following standards is always an important way to teach people). But I can't really comment on how hard it would be to implement - just wanted to chime in that I generally find it a good idea.

Best regards!
Björn

bbccdde:
Also, at the current moment, the IDE (version 1.0.1) seem to have this bug that it gives an offset in the line numbers (at least sometimes). Well, I am sure that the developer of IDE version 1 are still ironing out bugs here.

This is, or was, issue #907.

http://code.google.com/p/arduino/issues/detail?id=907

I submitted the patch to fix these line number bugs on May 6. Unfortunately, that was not early enough to make the 1.0.1 release on May 21, but it was committed to github on May 27, so this is fixed in the latest code and will be in 1.0.2.

Yup, OPs argument was beaten. Dead thread

Hi, Paul!

Great news. Thanks for the work!

Best regards!
Björn

I've implemented some changes to the current system. I did a post on how to modify them as well if you are interested. It's here: http://hellowoo.com/arduino/dark-ui-theme-syntax-highlighting/

I use ino and Sublime Text 2. They are a match made in heaven, Sublimes awesome fetures and then a simple "ino build; ino upload" to the command prompt.

Thanks for putting me onto Sublime Text, that's a really nice editor. I've been using Notepad++ which is great but might try Sublime for a while and see how to goes.

I'll check out ino as well.


Rob