For me developing software still means to work with code, writing, editing, compiling, debugging. For the past, well, about 35 years my setup was very bare, multiple terminal windows (XTerm, nowadays Tilix) and a simple terminal text editor, in my case „JOE – Joe´s Own Editor“. Yes, I still use joe since it uses Wordstar compatible key bindings that I got used to in my early days with the Borland Turbo* products 🙂
Over the years I tried again and again many IDEs – Eclipse, GNOME Builder, VisualCode Studio etc. And with all of them I had a major issue: These things did impose their way of working on me in order to make use of their supposed „smartness“. As soon as you deviate from that path things start to get awkward, things don’t work anymore, even things totally unrelated to the one detail you refused to use.
What I especially dislike is tools that try to be smart, that try to automate things for you and on that path basically deny you to do it manually instead. I outright hate that. It starts with trivial things like choosing your own directory for your project and in many cases fails dramatically with the build system – no, I do not want to be forced to use the IDE’s built-in auto generated $whatever to build my software! I want it to work with my hand crafted own Makefile, cmake, autotools or whatever I choose.
I also outright hate overboarding „smartness“. I do not want constantly popping up context help to whatever I type and worst case having to kick it away in order to continue typing. If I need help I will ask for it, go out of my way!
So, long story short, I finally found an IDE that I think I can work with: Geany: https://www.geany.org/
For me it starts with implementation details, I very much prefer GTK+ applications over Qt or other toolkits; Geany is using GTK3. Geany is pretty lightweight (it calls itself „flightweight“), starts up quickly and focuses on the basics of an IDE. It has a built-in project management, which you do not have to use, but you can. It can handle hand crafted build systems well, it parses the compiler output to highlight error lines etc. So far it offer everything that I would want from an IDE and,I think, a whole bunch more which I will probably learn over the coming months.
All of that comes in a way that does not force anything on you, you stay in control, you can use Geany’s functions and it will not break if you deviate from it – something that happened to me over and over again with other IDEs – want to have your code structured not like the IDE wants to? *Bam*! Using a different build system? *Bam!* Not so with Geany, which I appreciate a lot.
So far I’m very happy with it and am coding a small project with it during my holiday.
Maybe you also want to give it try? It is available for Linux (of course!), Windows and MacOS.