Home > Delphi, Object Pascal > Delphi outdated? Says who!

Delphi outdated? Says who!

November 28, 2014

Edit: This is an old article from 2014, so the facts are more than a little outdated. I should also underline that I was quite upset when writing this, having just come home from a rather unpleasant debate with some Java developers. The VERY tasteless meme below was not created by me. It was originally a meme about Delphi from a Java perspective —  so i reversed the roles, which kickstarted an avalanche of criticism from Java developers at the time. So please keep in mind that this post would never have been posted in its current form today. Never blog when you are upset, it never looks good.

A couple of days ago I posted a funny meme picture on Google + and Delphi Developer. In the first instance a user commented that “Delphi is outdated”, which seems to be the general consensus for non-delphi programmers around the world.

I mean I did post the image below as double-fun, meaning that yes it’s normally the other way around – so that makes the joke more funny (you should see some of the anti-delphi memes, they are far worse than this. Seriously), and also funny because the roles are reversed for me (I have always had jobs given to me, I rarely ask for a job). So for me it’s actually true.

I laughed :D

While utterly tasteless, this was originally a Java meme about Delphi. I simply reversed it, which caused total panic in Java land.

I have seen so many Java guys who just did not make the cut when things got “low-level”, ending up losing their jobs because they were not prepared for the reality of how a computer works. So while the rest of us dived head-first into winAPI services to make our RPC servers and load-balancers go faster, the Java crew silently retracted into their office, pondering why tomcat was unable to catch up with Delphi; Avoiding eye contact and stopping all the foolish “java is best” locker-room talk. Which was funny because the same gang of Java coders were initially a loud and condescending group of lamers, giggling in amusement when they heard the word “Delphi”. Only to be outsmarted, outperformed and ultimately just OUT.

When I showed the boss that creating a service took less than 5 minutes to build, and that adding a server to the win32 service was a matter of dropping a component on the data module, he just shook his head and said “Had I met you when we started this company, I would never have wasted my money on Java. I would have hired you full-time and done this in Delphi

Some two years later and the company went bankrupt. The Java crew had eaten up years worth of salaries and built a product which was unable to cope with reality. Even though I fixed the damn thing it was too late. They ran out of runway and went belly up. That would not have happened had I been allowed to do this in Delphi from day one.

Delphi not cool enough?

So.. did I miss something? When exactly did the world at large decide that Delphi is not allowed to be cool anymore? So a scripting toy like python, which could easily be written in Delphi — that’s cool. But a full on OOP compiler toolchain which produces native code for all modern platforms, that’s not cool. Where exactly is the logic in that?

Having googled around for a bit, trying to find some substance to this claim, all I find are rumors. Actually not even rumors, but more along the lines of childish thrash talk behind someones back or “name dropping” to fit in with the popular group. Yet when you try to examine where this aversion for Delphi is coming from -or if there exists any solid evidence behind this puzzling attitude at all, you find nothing.

Is object pascal about to go the way of the dinosaurs? And if so, who sat down and decided that a language en-par with the most popular and widely used language in the world, namely C/C++, suddenly has no place in the market?

Object pascal as a language compiles for nearly 20 platforms, including Nintendo and Ouya. The majority of these platforms are delivered through FreePascal, which is compatible with Delphi on almost all accounts.

With a market share in the millions Delphi still out-ranks python, pearl, ruby, GoLang and all dialects of basic combined (it has seen a steady rise on ranking systems like Tiobe). Not to mention objective C which saw a sudden rise due to the fact that Apple forced people to learn that cursed dialect. And if you want an old outdated language, then Objective C is the mother-load!

Let’s face it: no-one would use Objective-C of their own free will had it not been for Apple’s nazi regime for iOS back in the day. It is the bastard love child between Modula II messaging and C, with roots so far back in time that Cobol was pushing pimples. It is an atrocity cooked up in the labs at NeXT and pushed in the back-door by Steve Jobs.

Yes, I am angry. Really angry.

Statistical tomfoolery

And then there is TIOBE, which every year runs a statistical analysis on language popularity. And it does this by searching for keywords in source-code committed to SVN, Github and various repositories around the internet.

The problem? Well right from the start TIOBE decided that our language needed special treatment and rules, so instead of using keywords that would reflect reality, like “delphi”, “freepascal”, “lazarus”,”oxygene”, “smart pascal” and “object pascal” and then combining this into a score which reasonably represents reality  — TIOBE in its infinite wisdom decided that the word “pascal” should cover it (edit: this has been fixed in recent times, 2018).

TIOBE represents "selective" facts, not real facts

TIOBE represents “selective” facts, not real facts

This means that for the past decade TIOBE has reported only a fraction of the actual use and activity-level of our language, giving potential newcomers a completely wrong impression.

Lately they have decided to add “Delphi/Object pascal” to their list (due to heavy complaints for years), but only as a separate language to “pascal”, which once again misrepresents the Delphi, Smart Mobile Studio, Remobjects Oxygene and Freepascal community as a whole. We all know that these different takes on object pascal represents one large userbase, with only slight alterations in dialect and features. Smart Pascal for instance have adopted several features from Remobjects Oxygene, as well as C#, but it’s still 100% object pascal. And our customers are ultimately object pascal programmers with a background in Delphi or Freepascal.

Completely wrong. What about freepascal, TMT pascal and Smart Pascal? These represents the same language and should be combined into a single score

As you can see the word “Delphi” and “Object Pascal” is on the rise. But even here the statistics is only catching a fraction of the real activity online, because freepascal, oxygene pascal and smart pascal is not even taken account for

Now what kind of impression do you think this is sending to kids who want to learn programming? Object Pascal was architected to be taught in schools, with strict attention to types and syntax – in order to make sure students learn the ropes from the ground up; producing better developers and better quality code.

Even if you learn object pascal at school and decide to work with C# later, you will still have benefited greatly from learning how to program through object pascal. You will quite frankly have a better understanding of how .Net works behind the scenes, and thus be a better dot net programmer by proxy.

Sadly, the impression beginners are getting from TIOBE is that Delphi and Freepascal is dead and have been steadily declining for the past decade. Which is simply not true. Hundreds of thousands of kids are learning object pascal at school in Russia for instance. We are also seeing a proverbial explosion of use in South-America, the balkans and Asia. Which means that in a couple of years time there will be a wave of developers who build, sell and provide object pascal software and services.

The fall from grace

While I can only speculate on the rumor mill, I do have a firm grasp on the “fall from grace” subject and know precisely how the impression of Delphi being outdated struck root in the IT community. And it goes all the way back to the last epoch of Borland, the former owner and publisher of Delphi.

To make a long story short, Delphi and C++ builder was the only real threat to Microsoft back in those days, and unlike the rest -Borland refused to bend its knee. The end result, as we all know, was that Bill Gates personally head-hunted Anders Hejlsberg (and I mean personally) which is the author and brain behind both Delphi and dot-net. Back then there was little doubt that Borland was under attack, and considering the amount of financial force Microsoft represents – the war would be lost. Everyone knew that Borland would lose and everyone was scared for the future of the language, their jobs and income.

Borland DevStudio: C++, Java and Delphi in one massive catastrophe

Borland DevStudio: C++, Java and Delphi in one massive catastrophe

Either way, faced with the option to die or convert to Microsoft, Anders did what most sensible people would do, and accepted the substantial parachute package from Microsoft; And he now works as *the* chief software architect at that very company. He is not just the author of Turbo Pascal and Delphi but also the guy behind the dot net framework, which incidentally was a Borland project – cleverly called “portable Delphi” before that.

Just stop and think about that for a moment. Every single argument you have for C#, Visual Basic .Net and the whole dot net ecosystem comes from Delphi and represents a Borland skunkworks project. What happened instead is that Microsoft killed Borland, dismantled it and in classical warlord style – brought back the most learned to work for them.

So people who say Delphi is outdated in comparison with dot net should watch it, because there is a lot of Delphi in the dot net framework and CLR architecture. That’s because it grew from Delphi, taken and released under the Microsoft banner. The initial specs for portable Delphi included pointers from what I remember of the post on it, but I guess that went out the window in favour or byte-code uniformity.

And the rest is history. Borland was dismantled and forced to give up its software development division, which they sold to Embarcadero. A company who inherited the monumental task of (more or less) re-building Delphi from scratch, along with a very angry user base of millions of Delphi and C++ Builder developers.

“I have always held the human race in high regard, until i saw a whole generation of kids ruined by java and hanna-montana.. now i genuinely believe that only a small fraction of the human race should be allowed to reproduce”

But Borland was no innocent little goodie-two-shoe company without blemish. They made some spectacular bloopers before Microsoft slapped them out of existence, like Delphi for Linux (Kylix) which turned out to be a financial disaster for both Borland and it’s technology partners. A disaster which ultimately hurt component writers more than it did Borland. Because while Borland had the finances to recover from the loss, component authors did not. They all lost money, many went bankrupt, and larger component providers like Developer Express simply decided it was enough, and stopped innovating their products for Delphi after that. They still maintain their older products, but as far as new products are concerned, that is on pause.

Kylix, Delphi for Linux, years ahead of it's time - but ultimately a failure

Kylix, Delphi for Linux, a decade ahead of its time – but ultimately a failure

Next there were the Delphi for .Net releases (mostly 2000 labeled variations of the product, like 2004, 2005 and 2006). These editions of Delphi were slow, sluggish and in my view – a complete waste of time. Invented only for spite in trying to outdo Microsoft at what they do best. A foolish endeavor which only served to enrage the user-base accustomed to Ander’s fast native execution philosophy, even further.

Introducing the dot net framework into the product rendered it close to useless and was seen by us developers as a “capitulation to lower-standards”.

After the sale to Embarcadero, the product still lingered without any real updates while EMB built up competence in their development department, not to mention getting rid of the dot net rubbish which had turned a once lean, mean and ultra fast language into a fat, bloated monstrosity.

The change

Embarcadero have in my view held their promises. Delphi as it exists now is once again a fast, lean and mean development toolkit – with all the bells and whistles you would expect from a top of the line programming suite.

Personally I feel Embarcadero is doing a monumental disservice to themselves and their user base in its continuing promotion of Delphi as a RAD (rapid application development) system, because RAD in our day and age is pretty much the norm.

Rad Studio XE6/7 represents 20 years of C++ and Object Pascal exellence

Rad Studio XE6/7 represents 20 years of C++ and Object Pascal excellence

Either way, modern language features such as generics was added years ago, as was support for iOS, Android and OS X compiler targets. Not to mention a spanking new RTL called Firemonkey which makes use of the GPU to render modern UI’s everywhere.

I must admit that I have a love/hate relationship with FMX. Roughly 4 years ago the frustration I felt culminated in me creating Smart Mobile Studio, quite frankly because I found that to be a faster and more direct path to building mobile applications. Smart Mobile Studio is doing very well and the Smart Pascal dialect makes JavaScript a dream to work with.

But just like dot net is written in C/C++, Smart Mobile Studio is written in Delphi and is 100% dependent on the native capabilities Delphi provides. This may change quite soon as a re-write to freepascal is imminent, but Delphi is still the product we use to create our alternative path.

I won’t cite the complete list of changes to Delphi as a product, because the list would fill a medium size book. But for anyone to say that Delphi is “outdated and old” would be to utterly surrender all faculties of reason. If old means “more years than dot net” then at least recognize that old in this case means wisdom and experience, not death and disability.

C++ Builder, Delphi's sister product, lean mean and hungry

C++ Builder, Delphi’s sister product, lean mean and hungry

There can be little doubt that Delphi has lost friends over the years, and I personally believe this is the source of the “Delphi is outdated and old” rumors. But heck –if you want an old language then C++ is the oldest and most cryptic of them all (!) So how can people applaud C/C++ and at the same time say that object pascal is outdated? C/C++ outdates object pascal by 3 years (!) Yet object pascal was created exactly to replace C/C++. Object Pascal was also engineered to be easy to learn – that’s why Turbo Pascal and Delphi has been used in universities, to be a safe path for people to learn OOP programming.

So for those of you that prefer or like to believe that Delphi is outdated, that is simply your personal pipe-dream. It is not based on fact and has no roots in reality. You are in fact suffering from an intellectual emergency.

Delphi is growing steadily and the language is just as excellent today as it was 15 years ago. Thousands of small and large computer programs are made with Delphi every year. Many of them quite famous. Here is a list of those I know about if you don’t believe me.

Turning the tide

A lot of Delphi developers have grown lazy. I still find repositories online that needs a facelift and perhaps some updated content. In most cases the repositories are very much alive, updated less than a 12 months ago — but the author’s doesn’t bother to update the text.

This is sending a wrong signal to people of less intelligence. Stupid people believe that unless something was updated yesterday, then the code must be unusable. The idea of timeless code, like a cipher routine which follows standards and principles, is sadly lost on them. I have code I wrote 12 years ago that works perfectly fine to this day. There is nothing you can do to make it more modern, because what it does and how it does it is based on timeless principles.

Do your part, ruin  java setup every week!

Do your part, step on java coder every week!

But fact is fact: People are reacting to what they label as “old code” lingering around the internet, and they are to some extent right. So we need to clean it up (!). If you have a repo of code somewhere that has remained idle for a couple of years, why not update it a bit? Or at least do a checkout/in to make sure the dates reflect reality.

And if you have an old Delphi website that you no longer maintain — either give it to someone who will maintain it, or spend an hour giving it a run over.

The same goes for websites that promotes Delphi. Torry’s is more than overdue for a face-lift, as is Delphitools.

Do your part — show these adolescent imbeciles just what they are missing out on! I feel so sorry for the past two generations of kids, growing up with Java and JavaScript and believing they have the right to call themselves programmers. Java is a toy. Bytecode compilers is what we do when we are bored and want to play.

Object Pascal is not just Delphi

Another factor that seems to be to complex for Java, dot net and script programmers (if we can use that title in this context) is that Delphi is a product. Delphi is not object pascal, but rather just one compiler toolchain of many which uses the object pascal language.

So when people are touting that Delphi is outdated what exactly are they referring to?

Freepascal running on Ubuntu

Freepascal running on Ubuntu

For instance, freepascal and Lazarus which are both free and open-source initiatives (these are two separate projects but operate as one) can be downloaded and installed on every Linux, Unix and whatever distribution known to mankind. You can target Nintendo, Playstation, Aros, Linux, Spark Solaris — heck, even the Amiga and the Raspberry PI for that matter.

And this is what people don’t seem to understand: try installing mono on the Raspberry PI, just try it. If you are lucky it will have downloaded and installed over the course of a week, at which point it will take roughly 60 minutes just to start the IDE. And this is if you can even download it and use it at all.

What people don’t seem to get is that programming on devices with so little CPU and memory requires a language that can scale well. C/C++ scales down just fine, as does Object Pascal. But more importantly: the code you generate for these devices must be compact and as fast as humanly possible.

If you compile your Java and mono code to a single binary (read: machine code) then that should run fine as well, but they won’t be fast! Java pushes so much crap up the stack that it’s practically abusing the hardware — and while mono is much better than Java, the amount of code it produces is ridicules.

Freepascal on the other hand is a Ninja on these systems. Blazing fast and with full access to 20 years of pascal evolution, you have thousands of libraries available out of the box. No other language except C/C++ can compare with this.

Typical misconceptions

Below are some typical comments written by people who believe that C# and Java is so much better than Delphi and C/C++, and my reply.

“In what world is it modern to handle memory directly” (read: pointers and freeing object).

In the world where computers have memory. What reality are you living in?

“Delphi is ancient, the memory manager itself is ridicules”

Really? You obviously have worked very little on embedded systems. Being able to write your own memory manager if you so desire has nothing to do with age, but rather with flexibility and choice. When writing code for embedded systems, you don’t have the luxury of retaining objects or using reference counting. Try installing mono on the Raspberry PI. Perhaps it will boot up sometime next week, if it’s able to compile at all.

“Pointers are dangerous and old-fashioned!”

A knife is dangerous in the hands of a child, but if you use it with respect and write proper code, then pointers are safe. CPU and memory is the reality of how a computer words, and just because you have been fooled into thinking an abstraction layer is reality – that is your loss. You are confusing the map with the landscape.

Have you ever written code that runs on a Nintendo DS? I have. Did you know that the screen on these devices is a file on the CF memory card? So to write a pixel you actually write a 16 bit word to a file. Try doing that without memory mapping. I feel sorry for your lack of insight.

“Having to free objects manually is a waste of time, face it, object pascal is ancient”

You seem to forget that dot net and java are written in C/C++. And if you have a look at the code written by Microsoft themselves you will see pointer types used in roughly 90% of their C# code. You should ask yourself why Microsoft is telling everyone that pointers are unsafe and should be avoided, yet they themselves use it extensively. Besides, implementing IDisposable in your object pascal objects takes 3 seconds. So your argument is infantile.

“Having no support of interfaces in TObject is ridicules!”

Then you don’t understand interfaces, reference counting or how it came into being. Using interfaces is not a must, it’s an option. A programming technique which was introduced as a standard way of decoupling access from entrypoint. There is no reason for adding the overhead of reference counting and garbage collection in object types which don’t benefit from them. And if you find it hard to write the 8+ lines of code which gives you IDisposable in your codebase, then you are either mentally challenged or lazy.

Final words

So the next time you feel the urge to say that Delphi is outdated, or that object pascal is old and has no place anymore — at least try a modern version before you jump on the teenage bandwagon and thrash talk something you know nothing about. Downloading a crack of a Delphi version 15 years our of production does not count. Or should we download Visual Basic 5 and measure the merits of Visual Studio today by that standard?

Object pascal has stood the test of time, just like it’s sister product C++. It was here before Ruby and whatnot came into being – and it will be here long after these hyped up products are dead and buried.

Here is what I would define as outdated:

  • When the code no-longer match the hardware and OS (read: 16 bit code)
  • When datatypes no longer exist except for legacy support
  • When you can no longer buy hardware (read: Amiga computers are out-dated, Commodore 64 is outdated)
  • When code no longer runs without special attention (read: execute as windows 95, XP etc.. )
  • Code that does not take height for unicode and UTF encoding

So there is a lot of outdated code out there, loads of it, but the majority of Delphi code online runs just fine. But yes, there is a lot of code that needs an update in the world of Delphi — but that goes for C++ and Java as well. Loads of java code written back in the day which no longer compiles, especially code written for the early Swing widget sets.

As for C#, it’s ok! So I’m not against C# or Visual Basic at all. I love to play around with these languages, and I have written a lot of C# code for serious applications (and will work extensively with C# for the foreseeable future). But I never lose sight of the fact that without C++ running the show behind the scene, C# would be useless.

  1. aplikmuj
    November 28, 2014 at 8:40 am

    Don’t worry. We the Pascal people are on the road to victory again this century.

    • Jon Lennart Aasenden
      November 28, 2014 at 8:47 am

      He he.. let’s make that decade, not century 😀

      • aplikmuj
        November 28, 2014 at 1:07 pm

        We are here to stay!

  2. woutervannifterick
    November 28, 2014 at 9:40 am

    In Wikipedia I’d mark some sections as “citation needed”, but there are some good points in there, like urging developers to update their 90’s looking websites of they want to promote their products.

    DevExpress and TMS have proper looking websites, but some smaller component vendors sometimes have depressingly ugly and outdated websites. I’ve seen “news” sections where the last update was more than a decade ago.

    In general I’d say that Delphi developers should modernize. The language and libraries evolved, but some developers stick to their old ways of doing things.

    Also, if you create a new library, screw Delphi 7 users, and use modern language constructs instead. When I see “Delphi 5 and newer supported” I expect to see old fashioned code at best, and chances are high that it won’t even compile directly in my version.

  3. Lars Fosdal
    November 28, 2014 at 11:39 am

    A good toolbox will remain a good toolbox, even after new and shiny arrives. Sometimes new and shiny just means reinventing the trusted old, and not always for the better.

  4. November 28, 2014 at 11:50 am

    I wonder at you people why you do not understand Delphis rare adoption in comparison to Java and C# … sadomasochism is so popular these days.

  5. November 28, 2014 at 12:22 pm

    Unfortunately perception is reality in the business world (this is the reality of stock market booms and crashes).
    After 13 years of Delphi i had to give it up in order to eat. Either sell the house and move my family to another City/Country where Delphi work exists or become a c# developer (90% of the dev work available)
    If there was plenty local Delphi work tomorrow I would happily take it.(there isn’t any)
    Also when the odd job arises once a year it is only 2/3 the rate of c#
    Perhaps if i was back in London there would be a chance. Definitely not here in Sunny Durban

    EB needs to help change the perception, and once the perception changes , perception and reality will be in-step and then i can get back to etching out a living using Delphi.

    Delphi needs decent Web programming support, the ability to ‘easily’ write/use Web API2, incorporate Owin Authentication and OWin self hosting, restful API, use an ORM where applicable.
    Where Desktop was the main focus of business dev and web was the cutting edge , it has now changed to….
    Web is the main focus of business dev and Mobile is the cutting edge.
    Eb has missed out the Web
    Web dev is the missing ‘Elephant in the room’
    This missing Elephant needs to be found

    • Jon Lennart Aasenden
      November 28, 2014 at 12:29 pm

      Most of the things you mention are already there.
      Smart Mobile Studio (although i made that) covers nodeJS, REST and web programming.
      So it’s all there — but people need to take a closer look 🙂

  6. November 28, 2014 at 2:19 pm

    I absolutely agree with the main points here, but I think the overall analysis of the situation is lacking: It’s not that the tool is outdated, it’s simply hard for beginners to learn modern pascal compared to the alternatives. Delphi you have to buy (and it’s not cheap for someone who’s just starting to explore programming), FPC/Lazarus isn’t as friendly as other IDEs once you try to go further than “hello world”, and both suffer from a severe documentation problem – again, either you buy relatively expensive books, or dig for hours on the web for useful info. Without “new blood”, Delphi and Pascal are doomed no matter how advanced they are.

    Also, I don’t think the embedded world is a good example here, because it’s not the “target audience” of Delphi. I do use Lazarus occasionally on my Beaglebone Black though.

    • Jon Lennart Aasenden
      November 28, 2014 at 3:03 pm

      That is a good point. I do get the financial side of things, especially for students.
      That’s why we went ahead and said that smart mobile studio is free for students.
      I really hope EMB does something similar.

      So yes, new blood is needed — and also FPC/Lazarus needs to adapt.
      I can only imagine learning to program object pascal using FPC/Lazarus — with all the bugs in that IDE..
      So yes — the factors you bring up are very valid indeed.

  7. November 28, 2014 at 2:19 pm

    Says TIOBE and Delphi Hater 🙂 Sean, here in Portugal, Microsoft also bought the schools…

    • Jon Lennart Aasenden
      November 28, 2014 at 3:00 pm

      TIOBE? You mean those that use the keyword “pascal” as opposed to “delphi” or “freepascal” when they do their queries? Thats like omitting realbasic, trueback, blizbasic and freebasic from the basic language and only count “visual basic” ..

  8. November 28, 2014 at 3:27 pm

    The issue, as another comment already mentioned, is not that Delphi is dead or outdated–it is a wonderful IDE and language. The issue is that Delphi is not being used to develop many applications and therefore there is no paying work using Delphi. Here in the USA, I can use a tool to search Craigslist job listings (a popular place to look for a job) for every city/state that Craigslist exists in for the entire country, and I would be lucky to find even one Delphi job (lots of hits on “Delphi” but that is actually software used to manage hotels apparently). Even if I were to find 3 or 4 jobs relating to actual Delphi development, it has so far been 100% true that those job listings are in another city/state far from where I live. I’m not relocating to a city I don’t wish to live in, in a state I don’t wish to live in, possibly in a climate (weather or political) I don’t want any part of just to continue work in Delphi. I’ve been working with Delphi for 18 years and its time to give it up.

    Another issue is that Delphi jobs in my experience so far (again, 18 years) exist only for legacy software. In all of my experiences the software I’ve been hired to support and enhance was created by some non-developer with a bright business idea. Delphi being easy to develop in, that non-developer threw something that “works” (sort of) together and they were off and running–making money. Well good for them. Now fast forward 10, 15, even 20 years later (going back to DOS and Turbo Pascal). That original code created on day one still exists and 100,000 band-aids have been added to it by 10’s or 100’s of sometimes not so talented programmers. The management says “hey, we’ll pay you pretty darn well to keep this s**t going”. The money is great, but the stress of trying to surgically repair another bleeding artery in the code (the same artery repaired 50 times before I came along) is brutal. I’m sure this scenario plays out in other projects developed with other tools besides Delphi too (can’t imagine being a COBOL programmer). However, we’re talking about Delphi and this is just the truth about the Delphi world.

    Related to the issue of no Delphi jobs is the issue that there are no Delphi developers. Where I’m working now we have been trying to hire one more Delphi developer since I was brought on board. We just filled the position a few weeks ago, after having the job posted for almost 3 years. Sure, we had other applicants for interviews prior to the recent hire, but none of those applicants knew Delphi. One applicant rated himself a 10 out of 10 as a Delphi programmer, but when we pressured him a bit he admitted he had only seen Delphi code and never actually written a line of Delphi/Pascal. That was laughable to say the least, especially since I’ve written Delphi code for 18 years and would still put myself at 7 out of 10 at best (always something new to learn).

    For the above reasons, (1) no Delphi jobs *anywhere*, and (2) existing Delphi projects people are hiring for are garbage code where all the new language features and supported platforms are useless to say the least, (3) no Delphi programmers to hire anyway, and (4) not mentioned above is that everywhere I’ve worked on Delphi code they were resistant to rewrite the code to use new language features and support the new platforms (desktop and mobile) though some were open to rewriting in a completely different language–so what’s the point of the new Delphi versions and features? Anyway, that’s my rant about why Delphi is dead. It is a wonderful tool and language and will be missed by me and others that know its true potential.

    • aplikmuj
      November 28, 2014 at 10:01 pm

      Most the software found is legacy. Sales people call that a solution that has proven in practice. That’s not Delphi specific. I think after a long period of throwing away existing solutions and replacing those, we are simply entering another phase of 20 years almost ‘nothing new’.

      You build an application in one year or less but after 10 years you will need at least one man who maintains the application. So you need 11 men. Assuming you need a smaller team in the maintenance phase and maybe you are in the position to consolidate requirements. You will still need more people to maintain all the software written than fresh blood does arrive. So nothing new will be implemented one day or lesser and lesser and lesser …

      Last decade was dominated by investments into IT and Java and .net were at the right place at the right time one in best shape years ago but both promised growing potential.

      My former partner built a framework that really cuts down development times from month/years to a few weeks. It’s based on .net. It’s data driven. It’s really hot. You can migrate systems within weeks. They just use a ‘few’ basic .net classes. Anything else is built on top is totally different. I don’t want to go too deep into detail. All the controls are bound to a cache and know how to configure themselves and how to display dependent on the context… one mosaic stone. Such frameworks cannot be tooled.

      The future of the desktop application are applications built with components that know what to do dependent on the meta-data and information given. Strong movement towards customizing. I do agree that few applications really require that, but being to position to migrate existing application within weeks is the challenge. Otherwise standard software will be used. Hard to tell without having seen such an application or at least having participated in the design of such a framework.

      There is no difference in general between Delphi and .net if we talk about sophisticated stuff of such a kind. When development moves towards customizing. There is a point when all technologies are very much the same, when programming beyond tinkering comes into play.

      • aplikmuj
        November 28, 2014 at 10:04 pm

        My former business partners – 3 people.

  9. Bee
    November 30, 2014 at 2:47 am

    No. Admit it… Delphi is dead, at least dying. Forget it. Embarcadero’s Delphi is Delphi in survival mode. FireMonkey is not a solution, it’s a hack. Delphi users will always be depended on EMB. But, Pascal is still alive and kicking. Long live Pascal! 😀 And it’s FreePascal. Hence, you should do SmartPascal more on FreePascal than on Delphi.

    And these days are the days of free OSes and free dev tools. Apple give their OSes and XCode for free. Android and Java are free since the beginning. PHP, Ruby, Python, Pascal and Netbeand, Eclipse, Lazarus, Mono Develop, etc are all free. Even Microsoft now give their Visual Studio and .Net for free and goes multiplatform. Paid OSes and dev tools (for desktop) are yesterday. Sooner or later they will be left behind and become irrelevant. Including Delphi. There will be no people who still consider to spend their hard earned hundreds of dollars for a dev tool while there are many free and good alternatives available.

    Also, today and in the foreseeable future, it’s all about mobile and app. If we want to get Pascal more attention to new mortals, then bring it to mobile world, both to smartphone and tablet. Kids these days use these things a lot, I mean A LOT. Be present to their world. Bring Pascal to them. Many other language programmings have been there already. For example, Codea (Lua IDE on iOS), Pythonista (Python IDE on iOS), Kodiak (PHP and JS IDE for iOS), Procoding (JavaScript IDE for iOS), techBasic (Basic IDE for iOS). Heck, event there is a Lisp coding app for iOS! But I couldn’t find any Pascal IDE for iOS. Though on Android, there is Pascal GUI, but –admit it– it’s ugly compare to similar apps for iOS.

    I’m now teaching my 9 years old boy programming using Lua (on his iPad). He’s very excited about it. He’s like me 30 years ago when I found out that I could command my little Casio calculator. I’d love to teach him Pascal, but I couldn’t. Because there is no Pascal coding app on iPad. But I see a hope on SmartPascal. As it compiles pascal to javascript, I think it’s possible to create a pascal coding app for iOS. If such an app is available, I’ll buy it for $10 in a heartbeat. 🙂

  10. November 25, 2015 at 8:18 am

    I always wanted to program in Delphi but could never afford to buy it as a student… that was a lost opportunity for Borland.

    I recall some old metrics about Delphi projects v’s other languages:

    Most programming projects fail… but most Delphi projects succeed.

    That one fact alone ought to make people interested in Delphi?


    • Jon Lennart Aasenden
      November 27, 2015 at 11:19 pm

      What about Lazarus and FPC?

  11. April 25, 2018 at 6:25 pm

    To me, IMHO Delphi, Object Pascal is the best learning, development Language, is just that the language does not have a good publicist, very nice article, I laugh several times about the pseudo java programmers

  1. No trackbacks yet.
Comments are closed.
%d bloggers like this: