Who knows but if I were Arduino LLC I would effect a transition to 32 bit pronto.
I don't know why they haven't made this leap already. 8 bits with 2K RAM vs. 32 bits with 64K RAM is
not a big price increase. In fact, you can get MINI54TANs (Teensy 3.1) for $1.91 a chip in big lots (DigiKey), and the ATMega328 for $1.79 in comparable lots (Mouser). What is 12 cents on a product that is sold for $25-30? Enough to justify the EXPONENTIAL difference in capability? That 12 cents is WAAAAAY out of scale with the gigantic penalty it buys. I can understand some people will have legacy code, written in hand-tuned assembly, like the WS2812 driver, that would not work on a different architecture - but such code can, and has been, ported. That's the price of us not all using the abacus forever. The abacus never needs an upgrade, but we need an upgrade from the abacus!!!
I'm pretty sure they're very intentionally avoided the file lister. Sure, it's "standard" in all other IDEs. But look how complicated it is in most of them. [...] Is the only reason for this to allow more filenames to be display than the tabs?
Yes, absolutely. For me, different locations in the code are handled by my mind in the same way that real-world locations would be. As I build the codebase from scratch, my mind makes a note of how to get to different parts of it, in the same way it would make note of geographical features if I was walking around outside. This all happens automatically, without conscious intervention. My goal is to be able to navigate the codebase
intuitively, to let my subconscious do all the pathfinding by itself. If I have to recruit conscious resources to do that pathfinding, it means I have to dump part of what my short-term memory is primed with, which means I lose some momentum and have to get it back later. Arduino's IDE makes me do
a lot of that. In fact, rather than summoning the dropdown list of files, I will usually just use ctrl+left/right to cycle between the tabs until I think I have the right one, and then scroll until I see a ClassName:: signature to verify I'm in the right file. My kinesthetic sense of where the files are in relation to one another, is literally easier to traverse, than the action of summoning the file list and finding the file there.
By contrast, most of the development I do for Teensy these days is in SublimeText with the Arduino plugin. Sublime has the usual list of files to the left. When I want to switch to a new file, I NEVER use a keyboard shortcut to cycle to the next one, because ALL the files are in that box, ALL THE TIME. My mind is used to a single action: look left, file is in this approximate location, scan that location, find the exact file, click, and done. In Sublime, the presence of that box gives me an easier, less expensive map to follow than the keyboard shortcuts. I have to give up less of the stuff I've primed my short-term memory with, and that helps me work better.
I can just imagine the people who wrote Repetier or Marlin 3D printer firmware, trying to do that with the Arduino IDE. They both have enough files that Arduino will run out of tab space. All the stupid clicking of that stupid dropdown button. I spent about an hour researching an alternate IDE, and would have spent more, just because of how irritating that interface decision is. That one-second action bothers me so much that I spent
an hour figuring out how to get away from it.
Maybe other developers have brains that will handle that interface more easily, so maybe they don't see the need for a box on the side. Personally, I can't stand it. As I'm not a space alien, I think probably a lot of developers react to it in the same way that I do.