I'm reading the Joel on Software book, the printed version of the Joel on Software blog archive.

Joel on .NET and Languages

I came across an interesting comment on programming languages. Joel says "I hardly ever choose a language based on syntax", to which I only partially agree (I probably have stronger syntax preferences, but have used languages with different syntactic flavors). He argues that you mostly choose a runtime environment and a set of libraries (think about Java, VB, Python, Ruby, C, C#...) depending on the task at hand (GUI or not, multiplatform or specific, runtime distribution and speed, and more).

Having said this, he wonders about the ".NET cross-language strategy", considering that regardless of the language you cannot use it for a tiny Windows EXE or a UNIX command-line utility. His final comment: "It seems that .NET gives us a choice of languages precisely where we couldn't care less about it--in the syntax".

Delphi and .NET

I mostly agree. I like Delphi not only for its syntax but also for its overall design (compilers, speed, OOP, being both low-level and RAD, runtime packages, and so on). This is why I often have the sensation that Delphi should not care that much about .NET. However, I know this is not right.

The Delphi solution would be to retain a specific flavor of programming on top of .NET, while playing the good .NET citizen at the same time. This is why it is relevant to have the Delphi runtime even on CF, to retain the Delphi flexibility in linking or not the code from runtime pacakges/assemblies, to keep your database choices more open, and to maintain the VCL on .NET (and on Avalon and CF). Most of all, I find Delphi's ability to keep your code compatible on multiple platforms (Win32, Linux, 64bit...) very relevant. This means I'll be able to use the Delphi langauge and style to create that tiny Windows EXE or that Linux command-line utility, along with my ASP.NET application.

If Borland can achieve this, they'll be able to support .NET without flattening on it. And Delphi will remain a "specific" choice, not just another .NET language. As this partially corresponds to the Delphi roadmap (with the exclusion of Kylix), I hope this is also Borland's vision. If this is the case, Delphi is going to remain a very good choice for many years to come.