5 ms·
We use Delphi from Embarcadero Technologies: https://www.embarcadero.com https://www.embarcadero.com Pros: 1) Solid, super-fast, single-pass compiler that pr
by TimJYoung 10y ago
We use Delphi from Embarcadero Technologies:
https://www.embarcadero.com https://www.embarcadero.com
Pros:
1) Solid, super-fast, single-pass compiler that produces native 32-bit/64-bit executables that can be deployed by copying them to the target machine (single, monolithic .exe with no external dependencies).
2) The language, Object Pascal, is statically-typed, easy to learn, supports procedural/OO/functional coding, and includes modern features like generics, RTTI, and class/record helpers. IOW, you aren't forced to code everything in a class, if you don't want to. The string support, especially the Unicode string support, is also very good.
3) The Visual Component Library (VCL) is still pretty good for creating Windows desktop applications (native, not universal "apps"), and you can skin your application for a different look and feel. Database access is also top-notch, and you have access to a pretty large set of 3rd party components that can be installed into the IDE as first-class residents of the IDE.
4) Development productivity is very high in the IDE, with a WYSIWYG form designer and two-way tools for coding the UI (what you do in the designer is reflected in the code-behind, and vice-versa).
Cons:
1) The price is high, but they're starting to fix that with more special offers and will, hopefully, continue to move the price down.
2) Partly the cause of 1), the product has been mismanaged over the years and its developer base has dwindled accordingly. This was also partly due to the fact that C# grabbed a lot of their market share (as well as the original developers of the product, including Anders Hejlsberg, the architect).
3) The RTL and component library (VCL) need pruning a bit. They've got a lot of legacy code in there due to an almost-maniacal focus on backwards-compatibility.
4) The IDE is a bit schizophrenic and needs to be updated, but it does include just about everything you would need in terms of real-time coding with error highlighting, code-completion, formatting, Git/SubVersion integration, etc.
5) Memory management is deterministic, which makes it very fast, but does require a Create/Free cycle for class instances. An ownership model helps to alleviate this for GUI applications (forms "own" the component class instances that are placed on them). Also, strings and dynamic arrays are reference-counted and managed for you, and you can wrap class instances in interfaces that will allow you to use class instances in a reference-counted manner, also.
In summary, if you simply need something to create desktop applications for Windows now, especially for vertical market software that will be deployed on a lot of machines, then Delphi is a good solution and can be a technical advantage for your company if you know how to use it well. If you're looking for something that you can use to further your job prospects, then it might not be the best solution for you, and you might be better going with .NET/C#. But, be forewarned that application deployment can still be problematic with .NET - the developer edition of SQL Server 2014 refused to install on my development machine this week because the SQL Server .NET-based installer could not cope with something in the .NET installation on my machine.
- TimJYoung 10y agoJust to add: if you want something similar that is free, you can also use Lazarus: http://www.lazarus-ide.org/ http://www.lazarus-ide.org/ It has more cross-platform options, and uses the Free Pascal compiler.
- spapas82 10y agoHello, thank you for the comprehensive answer! Wow I remember Delphi from the past (I had never used it but always heard nice things about it), I didn't know that it was still supported! What you write about the statically linked exe, the native look-n-feel and the WYSIWYG form editor are really killer features! I'm not so much into pascal though (15 years since I'd written anything in Pascal) and, unfortunately the price rating is a blocker for me (as I just want to create a GUI for a command line app to help non-expert users use it) :/ However, I'll definitely check Lazarus !
- omnibrain 10y ago> 1) The price is high, but they're starting to fix that with more special offers and will, hopefully, continue to move the price down. The Starter Edition (enough for small tools) is currently available for free https://www.embarcadero.com/de/app-development-tools-store/delphi https://www.embarcadero.com/de/app-development-tools-store/d...
- TimJYoung 10y agoThanks, that's great and I'm embarrassed that I didn't know that (my company is a tech partner with Embarcadero). So, cross off the first con for small projects... :-)
- vram22 10y agoMight be wrong, but anyone else found that the site seems to be only available in the German version (/de/ in the URL) as of now? Tried a few different things, but not getting the English version. Seems to either redirect back to .de site or give a 404 error. Both changing the URL to sensible values (/en/ or nothing instead of /de/) and selecting English from the drop-down at top right, did not work. Another possibility: could be it's a region-wise rollout? But would have expected .en first, unless the latest acquirer of the product line is German. (Seem to remember reading recently that it got sold again.)