Tuesday, April 18, 2017

Something something Delphi, something 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.

Well, they finally called my bluff. If you've been following Delphi at all, then you know that the next version of Delphi, code named Godzilla, will include 64-bit Linux support. No GUI support yet, though. Someone should ask about that at live events. Baby steps...

Darn. This means I have to pull up my socks and get back up to speed on Linux. Who could have known that it's easier to heckle from the sidelines than to dig in and get my hands dirty?

Fortunately, Embarcadero published configuration instructions to get people started, and they're holding a Linux Boot Camp (tomorrow, so sign up quick!). And I guess I'll have to start reading my friend Warren's blog - Linux Code Monkey.

But why? After all this time and what with Borland failing to pursue Kylix when they had the chance. And then there's Free Pascal, which supports Linux already. Why would anyone care about Delphi supporting Linux now?

Well, lots of reasons.

Coolness factor aside, I'm doing a lot of server side work and I want to deploy lightweight, pre-configured turnkey appliances in the form of a virtual machines without having to sweat over Windows server licensing costs. I want to take advantage of all of Delphi's features and I want to use a single code base between my Windows and Linux server applications. And I expect Delphi to deliver all of this without compromises.

I'm looking forward to it.

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 geek 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)

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.

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: Added March 2017 data and fixed a mistake in the histogram.

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.

So I was glad to see Embarcadero offering the Starter edition for free (until Sept 9th) and a Delphi Boot Camp, a free five day training webinar beginning on September 5th. Replays will be available afterwards. If you don't want to go looking for the replays, then sign up for the event, even if you can't watch it live. A notice is emailed to everyone who is registered when the replays are published.

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.


Embarcadero also had a C++ Boot Camp not long ago. The replays and Q&A are online, now. The promotion for a free license of C++ Builder Starter has expired, but there is a new promotion offering a heavy discount.

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.