Java Long versus long in Spring Boot

Recently I’ve had to jump onboard a Java Spring Boot project. Not having used Java for a long time, I was surprised that my code was throwing null pointer exceptions (NPEs). In C#, I rarely encountered an NPE. Indeed, I thought the new compiler work on null-reference types was a waste of focus. The only […]

Delphi the Solution

Delphi Microservices: This is a nice webinar explaining how Delphi was leveraged to build a great company. But then management started listening to Java and SAP consultants to move away from Delphi. After two failed attempts, and a lot of wasted money, they gave the Delphi team a chance:    

C++ ORM DSL via Macros

Macros, like the goto statement, have become somewhat frowned upon nowadays, but (IMO) I think that’s a little excessive. Macros used correctly, within the confines of symbol declaration (i.e. no computation), can be beneficial. For example, you may want code to execute in debug but not release, you can define the symbol accordingly and avoid […]

NDepend – A Developer’s Best Friend

Creating a Mess Recently I began work on an XMPP Component Framework in C#, initially trying to reuse code from a previous version. I’m trying to do it right this time, conforming to the official specifications. This has led to a lot of rework as the previous version was essentially based upon code I’d written […]

Recent C# Language Changes

A couple of years ago I began an XMPP Component Framework in C#, but after a few days I had to put it on hold. One thing led to another, and it’s been on hold ever since. I’m finally returning to it. C#, however, has had some significant improvements since then, I want to start again […]

Delphi Community Edition

Update: This post has been updated to the recently released Delphi 10.3.2. Delphi has always been a great choice for desktop development, but the licensing costs have been prohibitive, especially given the quality and abundance of free alternatives. The good news is Embarcadero have released a Community Edition which is essentially the same as the […]