4 ms·
One of the first environments I ever programmed was Delphi. Had lots of fun with it, and it had a special place in my heart... Fast forward 20 years, and I'm a
by aylons 10y ago
One of the first environments I ever programmed was Delphi. Had lots of fun with it, and it had a special place in my heart...
Fast forward 20 years, and I'm a hardware developer using Altium a lot. As some here may be aware, Altium is a multi-gigabit piece of CAD/EDA behemoth written - and still maintained - in Delphi. 3D, DirectX, everything in Delphi.
Just yesterday and today I had easily reproducible BSODs by using a very basic feature (routing nets). Memory leaks galore - most people I know have the habit of shutting Altium down now and then just to avoid a crash. Success is low - it crashes a lot, I'm getting tired of unhandled exceptions windows.
And this way, I realize even great development tools age badly. Of course this is not all Delphi's fault, but it shows how tech is a Red Queen's race: you must run faster and faster to keep in the same place.
- noir_lord 10y agoI don't think that really says anything about Delphi and everything about the massive complexity of large software. I get regular crashes with a bunch of stuff (everything from Thunar (don't think that shows C has aged badly), Chrome (C++) and Intellij (Java).
- tonyedgecombe 10y agoSome languages make it harder than others, there is a whole class of bugs that just disappear when you have garbage collection for instance.
- noir_lord 10y agoI agree but a large program in one of those languages will still have more bugs than a small one, that's just the nature of things and the increase in bugs isn't linear either in my experience.
- digler999 10y agoThe thunar-crashing thing was introduced. A few years back it was stable, then sometime around a year or 2 ago it broke. Sad to see a good piece of software take a step back (proper testing should have prohibited that, shouldn't it ?).
- aylons 10y agoI half agree with you. It surely shows the massive complexity of large software, for sure. On the other hand, the tool should help prevent these issues. Altium has visible exceptions and lots of memory leaks that are much easier to prevent or solve with modern development tools and languages. Also, C aged badly, but the tools (ecosystem seems to be the hip name nowadays) for C evolved, and in a smaller scale, even the language itself has evolved. Object Pascal and Delphi doesn't seem to be catch up so well.
- TimJYoung 10y agoModern Delphi has a simple flag that you can set that will show you a log of every memory leak in your application when you shut it down, and there are 3rd party exception handling and profilers/analyzers that can be purchased for a few hundred dollars that will take care of finding/fixing AVs/performance bottlenecks. It's actually quite easy to create solid and reliable applications using Delphi if you follow solid software development practices.
- kol 10y agoWe used EurekaLog (https://www.eurekalog.com/ https://www.eurekalog.com/) to get nice exceptions and stack traces, even for access violations :) Imagine that: you have a native app, but you also have stack traces like in C# and Java. I loved to use Delphi in the early- and mid-2000s, but unfortunately Delphi jobs disappeared, and I had to switch to C# and Java development.
- edwinyzh 10y agomadExcept is better for this purpose