1. James Webster

    I hear you… I’ve been working on a Delphi app for almost a year now, having had some Delphi exposure way back when, but doing mostly Java and .Net in the meantime. The tools are truly dire. The language has really gone nowhere and is incredibly verbose (oh you want to create and implement an interface?; ok, that will be one definition of the procedure/function signature on the interface itself, another in the implementing class’s type declaration, and another on the class’s implementation of that method). The implementation of generics is half-assed, etc, etc.

    Yet the product I work on has been incredibly successful in its niche and gainfully employs several people as a result. So who am I to suggest that we embark on a rewrite for the sake of migrating to a more modern, flexible and pleasurable to work with technology…

    Nevertheless, you have to have your doubts about the survival of Delphi as a closed-source product owned by a single commercial entity when the alternatives are so more appealing. About the only thing I will give Delphi above .Net at the moment is that it generates native code so there is no dependence upon a runtime, however with .Net Native in development that won’t be long. How Embarcadero stays in business given the seemingly general recalcitrance of Delphi devs to upgrade (we are still on XE3) is beyond me…

    • Tom

      Hi James, thanks for the comment. Given how well the various runtimes like Java and .Net perform with JIT compilation I think there’s only a few cases where any benefit from native compilation can be found. With that in mind, I honestly think the ‘native code’ angle is pretty much irrelevant nowadays as well, and if it is relevant, then c++ or something similar is probably going to serve you better anyway.

  2. Happy to be working in Delphi since day 1. A fantastic tool in the right hands simply no better tool for Windows desktop and that includes in my reckoning Visual Studio. You don’t have to write poor code and I do use Design Patterns, Unit Testing, CI, separation of concerns and dependency injection.

  3. Robert Sullivan

    I may be out of the loop a bit, but as Pascal was the intro language at the Univ in my day, and then we used the amazing Borland C++ IDE later (before being thrown onto the Solaris machines), I recall that Pascal ran on the original, stack-based p-code (virtual) machine. Again, out of the loop, but I wonder whether the direction to native was the wrong way, why not move to the JVM (or equiv. in Microsoft world)? For details on how this impacted companies using Delphi in the real world, check Madison’s own Scooter Software, which makes a wonderful compare tool called BeyondCompare. To paraphrase (but see Zoe’s comment for details), the lack of Delphi support set them back a while, and in today’s world, with Facebook releasing to production daily, that is kind of an antiquated business model: “At the time we decided on the platform Kylix was still being developed, and even after it was discontinued Borland was making noise that they’d open source part of it and allow the community to keep developing it. Unfortunately, that never materialized, and the product was thoroughly dead by the time we released v3, but by then it was too late to change things. We haven’t been able to create a 64-bit build because the compiler doesn’t support it and the GUI layer we have is built off a Pascal wrapper for Qt3 that we don’t have the expertise to update to Qt5.”

Leave a Reply