So, contrary to most uninformed people or some guys that were "forced" to use Delphi for a bit and haven't learned the language at all (something I could relate: I will totally hate to be forced to use C or C++), I can give a reason why Delphi is out.
Delphi is amazing. Is the only RAD language left in the world. It compile fast. Is as powerfull as C/C++, +/- minor stuff and this or that library. Is loved and is one of the few where you have fun working on it.
You must understand that Delphi is part of the pascal family. And if you are into that, you like it. So, from our side, the C/C++ are the "irrationals" ones that decide to work with slower compiles, mess of errors, insane templates, irrational behaviours and massive complexity.
Is the love of the community what have keep Delphi were is it, far more used that most people could imagine (above clojure, rust, vb and many others).
Why is disliked? Because Delphi is the most mismanaged language ever. Since Delphi 3 Borland take a route that put Delphi from be the #1 to be in a corner:
https://www.quora.com/Why-did-Borland-fail?share=1
Borland lost its way when executive management decided to change the company to pursue a different market. ... ... In the height of the enterprise transformation, I asked Del Yocam, one of many interim CEOs after Kahn, "Are you saying you want to trade a million loyal $100 customers for a hundred $1 million customers?" Yocam replied without hesitation "Absolutely."
Also, the owners rarely have pay attention to the clamor of the community, like focus on stability and bug fixes. To get bug fixes, you MUST buy the next version. And the IDE cost a lot of money (only recently a free version return!).
This kill Delphi for a large segment of the population. So, is more a reject of the direction than the language itself.
Prepare yourself for random crashes, Auto completion and code Navigation not working, and if you debug 64bit values of local variables sometimes are not accessible.
Also the bar with the open files doesnt Scroll and isnt resizeable. Tidious as fuck if you have more than 3 files open.
And it doesn't even have proper syntax highlighting! You have to install some shady chinese plugin if you want it. Ffs!
And don't get me started about the Pascal language it uses... There is absolutely no actual help on the Internet. Forget StackOverflow, some old German forums is all there is.
And it forces you to have some kind of Header section in the file were you declare fields and Methods that you want to implement. If you want to quickly rename or change some parameter you have to Scroll All the way up...
rant off
> And don't get me started about the Pascal language it uses... There is absolutely no actual help on the Internet. Forget StackOverflow, some old German forums is all there is.
> And it forces you to have some kind of Header section in the file were you declare fields and Methods that you want to implement. If you want to quickly rename or change some parameter you have to Scroll All the way up...
There is /plenty/ of help online and SO. In fact, for some topics (eg raw WinAPI programming) you will often find /more/ help, articles, or blogs using Delphi than in other languages, including C++.
As for a header: yes, you define a class and its methods, and implement it, separately. I'm guessing you're not used to languages where this is the norm? That's quite ok, but don't knock it :) FWIW, just turn on "Sync Prototypes" and when you modify a method, the declaration for it changes too, and vice versa.
http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Code_Edito...
There are also other IDE features, such as a shortcut to autocreate methods you declare (Ctrl+Shift+C, "class completion".) Type a new method in the interface, press it, it exists. Use Ctrl+Shift+Up or Down to move between the interface and implementation of the method(s), too. If you are scrolling, that is a more efficient way to navigate ;) Or you could use the shortcuts in the editor toolbar, listing methods/classes etc etc, if you prefer mouse interaction.
If you're a keyboard user vs mouse, mainly, check out some of the keyboard shortcuts: http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Default_Ke...
I have no idea what you mean re "proper" syntax highlighting. It does indeed highlight. The main thing I know of that GExperts modifies here is changing the colour of block keywords as it indents, and Delphi does that through a block indicator line in the editor, instead.
As "proper" syntax highligtting I mean things such as highlighting every occurrance of a clicked variable, and maybe some color. The default prints "begin" and "end" blue and adds some lines to control structures... wow. ._. I'm using CNPack for that now.
Also, curly braces as block comments actually offend me.
Delphi goes for /reading/ code. My experience - and anecdotally, reading comments others say - is that it is a literate, readable, clear language. One of the biggest problems with long-term coding and big projects is "write-only code", and the language can help.