Friday, May 19, 2017

Big Ball of Mud

Recently I've spoken to people at quite a few companies where Delphi is used to develop their software. There's a pattern which is very hard to miss or ignore: Every one of them so far wants to get away from Delphi. They are all very dependent on it and still need it to continue running their businesses but they are unhappy about it and their long-term plan is unequivocally to move away from it. Often they would like to migrate to the Web, using the browser as the user interface and things like Microsoft ASP.NET and Azure as the back end.

An often-mentioned reason why they'd like to migrate away from Delphi is that their systems evolved into what can be described as the "Big Ball of Mud".

But wait. How's that related to a particular language or development environment? This (anti-)pattern applies to software design in general, right? Regardless of the language or the IDE?

Think about how fast and easy (compared with other tools) you can bang out a quick prototype in Delphi. Think about how often those prototypes end up in production after all, never rewritten or revisited again. In the article above, they are referred to as the "throw-away code"; code which was supposed to be thrown away but for some reason that never happened.

Which is what, as the throw-away code accumulates, eventually leads to the Big Ball of Mud pattern.

Does perhaps Delphi, by making it so easy to produce throw-away code, support a tendency leading to the creation of "Big Ball of Mud" systems?

What do you think?

Saturday, December 24, 2016

Colours on my keyboard

A few days ago I had to consider reinstalling Windows on my notebook. Instead I decided to switch to Linux Mint. I've been using Linux Mint in virtual machines for a few years and it worked very well for me. This is the first time I run Linux directly on the host. For development I keep a few Windows virtual machines. I'm very happy with it so far. Everything just worked without much ado, except one detail: The notebook comes with a backlit keyboard with configurable colours. Under Windows I got used to setting it to a dim white colour which works best for me. Since the default colour on boot is dark blue I was looking for a way to change it in Linux. Luckily, I've found a driver for it.

Big kudos to Steven Seeger (klystron) for his efforts!

I can enjoy my comfortable dim white colour again. Or play around; see below. ;-)

Happy holidays and a great year 2017 to everyone!

Saturday, October 15, 2016

Delphi Perspectives: Kick-Start or the Last Kicks?

I've received another e-mail offer from Embarcadero to upgrade my Delphi 10.1 Berlin Starter Edition to Professional for €749 (claiming to save over €2000). The offer is valid this weekend only and includes:
  1. Delphi 10.1 Berlin Professional upgrade
  2. Mobile Add-On Pack
  3. "Bonus Packet" with VCL and FireMonkey Styles, Konopka VCL Controls and Marco Cantù's Object Pascal Handbook
After Embarcadero shut down their R&D centers (with no public statement) and let go of people like Allen Bauer and David Intersimone I start wondering: Is this the beginning of the final sell-out? On a more positive note, the new General Manager mentioned in an interview (PDF) that they wanted to attract new developers and get back into education. Hints of this happening are already here.

Let's see what happens...