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.
Tuesday, February 28, 2017
Monday, February 27, 2017
Delphi Programming Index
Delphi celebrated its 22nd anniversary on February 14th (2017) 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 even 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 now defined as follows:
Another Correction: Sigh... 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 separately, 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 well over half of the time.
Not too shabby. If you put any stock in this kind of thing.
So, 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 January, 2020.
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 even 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 now defined as follows:
- Delphi
- Delphi.NET
- DwScript
- Object Pascal
- Pascal (confidence: 95%)
Another Correction: Sigh... 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.

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

Reported separately, 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.

Not too shabby. If you put any stock in this kind of thing.
So, 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 January, 2020.
Friday, October 21, 2016
Books Part 3 - This Time It's Personal
"So many books, so little time."
-- Frank Zappa
I've written about the resurgence of new Delphi books before (here and here). Since then, I am pleasantly surprised to find even more, including new publications, updates and some that I missed, several of which are free e-books.
If you know about any other recent Delphi books, please let me know in the comments.
Thursday, August 25, 2016
Free (and inexpensive) Tools From Embarcadero
I can (and sometimes do) argue the benefits of Delphi all day long, but if you're just starting out or aren't using it for paid development, the price can be a barrier to entry.

All registered Delphi users, including users of the Starter edition, have access to an electronic copy of the Object Pascal Handbook written by Marco Cantu. This is the definitive writeup of the Object Pascal language as it exists in Delphi today and has been updated to cover 10.1 Berlin.
Nice

Monday, January 4, 2016
New Developer Skill Sprints for 2016
Embarcadero wrapped up their 2015 skill sprints with a bang. Dave Millington gave a great presentation on writing plugins for the Rad Studio IDE using the latest APIs. If you've ever been curious about how to put something in the splash screen or about box or how to draw in the code editor, Dave covers all of this and a lot more. The replay is available here.
Developer skill sprints are short technical presentations made by Embarcadero staff, users, partners and MVPs that focus on a single topic. There is a new Delphi skill sprint every Tuesday with the C++ equivalent on Thursday (if you're in to that kind of thing). There are aired at three separate times to help accommodate people in different time zones, followed by a live Q&A with the author. If you can't catch these live, replays are published online. Allow a little bit of time, though. The replays include relevant parts of the Q&A, so they require some editing.
Embarcadero announced their skill sprints for the first quarter of 2016. Hopefully there's a little something in there for everyone. I know I plan to sit in on four of the first five. Especially the one on data visualisation tomorrow. Nice.
Developer skill sprints are short technical presentations made by Embarcadero staff, users, partners and MVPs that focus on a single topic. There is a new Delphi skill sprint every Tuesday with the C++ equivalent on Thursday (if you're in to that kind of thing). There are aired at three separate times to help accommodate people in different time zones, followed by a live Q&A with the author. If you can't catch these live, replays are published online. Allow a little bit of time, though. The replays include relevant parts of the Q&A, so they require some editing.
Embarcadero announced their skill sprints for the first quarter of 2016. Hopefully there's a little something in there for everyone. I know I plan to sit in on four of the first five. Especially the one on data visualisation tomorrow. Nice.
Wednesday, December 23, 2015
The state of Delphi
Last week, three separate people asked my opinion on Delphi and which version they should be using for ongoing development.
Tuesday, October 27, 2015
Moar Books!
"Happiness is downtime with a good book"
-- unknown
The topic of Delphi books has come up again, and I thought an update might be in order.
Subscribe to:
Posts (Atom)