Saturday, 12 August 2017

Why I keep preferring Delphi

- or why are we still discussion this - get updated.


There has been a trend in the various discussions that popup on the internet or in real life - that Delphi and the ObjectPascal language is mentioned in past tense. Which indicates to me that those who do that, have either not paid attention or are just simply ignorant on facts. Which also seems to be a trend in politics - that relates to the facts - not Delphi :D

The most recent version of Delphi/C++ Builder/RAD Studio - version 10.2.1, was just released a few days back - which I would not qualify for talking about Delphi in past tense in general.

But a thing that is very common in the long discussions I bothered to read - is that almost everyone says something in the lines of:
- "Oh I also remember doing my first program in Delphi - great times"
- "I really enjoyed programming (with Delphi) - I miss those days"
- "In those days programming was fun."
- "The best tool to create Windows desktop applications - period. Miss it."

..and the list goes on - oozing of nostalgia, longing, the fun and the enjoyment and productivity everyone had "back in the days" - well these days are not gone for those of us that kept around using the language and tools we preferred.

That is also the reason why Delphi is my preferred tool: Fun, readability, fun, productivity, multi-platform, performance, fun and enables me to get things done faster.
I often wonder when observing "developers" using other enterprise-graded developing tools - both expensive proprietary ones (that are way more expensive than my Delphi subscription - and who also adds application run-time usage licensing) and common language IDEs - why are they either so non-productive or over-complicating things. I easily outperform them almost every time - and I do not consider myself a developer-ace - so much more to learn :)

So even if mostly everyone find the Delphi "language" and the compiler tools nice, when they used it the last time - the bickering goes on about either; cost staying updated to latest versions, the imaginary lack of job offerings or how one would have made different dispositions than the current owner of Delphi and "custodian" of the ObjectPascal language.

Just to touch and comment on the "negatives" - which has nothing to do about how great a tool/language Delphi is - which we all mostly seem to agreed on - still in these days:

Cost

Well I am very much in favor of inexpensive - but it seems to me that most people that have the cost issue, are either hobbyists or single developer shops - me being both (also while I am/was a corporate developer). From a professional perspective I need to look at what tools/components/libraries that keep me most productive - should I save the buck and spend hours and hours, or should I pay to save time and stay effective.

One recent example are the Enterprise Connectors (by CData) provided by EMBT and currently in public beta (for subscribers), should I spend time on keeping up with the current APIs for various enterprise systems - or should I just pay up and delegate the work to the CData people that are focused on that issue. It all depends on need and time - I might only need something simple like what I showed in a prior post or I might need and benefit from the whole FireDAC functionality.

I did at a point in time consider to let my personal Delphi Ent. subscription run out - and spend more time on the "free" FPC/Lazarus - but the things I wanted to do would require me to build a lot more, that was either not available or not robust enough. Do not get me wrong the Lazarus IDE project is great and has some features I would like to see in the Delphi IDE - but it does lack under the lack of peoples free time, but flourish on their passion, and it is not either or, but still an addition to my toolbox - and I hope that more component/library developers also include Lazarus compatibility in what they do.

Jobs

I will try and keep this short - there are Delphi jobs out there, and also go and create your own jobs. If you loved and enjoyed using Dephi/Object Pascal, but prostituted yourself into jobs and tasks you did not like based on hype, marketing propaganda and management decisions - then you have only yourself to blame.

As said, I do use other tools than Delphi, based on what is to my knowledge most efficient for me to get the task done - and I think that everyone should learn and touch multiple language - also spoken ones - you could start of with getting Bruce Tate: Seven Languages in Seven Weeks - it will will make you a better programmer with the language/tools you are forced/passionate to use.

Also a note on the quantity of developers using language X they are not passionate about - it could mean that they are not very skilled and they just leave their jobs when they get a better offer. Is that something you as a company can afford - read Paul Graham: Hackers & Painters - were he touched upon why they had success with their choice of language - not because of popularity or hype, but because it got the things done and they where passionate about it.

Disagreement with dispositions

I actually think that the current owners are mostly doing a great job - and just their eager to tell everyone about what is new, what is being done with the tools and reintroducing the free Starter versions (even if it to us that have the whole shiny Enterprise package does seem a bit skinny - it does outshine many other free alternatives - in my opinion).

I also think that the users that ensures that Embarcadero can pay their bills and keep Delphi evolving, are spending less time in disagreement discussions on the internet - because time is money - and I just wasted two hours doing this :D

Since most of the source-code is supplied with the product and the IDE is extendable through the OpenTools API - then instead of bickering use the time on building the feature you miss, and share or offer it to others.

It is easy and almost free to complain - but creating and suggestions moves us forward. And I am sure the PM's at Embarcadero would love to hear all your positive suggestions - and priorities with their resources at hand. Go put feature requests on https://quality.embarcadero.com.

I would for instance love to see the Linux compiler in all versions - also Starter - especially if an ARM Linux is provided. See we all have our wishes and dreams :D

Conclusion

I did skip all the language technical stuff, because that you can find elsewhere and at the end of the day it is all about the experience and fun you have while you develop - which increases your passion and makes you more productive.

A bit of the cause that Delphi is mentioned in past tense might also be that many of the older versions are still used heavily - version like D7, D2007 and XE2 which were great and are still very useful - but do yourself the favor and update - you don't know what you missed before you try it.

If you liked using Delphi earlier, but lost track - do yourself the favor install the trial edition or the Starter and have some fun again.

Thanks for reading this far and have a nice weekend.