Delphi and C++ Builder Trending up on TIOBE!

upward-trend-arrow
As a new year begins the TiOBE index is released for 2016 and once again C++ and Delphi Object Pascal move on up, and yet again Delphi is shorted by TIOBE policies!

 

Here is the  TiOBE index for 2016

tiobe

As you can see, “Delphi/Object Pascal” sits in 12th place up 8 places from last year. It even sits higher than Swift and Objective-C, which should come as no surprise when you consider that Delphi developers can write applications for iOS and port those applications to other platforms with little or no alterations to the code. However, there is still that annoying old problem with the index data. Take a look at the 16th language in the index…. That’s right, “Pascal” is in 16th place, up 14 places from last year, but surely no one is still using Niklaus Wirth’s pascal today?!

Of course they aren’t.

TIOBE have strict rules which define those programming languages for which they gather metrics, and how those languages are grouped. The full set of rules can be found here. The rule which concerns us in this case is this… “If a language has its own Wikipedia entry it will not be grouped with another language.”  There is in-fact a wiki page for the language of Pascal, which references the historical pascal, and is separate and distinct from the modern “Delphi / Object Pascal” variants.

Since I find it unlikely that 1969-1970’s pascal is still in use today, and even less likely that it appears 16th on the TIOBE index, we can safely assume that the results for the “Pascal” keyword are actually in reference to modern “Object Pascal” or “Delphi”. They should be grouped together!

So how does that influence the results?

Well, it’s difficult to be accurate when working with the final result data rather than the source data for this index. However, the ‘Rating’ column is a percentage, and since percentages are simple to sum, the combined “Delphi / Object Pascal / Pascal” rating comes out at 2.98% which puts our much loved programming language far closer to where it belongs in the index, at 6th place right behind Python, C#, C++, C and Java.

Throw C++ Builder into the mix!

This still leaves Delphi with a gap to close on C++ & Java, but lets not forget C++ Builder which gives you all the same benefits that Delphi does, with that more popular C++ syntax. Throw in the strides that Delphi and C++ Builder continue to make in mobile cross platform development, and it’s clear that if there is any product which might knock Java from that 1st place, it’ll be….

An Embarcadero product!

Both Delphi and C++ Builder produce native binary code to run right on the CPU of your desktop, laptop, phone, tablet or server, and which is both high in performance, and significantly more difficult to reverse engineer than Java byte-code. (I’m lead to believe reverse engineering is a significant problem on the Android Play Store:: http://news.softpedia.com/news/most-play-store-apps-can-be-reverse-engineered-and-then-injected-with-malicious-code-495986.shtml )

They both have:

  • Support for Windows, iOS, Android and MAC-OSX.
  • Native binary support for ARM and Intel architectures.
  • A single layout (form) designer for designing layouts that work on multiple form-factors and resolutions.
  • Mature framework libraries (the same VCL and FMX libraries in fact).
  • Enterprise grade database connectivity + Object relational modeling technologies.
  • Strong networking capabilities.
  • Access to a huge collection of devices from on-board sensors to bluetooth and bluetooth LE external peripherals.
  • Deterministic memory management model for mobile targets (ARC)
  • Most modern language features (such as generics, anonymous methods etc)
  • Award winning IDE.
  • 20 years worth of knowledge and experience in the application development industry.
  • Much more!

 

Summary

If you’re looking to the TIOBE index to see which programming language you need to know for the benefit of your career, you’ll clearly appreciate it’s worth knowing C++, but you may be mistaken, by the misleading data, into thinking that Delphi sits down in 12th place and can therefore be ignored. I think this would be a mistake. By my adjusted metrics, Embarcadero hold 3rd and 6th places in the index with C++ Builder and Delphi respectively. Many of the powerful frameworks used by C++ Builder developers were written using Delphi Pascal, not least of which is the VCL, which remains the richest GUI development framework for MS-Windows over almost 20 years.  You likely have applications on your computer today that you take for granted, but for which you have no clue that they’re written Delphi. Delphi continues to command a strong and committed audience world-wide.

The recent purchase of Embarcadero by Idera has seen new energy injected into these excellent development tools, and I can tell you from what I’ve seen from within the company, there are more excellent things set to happen in the years to come!

Thanks for reading!

Facebooktwittergoogle_plusredditpinterestlinkedintumblrmail

1 Response

  1. Prior to posting this, I emailed TIOBE regarding the discrepancy between “Pascal” and “Object Pascal” and it’s variants. TIOBE replied saying that they’ve already investigated this issue and that their investigation showed that 11% of hits for “Pascal” pertain to Object Pascal or Delphi. They also claimed to have accounted for this in their index by giving 11% of the “Pascal” hits to “Object Pascal”.

    I maintain however that all results for “Pascal” should be attributed to “Object Pascal” because any case where they aren’t related, they are also not related to any programming language at all. For example, we don’t need to know how “Pascal’s wager” ranks against C++, so if those hits for “Pascal” aren’t related to “Object Pascal” then what programming language are they for? I still find it highly unlikely that they are related to classic “Pascal” and that it makes it so high on the index. No. More likely they are related to a modern pascal variant, or are not programming related at all.

    TIOBE do not separate by compiler, but by language. This is the reason we do not see a separation between Visual C++, GNU C++, C++ Builder, but rather a single C++ grouping. Similarly, the vast majority of modern pascal compilers should be grouped, including GNU Pascal, FreePascal, and Delphi as they are all closely related and count as “Object Pascal.”

    In cases where language variants are significantly different, such as between Visual Basic.NET and VBScript for example, TIOBE are right to separate the results. This may be the case with the Oxygene compiler. However, in such cases the hits which are not directly related to the specific language variant are fair game to be added to the generic grouping. For example, a hit for “How to do X in basic” might be suitable for either VB or VBScript, and it’s fair to count this hit under the generic “Basic”. Similarly, a hit for “Pascal” which pertains to Oxygene but using the “Pascal” keyword is good to be added to the “Pascal” index because it represents the similarities between Object Pascal and Oxygene more so than the differences.

    Finally, you may wish that your favorite compiler were given it’s own separate grouping on the index. I.E. FreePascal being separated. That’s fine by me, I don’t make the rules for TIOBE. I’m sure if there were some clear way to separate that data TIOBE would be fine with that too. My point is not to bolster the number of hits for Delphi unfairly, and I have no real interest in a discussion on how I’d like to see TIOBE change their policies, that’s their business. My point here is to illustrate that TIOBE have two policies which, as they stand today, conflict in the case of Delphi to unjustly damage it’s ranking.

Leave a Reply