Delphi To C#
I find I am at a crossroads. I have over 20 years of Delphi development experience. Despite Embarcadero’s best effort, Delphi is slipping as far as popularity and to stay in the game I need to diversify. I have been looking at C#. It certainly has a number of things going for it. So I have started moving from Delphi to C#. Learning a new language can be a bit daunting though when you have been stuck to one for so long. But persistence and determination will pay off.
Been exploring for a couple of months and like what I see:
- C# is object oriented.
- C# has all of the reflection and run time type information and more that Delphi has.
- Data binding in C# is far superior and easier to use, although I am still back with Delphi XE4 with that. There is no having to create special adapters and treat them like a dataset.
- The philosophy behind C# appears in some ways familiar to a Delphi programmer (not surprising give the history behind it). For example the way the interfaces are declared and implemented in classes.
- C# has drag and drop UI design capabilities that are not a lot unlike that of Delphi.
- The community edition of visual studio only a download away it. This is very attractive for a single professional developer.
- Very large on line community presence of C# and .net .
- Extensive documentation at least on line.
- The availability of the Mono project for development of Linux and Mac OSX applications.
- Along with Mono is the availability of Xamarin for mobile applications.
- There is a significant amount of third party and open source libraries and frameworks.
- The ability to implement design patterns are well supported.
The more I play with C# the more comfortable I am with. I’ll talk a bit more of my learning and transition from Delphi to C# as time goes on in the hope someone may find it helpful and interesting.