I'm a Delphi supporter now for 6 years already. But even I must admit that I'm becoming more and more disappointed with it.

Now it is nice that Delphi ships with a bunch of components that provide all those neat almost ready to use features.
But what I don't like is that extending any of these components has become a nightmare in recent Delphi versions. Why? Because Delphi VCL (and especially FireMonkey) heavily and I mean HEAVILY depends on use of interfaces which means code damn hard to read.
I still remember times when I started programming in Delphi 6 and even thou at the time my programming knowledge was much lower than it is now I never had much of a problem for making of a customized version of certain VCL component. But now even thou my programming knowledge is greatly improved I'm having huge difficulties extending existing modern Delphi VCL components.
In fact the last time when I was trying to make a customized version of some VCL component I actually rage-quitted after spending a whole day getting nowhere. The next day I fired up my old laptop with Delphi 7 on it, copied the code of that VCL component I was extending to my desktop current development machine and extended that component with desired features. And for all that I spent just over two hours. Sure that extended component does not support component styling and it probably won't work OK with advanced reference counting. But since I'm not using none of these features in my project I'm fine with that.

Another frustrating thing about Delphi is that it contains quite many very old bugs. And while many of them might seem trivial at first look they could actually have huge impact. One such bug is related to code folding or to be more precise scenarios where parts of your keeps getting expanded so you end up either spending most of your time folding back that code or not using of the code folding feature at all which is a shame as if used correctly it can greatly improve code writing productivity.

Any way for the time being I'm still sticking with Delphi but if this trend will continue then I'm definitely going to switch to Lazarus or some other IDE. I guess that one of the main reason why I'm sticking with Delphi is that it has more powerful debugger. At least it seemed so when I was doing comparison against Lazarus debugger about a year ago. Hasn't checked the newest version of Lazarus. Has it been improved on this area recently?