Basic level logic suggests that if I have been using code blocks for over 10 years, then this has got to be my favorite IDE. However, this is not the case sadly.
In fact, it is one of my least favorite programs that I still use.
Sure, for the most part, it gets the job done, but the moment I start questioning what I like about it I realize that the habit plays the biggest role as to why I am still using it.
Disclaimer: This is not a hate or rage post. However, keep in mind that this is intended as raw constructive criticism. Moreover, I will not be trying too much to decorate my wording so that it "sounds nice" and doesn't accidentally hurt someone's feelings. Also, I apologize for my lack of proficiency in English - this isn't my native language.Why do I post now?The reason I decided to post after so many years is simply because I generally do not like doing it. I don't believe there will be any positive effect whatsoever, and I don't have the nerve to engage in pointless arguments. I decided to post now after I read a particular thread, where the development team responded quite unprofessionally. Someone was hate-posting basically, listing potential issues with the program in a not-so-polite and constructive manner. He did raise several good points, but for the rest of his rant, I couldn't particularly share his sentiment.
On the other hand, as the usual response goes: "This has never happened to me".
As a business owner, a desktop software creator, and a senior user I can guarantee you that this is a substantially harmful mindset.
On top of that, it prevents the software from evolving at an optimal pace.
First of all, such a statement means and does nothing. If anything it only implies the lack of acknowledgment that there may be issues.
Now this is not a small software by any means, so the presence of issues is the single most normal thing and the correct attitude is to confront these issues seriously.
If you haven't given up on improving the product that is. Here is an example of what this "It never happened to me" approximately sounds like:
Imagine you go to a fast food restaurant where they ship their products to a vast audience. You want to enjoy a nice cheeseburger, but due to COVID-19, you have dysgeusia and you have a severe intolerance to the taste of onions. At the cash desk, you try to explain that and ask for a version of the cheeseburger without onions, but they reject your request with the words "I don't know, this has never happened to me, so..."
This might very well not be the case, and not how some people from the development team look at such issues, but it does sound as undermining the user-reported complaint nonetheless.
In the slightest, it is a vague statement that does nothing other than attempt to justify the problem.
My issues?We are talking sudden crashes during nothing else but simple tasks such as writing code, switching between tabs, or opening files from the project.
The unusable code folding feature that for some reason has never been fixed is also something worth mentioning. Not only that it doesn't work correctly, but it also causes me to repeatedly do more work fixing my code visibility. It annoys me so much quite frequently, forcing me to adapt new slow and weird programming practices just to avoid it from breaking.
Another major deter is the never really working autosave. Actually, I don't even know if it doesn't work or if it is just designed that way intentionally, but this is a very basic feature come on.
This feature is.. what is the opposite of intuitive? ...That.
I still don't know how it works and when it works. I've been using
hundreds of different purpose programs and I do not recall a single one to behave so irrationally in terms of autosave.
From having to manually save the project structure and configuration to the workspace not being saved at all when I manually save it / create a backup.
From the opened tabs not being preserved to the code folding acting on its own upon restoration.
No setting is able to get the autosave working as it should, which is quite frustrating given the abundance of claims that CB gives you too much control. I don't feel it.
Additionally, the choice of what should be set by default appears to be designed with the ideals of one person rather than agreed upon by the community.
Next - the lack of a Dark Theme which I have to believe has been reported so many times already. Being stuck to program in an environment that causes your monitor to glow more than necessary during the night is ridiculous and puts strain on the eyes. I am well aware that wxWidgets may not support that (even though I don't understand why) but there is at least 3rd party software that inverts the colors of the entire program and surely something like that could have been implemented as a workaround. I mean there is always a hack around each restriction - you are a programmer.
ConclusionIf it concerns me, I do intend to seek alternatives soon. Just not when I am in the middle of a project.
Do I think code blocks is FUBAR-ed? No. But I haven't seen it noticeably get better in the past years and if anything, I started encountering more and more issues on the Windows latest versions.
wxWidgets is quite bad to begin with, so not everything is the developer's fault (well apart from the choice of backends maybe).
If anyone is actually interested in solving problems and provides me with direct means to communicate them (such as Discord) I am only then willing to provide the necessary logs and other technical details the next time the program crashes. However, if I had to predict any kind of response, I'd say I am predominantly expecting someone to just quote the corresponding issues stated and justify them with "It has never happened to me", "This only doesn't work on version X revision X, OS ..., OS version X", "This is too hard to fix", "It is the library's fault", "It is OS's fault", "It is your fault" and so on