Wednesday, June 21, 2017

Oh Look, Another Book!

"The odd thing about people who had many books was how they always wanted more."
-- Patricia A. McKillip 

Oh for crying out loud!

I just got finished writing about two new Delphi books and someone else throws their hat in the ring. It's like you can't turn around without tripping over another one of these things.

Tuesday, May 16, 2017

Books - But Wait, There's More!

"Books are the training weights of the mind."
-- Epictetus

I found two new Delphi books. One that I've been looking forward to for a long time and another one that I just learned about.

Keep 'em coming...

Monday, May 8, 2017

Software made with Delphi. How do you know?

How many times have we heard someone talking about how Delphi was used to make one piece of software or another or that it's being used by some well known company?

It happens all the time.

Of course, the obvious first question is "How do you know?"

Tuesday, April 18, 2017

Something something Delphi, something Hanselman...

Ah, the age-old question; Who is still using Delphi?

As it turns out, the original answer still applies; Lots of people.

Monday, April 10, 2017

Getting Started with Delphi

Delphi celebrated its 22nd anniversary in February and a lot of the developers who make up the Delphi programming community have been using it for a long time. I think that just speaks to their good judgement.

At the same time, I'm pleasantly surprised to see people asking how to get started with Delphi or where to find entry level information. I thought it might be worth collecting some of this information in one place instead of re-posting individual links over and over again.

Tuesday, February 28, 2017

Delphi for Linux. Revisited. Again.

I have been hoping for a long time that Embarcadero would reintroduce Linux support in Delphi, especially since they've added Mac, iOS and Android support in the mean time, hopefully working out (most of?) the kinks involved in cross platform support in the process. I may have even brought it up once or twice at live events.

Monday, February 27, 2017

Delphi Programming Index

Delphi celebrated its 22nd anniversary on February 14th and since it was Valentine's Day, people had some fun with #ILoveDelphi and some blog posts about their personal history with Delphi. Embarcadero even has a Delphi T-shirt design contest going on, which seems like a fairly reasonable, if geeky, thing to do.

I started using Delphi with version 1 in 1995 and have had the pleasure (for the most part) of working with every version that was released, up to and including Delphi 10.1 Berlin. It wasn't my first programming language and it's not the only one I use today, but unless there is a good reason to do otherwise, it's still my first choice for new projects.

I've said it before and I'll say it again: I am an unapologetic Delphi fan.

Of course, whenever there is some kind of Delphi news or milestone, the topic of the TIOBE Index eventually comes up. This is a ranked list of programming languages that is updated monthly.

Objectively, TIOBE counts search results for a given phrase and uses the results to rank programming languages. The phrase is simply +"<language> programming" for each language that they track. For example, +"Delphi Programming".

Subjectively, on the other hand, people, including TIOBE themselves, read their own interpretations into the results. These range from it being the definitive measure of programming language popularity to it being a completely meaningless exercise. It's even been pointed out that the system could conceivably be gamed, making it suspect. If you can convince enough people to include the phrase "DELPHI PROGRAMMING" or "OBJECT PASCAL PROGRAMMING" in blog posts, it might influence the results. See what I did there? :)

In any case, TIOBE is measuring something, and while their methods have evolved over time, they try to be consistent, and publish their methodology and at least some historical data. You have to go spelunking for the rest, though.

This sounds like an opportunity for a little bit of data visualisation...

One of my pet peeves with TIOBE is that they started reporting Delphi and Pascal separately in 2004, which I think understated both of them. Eric Grange published what he called an unofficial Fixed TIOBE Index that re-combined the Delphi and Pascal results, but it wasn't until 2016 when Craig Chapman convinced TIOBE of the error of their ways that the mistake (that's right, it was a mistake) was fixed officially. Well, not completely fixed because of things like 5% of Pascal results and Pascal dialects like Oxygene still being reported separately, but it was a step in the right direction.

It might be interesting to see the impact of these differences and show what I believe is a more correct history of Delphi and Object Pascal in TIOBE. I can't imagine that being controversial. (/s)

Correction: According to their index definition, Delphi/Object Pascal is defined as follows:

  • Delphi
  • Delphi.NET
  • DwScript
  • Object Pascal
  • Pascal (confidence: 95%)

As it turns out, TIOBE doesn't do any kind of blending. They simply use whichever one has the highest count and discard the rest. I confirmed this with TIOBE, which means that they are still under-reporting Delphi. And any language with multiple definitions, really.

So, in my opinion, even if you think TIOBE's reporting is meaningful, the combined numbers most accurately reflect Delphi's rankings.

Looking at ratings, the differences aren't very dramatic, but the raw rating numbers only tell part of the story.

A small difference in rating can have a larger impact on a language's position in the list.

The positions give a more complete picture.

Reported individually, Pascal and Delphi positions show some bizarre fluctuations from month to month. For example, in three consecutive months in 2014/2015, Delphi went from 16 to 20 to 11, which seems a little unlikely. I believe that this is because Delphi hits were being reported as Pascal and vice versa. When the results are combined, changes are smoother and, I think, more reasonable. Unfortunately, the Pascal numbers are no longer reported independently, so it isn't easy to make these same corrections after 2016.

Since July of 2001, which seems to be as far back as TIOBE reports, Delphi has been in the top 10 about two thirds of the time.

Not too shabby. If you put any stock in this kind of thing.

I'm not sure if the TIOBE index is a meaningful or complete indicator of how popular programming languages are, but it is interesting.

Update: Updated charts to reflect up to May, 2018.