Monday 30 August 2010

Why Not dot Net

Maybe you are wondering why a Delphi developer would be interested in Java and Java EE? Well...

On the Desktop

Most people think that Delphi the object Pascal-based development tool died some time ago, but in fact it is alive and well over at Embarcadero. However, it did go through some uncertain times when Borland, its creators, seemed to lose interest in software development tools. Following Microsoft's .Net platform release back in 2002, many Delphi developers began switching to Visual Studio and Microsoft's C# language which in fact was created by Anders Hejlsberg, the original architect of Delphi who had moved from Borland to Microsoft in the 1990s.

However, unlike Visual Basic programmers who had no automatic upgrade path to .Net, Delphi provided cross-compatability so you could re-compile your Delphi software for .Net with minimal changes. So there was no really urgent need for Delphi programmers to migrate, and I never have. (That cross-compatability was later dropped, however, with the introduction of Delphi Prism which is a plug-in for Visual Studio which allows you to use a version of the Delphi language instead of C#.)

The hype surrounding .Net when it first came out suggested that it would replace native development on the Windows platform. Yet eight years later, with Windows 7, even Microsoft is still developing in native code. I still cannot see a reason to develop desktop applications in .Net, I have not yet found myself unable to do in Delphi what others are doing in Visual Studio. Partly because Embarcadero have continued to develop Delphi so it is not left behind.

On the Web

When it comes to web development, however, I was initially attracted by ASP.NET because it seemed to offer me an easier migration. But the big stumbling block for me is the lack of cross-platform compatibility because although Windows predominates on the desktop, the predominant internet server platform is Apache. Yes, there is the Mono project, but because it is not directly supported by Microsoft it has a tendency to lag behind .Net releases. And why make my potential clients pay for a Microsoft server when there are free open-source alternatives?

So I started looking at Java, mainly because I like the language, its object-orientation, type safety and so on. That lead to looking at Java EE and all the development frameworks available for it, for example Spring. The "problem" with Java, it seems to me, is that there is probably too much choice, and not enough plain-English explanation. It sometimes seems like Java developers have developed their own secret language, and each of them has created their own framework. Finding my way around this maze has taken a very long time.

Essentially, the choice for me was the Microsoft web development framework, ASP.NET, which has taken a while to mature, for example it initially lacked an MVC framework, or a Java EE framework. So far I am leaning towards Java EE, and I am attracted by the simplicity of a framework like Click, but I still have concerns about how easy it will be for my clients to deploy a Java EE server. For that reason I am also dabbling with writing web applications in Delphi, using the Indy web server components. Stay tuned!

No comments:

Post a Comment