{"id":2552,"date":"2017-02-14T19:56:58","date_gmt":"2017-02-14T07:56:58","guid":{"rendered":"https:\/\/www.deltics.co.nz\/blog\/?p=2552"},"modified":"2017-02-17T09:34:28","modified_gmt":"2017-02-16T21:34:28","slug":"__trashed","status":"publish","type":"post","link":"https:\/\/www.deltics.co.nz\/blog\/posts\/2552\/","title":{"rendered":"Musings on TIOBE"},"content":{"rendered":"<span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">[Estimated Reading Time: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutes]<\/span><\/span><p>It seems like only 12 months ago that a lot of fuss was being made about Delphi <a href=\"https:\/\/community.embarcadero.com\/blogs\/entry\/delphi-jumps-to-10th-place-on-the-tiobe-index\">re-entering the TIOBE Index Top 10<\/a> and now <a href=\"https:\/\/delphiprogrammingblog.blogspot.co.nz\/2017\/02\/delphi-enters-top-10-in-tiobe-index.html\">it&#8217;s done it again<\/a>!<\/p>\n<p>Um&#8230; hang on&#8230;<\/p>\n<p><!--more--><\/p>\n<p>To enter the Top 10 <em>again<\/em> doesn&#8217;t that mean that somewhere along the way it must have dropped <strong>out<\/strong> of the Top 10 ?  Maybe so, but TIOBE isn&#8217;t a reliable indicator, right ?<\/p>\n<p>Marco Cantu <a href=\"https:\/\/twitter.com\/marcocantu\/status\/829982838195941376\">would like to have it both ways<\/a>.  This development is simultaneously the result of a ranking system that is &#8220;not representative&#8221; &#8211; presumably such as when Delphi drops down to 15th and only occasionally bumps back up to 11th, otherwise languishing at 12th\/13th, as has been the case for the past 12 months &#8211; but also definitely worth shouting about when it &#8220;leaps&#8221; up into 9th.<\/p>\n<p>But Marco is careful to suggest that the <em>trend<\/em> is what is important, but asks that you look at that trend only since the beginning of 2014 which does indeed show an up-turn but still a long, long way from where it was a only few years ago.<\/p>\n<p>And it would be even further away if it wasn&#8217;t for a sudden, significant spike in February last year.  So perhaps that spike was itself a significant moment, marking a resurgence in popularity for some reason ?<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-legup.jpg?resize=640%2C323&#038;ssl=1\" alt=\"\" width=\"640\" height=\"323\" class=\"aligncenter size-full wp-image-2559\" srcset=\"https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-legup.jpg?w=925&amp;ssl=1 925w, https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-legup.jpg?resize=300%2C151&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-legup.jpg?resize=768%2C388&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-legup.jpg?resize=380%2C192&amp;ssl=1 380w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>It certainly seems to have given a fairly persistent boost to the ranking.<\/p>\n<h2> Insignificant Significant Moments <\/h2>\n<p>Anyone with a memory even slightly exceeding that of a goldfish should recall a similar round of rejoicing and adulation about Delphi (again) having re-entered the Top 10 of the <a href=\"http:\/\/www.tiobe.com\/tiobe-index\/\">TIOBE Index<\/a>.  As I said, that was almost exactly 12 months ago.<\/p>\n<p>What they might not be aware of is that this was the result of the lobbying of the TIOBE moderators by Craig Chapman &#8211; who, by a <em>complete<\/em> coincidence is (or was at the time) an Embarcadero employee &#8211; to have other <strong>Pascal<\/strong> stats aggregated into the <strong>Delphi\/Object Pascal<\/strong> category in the Index.<\/p>\n<p>He made <a href=\"http:\/\/chapmanworld.com\/2016\/01\/04\/delphi-and-c-builder-trending-up-on-tiobe\/\">all sorts of claims about how this would be &#8220;fairer&#8221; and &#8211; coincidentally &#8211; catapult Delphi into 6th place in the rankings<\/a>.<\/p>\n<p>Actually he missed a trick by not also suggesting that they also amalgamate C and C++, since it is almost impossible these days to find a &#8220;pure C&#8221; compiler, and <a href=\"https:\/\/www.quora.com\/What-C-compiler-runs-properly-on-Windows-8\">some people (many? I dunno) seem to use &#8220;C compiler&#8221; to also mean &#8220;C++&#8221;<\/a>.  So you could make the same claim about &#8220;no body using &#8216;original C'&#8221; as applies to Pascal and ObjectPascal.<\/p>\n<p>Had they done that as well then he could have projected a <strong>Top 5<\/strong> spot for Delphi !!  Imagine the excitement that would have caused !  \\o\/<\/p>\n<p>But whatever the merits of the argument, the moderators of TIOBE in their infinite wisdom conceded and Craig got his wish.  The result ? &#8230;. Delphi did indeed <em>shoot<\/em> up the charts from 12th to &#8230;. 10th.<\/p>\n<p>Aaaaaand then fell back down to languish between 11th and 15th for the rest of the year.  But as I said, I don&#8217;t remember Marco or Craig or anybody else mentioning <em>that<\/em>.<\/p>\n<p>But this really shouldn&#8217;t be any great surprise.<\/p>\n<p>This sort of volatility is to be expected.  The zone that Delphi hovers in, on the cusp of the Top 10, is a place where the numbers change quite drastically every month and sometimes 0.1% (that&#8217;s <strong>1\/10th of 1%<\/strong>) can be the difference between 14th and 10th.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-volatilezone.jpg?resize=640%2C398&#038;ssl=1\" alt=\"\" width=\"640\" height=\"398\" class=\"aligncenter size-full wp-image-2560\" srcset=\"https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-volatilezone.jpg?w=947&amp;ssl=1 947w, https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-volatilezone.jpg?resize=300%2C187&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-volatilezone.jpg?resize=768%2C478&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-volatilezone.jpg?resize=380%2C236&amp;ssl=1 380w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>This month Delphi may be &#8220;comfortably&#8221; above that zone but only time will tell if that comfort zone is anything more than an anomaly.  Only last month the difference between Delphi being 10th or 12th, rather than 11th, was just +0.004% and -0.016%.<\/p>\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-jan2017.jpg?resize=640%2C71&#038;ssl=1\" alt=\"\" width=\"640\" height=\"71\" class=\"aligncenter size-full wp-image-2561\" srcset=\"https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-jan2017.jpg?w=945&amp;ssl=1 945w, https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-jan2017.jpg?resize=300%2C33&amp;ssl=1 300w, https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-jan2017.jpg?resize=768%2C85&amp;ssl=1 768w, https:\/\/i0.wp.com\/www.deltics.co.nz\/blog\/wp-content\/uploads\/tiobe-jan2017.jpg?resize=380%2C42&amp;ssl=1 380w\" sizes=\"auto, (max-width: 640px) 100vw, 640px\" \/><\/p>\n<p>It is only sensible then to consider trends rather than specific changes from month to month, but if you take that leg-up in February 2016 out of the equation then the trend over the past 12 months is pretty much flat (with the exception of a further spike in December, the persistence of which has yet to be established).<\/p>\n<h2> Lies, Damned Lies and Statistics <\/h2>\n<p>Don&#8217;t get me wrong, I think that the representation of Pascal in the TIOBE Index was and is wrong, but not because of any &#8220;unfair&#8221; treatment of Delphi.<\/p>\n<p>Far from it.<\/p>\n<p>In fact just a couple of months after proclaiming the success of having more &#8220;Pascal&#8221; stats recognised in the Delphi ranking, the very same Craig Chapman was <a href=\"https:\/\/community.embarcadero.com\/blogs\/entry\/another-way-to-look-at-the-tiobe-index-results\">advising caution, and suggesting that being outside the Top 10 was actually a <em>better<\/em> place to be<\/a>, indicating that a language was more pleasurable to use than those in the Top 10.<\/p>\n<p>That Delphi had fallen back out of the Top 10 again at that point was &#8211; again &#8211; presumably just a coincidence.  And now that it is back <em>in<\/em> the Top 10, well, I guess the Top 10 languages aren&#8217;t there only because they are difficult and unpleasant to use, right ?<\/p>\n<p>But I think that to even identify &#8220;Delphi&#8221; in the rankings at all is an aberration.<\/p>\n<h2>Category Mistakes<\/h2>\n<p>No distinction is made in the TIOBE Index between <a href=\"https:\/\/gcc.gnu.org\/\">GNU C++<\/a>, <a href=\"https:\/\/www.visualstudio.com\/vs\/cplusplus\/\">Microsoft C++<\/a> or <a href=\"https:\/\/www.embarcadero.com\/products\/cbuilder\">C++ Builder<\/a>, for example.  There&#8217;s just C++.<\/p>\n<p>No distinction is made between <a href=\"http:\/\/www-03.ibm.com\/software\/products\/en\/cobocompfami\">IBM COBOL<\/a> or <a href=\"https:\/\/www.microfocus.com\/products\/cobol-development\/#\">Microfocus COBOL<\/a>.  Just COBOL.<\/p>\n<p>Or <a href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/kx37x362.aspx\">Microsoft C#<\/a> and the <a href=\"http:\/\/www.mono-project.com\/docs\/about-mono\/languages\/csharp\/\">Mono C# compiler<\/a>.  Just C#.<\/p>\n<p>And that&#8217;s not evening to mentioning the RemObjects <a href=\"http:\/\/www.elementscompiler.com\/elements\/\"> implementations of C#, Swift or (forthcoming) Java<\/a>.<\/p>\n<p>But somehow not only does <strong>Delphi<\/strong> deserve a label of it&#8217;s own (albeit shared with <strong>ObjectPascal<\/strong> as if it were the only implementation of that) but it is somehow entitled to the recognition of if not <em>all<\/em> then the lion&#8217;s share of references to <em>Pascal<\/em> as well ?<\/p>\n<p>Where is the logic in that ?<\/p>\n<p>Perhaps once upon a time Delphi <em>was<\/em> pretty much the last bastion of Pascal, but that hasn&#8217;t been the case for a very long time.<\/p>\n<p>Bear in mind also that <a href=\"http:\/\/www.tiobe.com\/tiobe-index\/programming-languages-definition\/\">the TIOBE index does not include sources<\/a> you might expect such as <a href=\"http:\/\/stackoverflow.com\/\">StackOverflow<\/a> or <a href=\"https:\/\/github.com\/deltics\">GitHub<\/a>.  But it <em>does<\/em> include <strong>youtube<\/strong>, <strong>ebay<\/strong> and <strong>c|net.com<\/strong>.  Yes.<\/p>\n<p>Just think about that for a minute.  <a href=\"https:\/\/www.youtube.com\/\">Youtube<\/a> might be a fair source given the use of that platform for tutorial videos.  The only problem being that it is also a source that can then be very easily influenced by marketing or other promotional activity.<\/p>\n<p>More importantly though, when we again look at <a href=\"https:\/\/www.youtube.com\/results?search_query=%2B%22pascal%22+programming\">the results for &#8220;Pascal&#8221;<\/a>, then there seems to be a far stronger argument for creating entries in TIOBE for &#8220;Lazarus&#8221; or &#8220;FreePascal&#8221; than there is any reasonable suggestion that these results should be included in &#8220;Delphi&#8221;.<\/p>\n<p>Then there&#8217;s <a href=\"https:\/\/www.cnet.com\/\">c|net.com<\/a><\/p>\n<p>Again, the inclusion of &#8220;Pascal&#8221; results in Delphi means that Delphi has been boosted in the TIOBE by some <a href=\"https:\/\/www.cnet.com\/search\/?query=%2B%22pascal%22+programming\">bizarrely unrelated content indeed<\/a>.<\/p>\n<p>And with <a href=\"http:\/\/www.ebay.com\/\">ebay.com<\/a>, well, very predictably most of what is to be found there says far less about any <em>current<\/em> interest in Pascal or Delphi and <a href=\"http:\/\/www.ebay.com\/sch\/i.html?_from=R40&#038;_trksid=p2050601.m570.l1313.TR0.TRC0.H0.X%2B%22pascal%22+programming.TRS0&#038;_nkw=%2B%22pascal%22+programming&#038;_sacat=0\">far more about what people no longer having a need for Pascal references are clearing out of their attics<\/a>.<\/p>\n<p>Of course, I&#8217;m sure equally ridiculous results are to be found with any number of other languages but the point is that either TIOBE is a fundamentally flawed methodology which needs to be taken with a barrel of salt, or it is a reliable indicator worth shouting about.<\/p>\n<p>But it can&#8217;t be both.<\/p>\n<h2> Appeal to Reason <\/h2>\n<p>A far more reasonable argument would be that Delphi should be <em>removed<\/em> from the TIOBE Index and leave only ObjectPascal and &#8211; if you must &#8211; just Pascal.<\/p>\n<p>Having said that, I would agree with Craig Chapman on this point, that nobody realistically uses the &#8220;original&#8221; Pascal anymore but rather people using the various implementations of <em>Object<\/em>Pascal often typically think of and refer to it as just Pascal.<\/p>\n<p>In any event, I know that predictable plaudits from the usual quarters about &#8220;gains&#8221; in TIOBE are just as irrelevant as TIOBE itself.<\/p>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"span-reading-time rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">[Estimated Reading Time: <\/span> <span class=\"rt-time\"> 5<\/span> <span class=\"rt-label rt-postfix\">minutes]<\/span><\/span>It seems like only 12 months ago that a lot of fuss was being made about Delphi re-entering the TIOBE Index Top 10 and now it&#8217;s done it again! Um&#8230; hang on&#8230;<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[4],"tags":[313,315],"class_list":["post-2552","post","type-post","status-publish","format-standard","hentry","category-delphi","tag-opinion","tag-tiobe"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1TKYv-Fa","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"_links":{"self":[{"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/posts\/2552","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/comments?post=2552"}],"version-history":[{"count":11,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/posts\/2552\/revisions"}],"predecessor-version":[{"id":2570,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/posts\/2552\/revisions\/2570"}],"wp:attachment":[{"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/media?parent=2552"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/categories?post=2552"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.deltics.co.nz\/blog\/wp-json\/wp\/v2\/tags?post=2552"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}