Turbo PascalEarly on I learned Turbo Pascal, which was a huge step up from the Basic and Batch File programming I cut my whitening on. When Delphi came along I thought it was brilliant and fell in love immediately. I had no interest in learning other programming languages or tools. Delphi did it all, and that was great. I found myself plenty of work and enough to keep my interest.

C++BuilderI was curious about other programming languages, from an academic point of view. I took a night school class in Assembly. I had a smattering of C & C++. Looked at some Ruby (back before it was hip), Java, JavaScript, etc. Eventually, I found myself troubleshoot laser printers, which ran a combination of C/C++/COM all on a Linux platform for a few years.

C#From there I went back to full-time Delphi programming, but the new company I was working for bought into the “there aren’t enough Delphi developers” myth and decided to move to C# & WinForms.We immediately were able to hire some new C# developers, but as we got to know them we found out they had a background in Delphi development (so more Delphi experience than C#), but they bought into the “there are no Delphi jobs” myth and rebranded themselves as C# developers. In the end, the project took 4 times longer than it should have, despite having more developers, and "more modern developer tools." They really should have stuck with Delphi.

Ruby

I moved to a new job doing Delphi development full time, and then that company bought into the C# & Silverlight are the future. Since I had C# experience I started working on the new Silverlight front end. The backend and the desktop app remained in Delphi (with a little C++). We all know what happened with Silverlight (if you even remember it . . .)

JavaScript

From there I ended up really branching out. I did a lot more work with C#, Xamarin, Java, JavaScript, Objective-C, and Oxygene (known as Delphi Prism at the time). There was still some Delphi mixed in too. I taught a few class and workshops on Android development with Java. I learned to appreciate some of the benefits, strengths, and qualities of each. I found things about all of them I liked (less so about Objective-C).

It was at this point I could see that most developer skills work across languages, tools, and platform. There is value in knowing and using multiple languages. The basic tenants of each language influence the way you do things in other languages, in a positive way, helping you to look at problems in a different way. There are some projects, platforms, and problems that are best suited to certain programming languages and tools. For example, if you are working with the web, you need to know at least some JavaScript, HTML & CSS (the latter two not being programming languages, but I digress), even if you are using some sort of abstraction layer.

Delphi HelmetThroughout all of this, I still found myself choosing to Delphi for personal projects. Occasionally I’d try personal projects in other tools and languages as a way to get to know them better, but I still found Delphi to be a better solution for most general purpose projects. One of the defining characteristics of Delphi for why I keep coming back to it is that it makes the common tasks really, really easy while keeping the rest simple and possible.

Other tools that focus on productivity, make a small subset of tasks as easy as Delphi does, but also make anything beyond those tasks, or the that “ideal” scenario hard or impossible. While other general purpose tools don’t do anything to optimize common scenarios, which makes simple tasks more complicated than they need to be.

Now with multi-platform development Delphi is more important than ever. The approach Delphi and FireMonkey provide make it quick and easy to do the most common tasks, while also keeping all the platform APIs and features within reach.

Delphi really invented the 3rd party component market as far as I am concerned. From the beginning, it shipped with all the source code for the VCL and also included a robust OpenTools API and component model making easy for others to extend the IDE, and build reusable components and libraries. All the technology partners are a huge part of why I choose Delphi.

Delphi also has a huge commitment to the code we as developers develop. I attend a lot of general software developer groups, and it is common to hear developers complaining about how they just finished porting their code to support a new version of their tools, only to have it all break again because a new release of their non-Delphi programming language or framework just came out. Often times they just throw it all out and rewrite to support a new version. Sure, Delphi it isn’t perfect, and sometimes there are incompatibilities or breaking changes from version to version, but by comparison, Delphi is so much better at this than any other language or platform out there that I have seen.

I started out choosing Delphi because it was what I knew. Now I choose Delphi because it gets the job done better than the alternatives. The fact it is faster for development is nice, but only part of the equation. I used to have a hat that said “Delphi does it all, especially Windows” and that is truer than ever today.

So why do you Choose Delphi? Share your reasons in the comments or on your blog #WhyIChooseDelphi

Anonymous
  • I've been using pascal since 1984, started my professional career (getting paid to program as a consultant) in 1989 with Turbo Pascal 5.5, so Delphi, when it came out in 1995 was pretty much a no brainer for me (I used Turbo Pascal for Windows, both versions prior to that on Windows 3.1). Later, around 1997, I got a job at a "Microsoft Shop". We used VB 4 at the time, and eventually migrated to VB 5, then 6. I'd been programming professionally for 6-7 years before that, so I picked up VB and learned to use it in about 3 months. The interesting thing is that I wasn't hired as a developer at that time, but a "software tester", because I didn't have experience writing VB code. Didn't take long (an additional 3 months) before I was developing code in VB professionally. I kept all of my personal projects in Delphi, even though I was doing VB work. Then, we had a partnership with another company that had some Delphi developers, and they convinced my manager to get a license for Delphi - so I started making plug-ins for our product using Delphi 3. Following that, around 2000, our next product was done almost entirely in Delphi - we still had a couple developers doing server side code in VB because they didn't have any experience with Delphi and thought it would take too long to learn. About a year into the development of the first release, we realized that the server performance was a big issue because it was based on DCOM and VB6, so I took 2-3 weeks and re-wrote the server code in Delphi and replaced the DCOM communications with direct TCP/IP - for a 3x improvement in performance. We released that at the end of 2002, built in Delphi 7. Then .Net started hitting the streets in a larger fashion in 2002. As a "Microsoft Shop" - the VB developers started kicking around Visual Studio 2003 the following year. The things I remember of that time are all the "oohs and awes" over all the "new" features they could do with C# that they couldn't do with VB6 - being able to write multi-threaded applications, using class inheritance, exception handling with try…catch blocks. You know…all the things I was doing with Delphi 2/3 - back in 1997/1998. I just shook my head and said - "You could have been doing this with Delphi for the past 5 years…" -- fast forward to 2011 - XE2 joins the market and now we can do iOS and Android development with Delphi - Another few years later I hear all the same things about the .NET Xarman platform (.NET core 1.0 released in 2016?) - Gee, if you had only chosen Delphi, you could have been doing this for the past 5 years too… That's why I keep choosing Delphi - because it gives me all of the features I need today - years ahead of the competition (well… with the exception of 64-bit development, but I got that in the end too).
  • Well spoken - I especially like your second last paragraph - thumbs up
  • I began my career in the '80s by teaching myself BASIC, QuickBasic, then Visual Basic when it came out. After having looked over C and C++ code, my reaction was "you've got to be kidding me!" That style of coding took a page of code to do something very simple. I was not willing to drown in code just to do something simple. While C was popular, it was completely unworkable for me. As an Entrepreneur, I needed to spend more time on the big-picture - not the minutiae of C. So my choice was only BASIC at the time. If Visual Basic had performed well on large projects, then I would still be a VB programmer. However, VB was embarrassingly sluggish on projects larger than 64K (which was pretty much all of my projects). I asked technicians at Microsoft when they would come out with a Visual Basic that would compile executables (not run interpreted). The responses were dismal. I was practically scoffed at for using VB and was told that VB would never amount to much. "It will never have a compiled version - don't waste your time on it." So I switched to Delphi when it first came out. That was one of the best decisions I ever made. I loved Delphi - and continue to love Delphi. It's my opinion that we can develop and release quality projects faster than companies that use banks of programmers with C++. I was amused with C# when it came out because it seems a lot like the Delphi to me. Maybe the software houses are finally seeing the light for a need for another Delphi-like product. If I had to, I could accept that language because it has the built-in high-level features that I expect in Delphi. But why bother? Delphi just continues to get better. There may be a world of programmers that mock Delphi - but I no longer care what they think. We Delphi programmers can turn out great products much faster and with less stress than they can. Delphi was the right choice for me then. And it still is now.