Delphi
en.wikipedia.org
en.wikipedia.org
That might be harsh, since each new release does contain improvements of some kind, but they feel incremental, and not at a pace where Delphi would ever catch up with other modern systems. It also stems from change in focus over the last ten years over making Delphi relevant again.
They wasted several years in the early 2010s by making Delphi a platform for mobile app development. The selling argument being that you could use Pascal to develop both for iOS and Android. Unfortunately, it never really matured enough to be useable. And so after several years of that misadventure, they finally went back to improving the core product.
Frankly, the only reason people still use Delphi today is if they have a large legacy codebase written in Object Pascal. Embarcadero took too long to realise this. They can charge a huge licence fee for the product, because their customers are basically stuck with it.
There are many things I like about Delphi and Object Pascal, mind you, but there are also many things I find too frustrating about it. Particularly because I know other IDEs and languages have already solved those problems. That, and the small community means its ecosystem is tiny and not frequently updated.
I like properties on objects. They are an elegant way of handling the get/set mess you see in Java. (Which subsequently is also why I dislike how interfaces in Object Pascal are designed, because they don't handle properties well.)
I kind of like the verboseness of the language. Which frankly makes none of the subsequent features, like generics, seem out of place. In a more terse language, like say Go, generics would look out of place in that syntax. But that's style.
As for bugs of Delphi, XE7 is a notorious example. It included a new syntax highlighter that would crash if you typed in a | anywhere in the IDE. And it would crash hard enough to crash the entire IDE.
Where I worked, we primarily used 32-bit programs, but every time you wanted to modify configuration for your project, it always defaulted to 64-bit, forcing you every time to manually switch it back to 32-bit to configure. The user interface has plenty of annoyances like that.
I could go on, as I am just grasping what's at the top of my head. But I don't need to make this entry too long.
EDIT: Can't post any more right now, so I'll add some specific IDE examples of missing features:
Basically, Delphi lacks a lot of 'quality of life' improvements, that other IDEs have seen over the past 20 years. It's mostly small quirks, some of them definitely bugs.
One that's rather unique to Pascal, since it's a one pass language, where you have an interface and an implementation division, is that when you write a method on a class definition, you can tell the IDE to create the implementation for those methods instantly. But if you write a public unit method (that's outside any class), it won't do the same thing.
Sometimes, it will stop suggestion completion, e.g. showing you a list of all methods and properties on a class where you are typing. I think when it cannot compile your project, it stops functioning. Which is often the case, when you are modifying your code.
But the biggest one - for me at least - is how slow it feels compared to other IDEs. It doesn't feel very optimised. Telling it to search for where a function is called (referenced) can take a bit.
I wanted examples of things that other IDEs have that the Delphi IDE doesn't.
It was even more ahead of it's time back then, but when I left the scene there still wasn't even a HashTable in the standard library and you still had to dive down to WinSock for anything beyond networking toys.
For designing GUI business apps, I still haven't come across anything comparable, and not for a lack of trying. But the whole visual data modelling idea really deserves to die.
I personally think that Object Pascal is deeply underappreciated. It's a simple but powerful language.
FreePascal and Lazarus are also worth checking out, as they offer a similar UI library (LCL in Lazarus) and pretty good Object Pascal support (with minimal tweaks a lot of Delphi code works - I took a medium size program written for XE8 and had it working just fine with a little rejiggering.)
But at that point, interest in Delphi was already declining, and neither Borland nor Embarcadero has figured out to bring back excitement. Delphi news occasionally appear on Hacker News, and people talk enthusiastically about it, but no one actually starts a new major product in Delphi following that.
I think the price is the biggest burden though. They seem to not care about more people using it, so it's fine. It might make them enough as it is, but they should have a 'community version' (which should be at least the 'Enterprise' version) and then some saner pricing; I think it would get bums on seats. Not as many as it would've brought 15 years ago if they would've done that, but significantly more than now.
I thought they did do this? I never tried but I got a lot of emails about iOS & Android next to Desktop from them up until a few years ago when unsubscribed to their mailing list.
Quick check; FireMonkey is apparently for writing cross platform apps on Android, iOS, Mac OS X, Linux & Windows.
Or you mean; actual IDE on Mac & Linux? Indeed without that I wouldn't touch it either.
I'd wager that if they did not do the 'interesting' pricing model, it'd be a lot more relevant. They should have free versions for open source / private use and 'sane' pricing for companies. They have none of that. E1700,- for the first year for 1 dev and if you want to build desktop apps for Linux it's more than double? Not a big deal for big corps, however, for anyone wanting to play around and write some small applications for their startup it makes no sense.
> FreePascal and Lazarus are also worth checking out
At least on Mac it is not very stable for me, I try it every year before christmas (when I have some time to test new things) and after 1-2 days I usually pass it on. From it actually not even starting (crashing on startup), to not compiling, to it just messing up the windows completely at random times... I hope they get it stable or that it is just me, because it would be great to have something like that for someone like me who made his first years of money creating products in Delphi (starting with 1 on 3.11) where Delphi was a secret weapon against people using C++.
Indeed they do, but that's assuming those cross-platform features are any good. No one I've heard of uses Delphi for Android and iOS development. As a Delphi house, when we actually needed to develop an Android app, we went with Java and Google's Android Studio, because Delphi's offering simply wasn't mature enough. Nor was it useful to use any advance third-party libraries in your app.
Similarly, their MacOS and Linux offerings (not the IDE, because that's Windows only) aren't particularly good either. It's only really the Windows verion that gets official improvements, and FreePascal basically handles the Linux compiler. Which is fine, I guess.
But it's rather a hassle to maintain a codebase for cross-platform clients, since you actually need to fiddle with your code between Delphi and FreePascal.
Later when I got access to the Internet I kept playing around with Delphi and found bindings for both DirectX and OpenGL. I wasn't a popular kid at school but when I brought back a 4 player vertical shooter I got my moment of glory.
I miss using Delphi, maybe I should find a copy somewhere
Microsoft always seem to mess up GUI development from my experience but I'd love to be wrong here.
And yeah, it is very specifically designed around rich designer support, which is also very similar to the Delphi designer in practice. Same drag-and-drop experience with controls, a property grid to edit properties and wire up events, anchor-based layout etc. Components can be designer-aware as well, plugging into the designer UX.
Belay that, I’d love to have an alternative, period.