I want to get a couple of things off my chest, but I'm hoping in the process it might stimulate an interesting discussion. If not, well never mind, at least I'll feel better :D
After several months of coding purely in vim with it's familiar and fast keystroke system, my favorite eye-kind color scheme, and fonts, I am finding it painful transitioning back to the online IDE. You might think I'm crazy using vim, but then you might not understand how powerful vim really is. With just a couple of plugins you can have full code completion and native syntax checking (using clang for c/c++ for example), multiple buffers to whiz around, etc etc. But enough about vim.
The only time I use an IDE is when it gets very complicated, but for many tasks this level of inspection isn't needed. Or is only needed for part of the task, while the rest of the time the focus is only on one or two files. In anycase, the point is, with a toolchain like llvm + clang or gcc I can easily switch between the IDE and a more straightforward editor. This is the beauty and flexibility of a fully instrument-able toolchain. What do you guys use?
I've seen discussions on here in the past about having a compiler API, but I can't see how that would happen, given that the wider you (ARM) make the compiler available, the more you'll cannibalise your existing toolchain market (i.e Keil). What do you think, any chance?
Using gcc isn't really a viable option for most projects as newlib isn't memory-efficient enough last time I checked (and I checked with the 3G dongle stuff: it was unstable and used up too much memory). Perhaps they've made some recent changes that would help this, I hope so. Anyone know?
I don't like Keil for a couple of reasons. The cost doesn't hurt me personally as my employer would pay for it, but outside of industry it is truly prohibitive except for the die-hard. I don't really believe in the model anyway. I think ARM'd be better off investing resources in something like LLVM and benefit from the community that surrounds it. Even if you opened up your existing compiler, people would still buy your IDE and professional support.
The main reason I don't like Keil however isn't the cost. It's the fact it doesn't support Unix. It can run through wine, but that's a crippled experience and it doesn't support CMSIS-DAP support... so yeah. Now you might again think I'm crazy using FreeBSD or Linux. But lots of people use and love these technologies, and a lot of fantastic things are built on these technologies. As crazy as it sounds, the Unix-way and using Unix is a massive part of who I am. Maybe the answer is "oh well our customers don't use it", but I bet there are thousands of developers like me stuck on Windows thinking "damn, I wish I didn't have to work like this". OK, enough about Unix.
Back to the online IDE. I am looking at it and thinking, why doesn't it support basic stuff like changing font size and color scheme? This could even be considered an accessibility feature. I've seen it asked a few times. It would make people *feel* better, and that's important when you're at the screen all day.
Perhaps one way to alleviate the burden on the mbed core team would be to instrument the online IDE in a way that plugins could be developed. This is probably a lot more work however, at this stage, if you didn't do this from the start, than simply adding a way to change color scheme and font.
In anycase, I just wanted to share a couple of my gripes and stimulate a discussion. Any thoughts?
Ash
#include <mandatory guilt-driven statements about mbed being a fantastic thing as it stands etc and not poo-poo-ing the existing work>
I want to get a couple of things off my chest, but I'm hoping in the process it might stimulate an interesting discussion. If not, well never mind, at least I'll feel better :D
After several months of coding purely in vim with it's familiar and fast keystroke system, my favorite eye-kind color scheme, and fonts, I am finding it painful transitioning back to the online IDE. You might think I'm crazy using vim, but then you might not understand how powerful vim really is. With just a couple of plugins you can have full code completion and native syntax checking (using clang for c/c++ for example), multiple buffers to whiz around, etc etc. But enough about vim.
The only time I use an IDE is when it gets very complicated, but for many tasks this level of inspection isn't needed. Or is only needed for part of the task, while the rest of the time the focus is only on one or two files. In anycase, the point is, with a toolchain like llvm + clang or gcc I can easily switch between the IDE and a more straightforward editor. This is the beauty and flexibility of a fully instrument-able toolchain. What do you guys use?
I've seen discussions on here in the past about having a compiler API, but I can't see how that would happen, given that the wider you (ARM) make the compiler available, the more you'll cannibalise your existing toolchain market (i.e Keil). What do you think, any chance?
Using gcc isn't really a viable option for most projects as newlib isn't memory-efficient enough last time I checked (and I checked with the 3G dongle stuff: it was unstable and used up too much memory). Perhaps they've made some recent changes that would help this, I hope so. Anyone know?
I don't like Keil for a couple of reasons. The cost doesn't hurt me personally as my employer would pay for it, but outside of industry it is truly prohibitive except for the die-hard. I don't really believe in the model anyway. I think ARM'd be better off investing resources in something like LLVM and benefit from the community that surrounds it. Even if you opened up your existing compiler, people would still buy your IDE and professional support.
The main reason I don't like Keil however isn't the cost. It's the fact it doesn't support Unix. It can run through wine, but that's a crippled experience and it doesn't support CMSIS-DAP support... so yeah. Now you might again think I'm crazy using FreeBSD or Linux. But lots of people use and love these technologies, and a lot of fantastic things are built on these technologies. As crazy as it sounds, the Unix-way and using Unix is a massive part of who I am. Maybe the answer is "oh well our customers don't use it", but I bet there are thousands of developers like me stuck on Windows thinking "damn, I wish I didn't have to work like this". OK, enough about Unix.
Back to the online IDE. I am looking at it and thinking, why doesn't it support basic stuff like changing font size and color scheme? This could even be considered an accessibility feature. I've seen it asked a few times. It would make people *feel* better, and that's important when you're at the screen all day.
Perhaps one way to alleviate the burden on the mbed core team would be to instrument the online IDE in a way that plugins could be developed. This is probably a lot more work however, at this stage, if you didn't do this from the start, than simply adding a way to change color scheme and font.
In anycase, I just wanted to share a couple of my gripes and stimulate a discussion. Any thoughts?
Ash