5 ms·
As someone who has spent 10 years working with Delphi (from 2008 - 2019), it lacks far behind compared to other modern IDEs. In 1995, Delphi was definitely ahe
by Svip 7y ago
As someone who has spent 10 years working with Delphi (from 2008 - 2019), it lacks far behind compared to other modern IDEs. In 1995, Delphi was definitely ahead of its time, but has been unable to pick up. Each new release of the suite contains some new unusual bugs, while avoiding fixing some long standing issues.
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.
- codr7 7y agoI spent 13 years working full time in Delphi from 1998. It seems to me like Embarcadero inherited the curse of chasing Unicorns and neglecting strengths from Borland/Inprise. 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.
- mika9090 7y agoExamples?
- Svip 7y agoI am not sure of which specific thing you wish me to give examples of, so I'll start with the positive aspects: 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.
- mika9090 7y agoThanks. I should have been more specific :-) I wanted examples of things that other IDEs have that the Delphi IDE doesn't.