ive read some of the excerpts here. I was a Delphi developer for 7 years, and during Delphi v3-v2010 - it was good. BUT ! the reality is - no businesses want to develop in Delphi anymore, its a resource and business constraint. Microsoft pushed its .NET platform for a reason, this was Anders original idea to Borland, Borland wasn't enlightened by Anders vision, which of cause was apparent once Anders was poached by Microsoft and later release .NET 1.0, which of course Borland was forced to not allow and release of a similar platform for 1 year.
in Delphi you still have DLL HELL! and you are still subject to complicated COM Interfaces which can be a real pain for the light hearted. I personally started in Delphi in 1998, and was thrown directly into hard core API socket programming, later to develop multi-threading applications to the cinema arena. At the time Delphi was about - there was either C/C++ or Delphi, Java was still in the incubator. C was a hard learning experience and took ages to develop code, but Delphi at the time was a great RAD tool. However, as we all know - markets change, business changes and people trends change. In the initial release of .NET 1.0 i was intruiged, i was a Delphi lover at the time, but interested in .NET. 2 years down the line, i became conversant with .NET and became very comfortable quickly with .NET. Its designed simplicitly and it theres no headaches regarding garbage collection/threading/dll hell/COM-DCOM. Everything was so much more cleaner and easy to develop. Only issue was that the designated PC needed the .NET Framework. 12 years ago this was a little problem, nowadays - its hardly noticable.
SPEED WISE! Delphi was great for speed, compiled to native code. But as we all know know a days, we have to change our programming heads, and code to Multi-CORE/Quad-Core processors, 64 bit platforms, or consider Asyncronous programming. Server hardware nowadays is not restricted just to the 8086x instruction set, hardware now allows you to code to the platform and the hardware. THIS IS THE WHOLE POINT OF THE .NET FRAMEWORK, ASWELL AS BEING PLATFORM INDEPENDANT THAN DEPENDANT.
The carefully developed JIT Compiler does all the hardwork for you, creating native code specific to your hardware/platform demands. Only on the initial first execution of a particular method (class/procesure) is the program slow, this is because the JIT Compiler has to do the hardwork of compiling the best native code for the that particular codeset. Once its compiled, its stored in memory ready to be accessing again when its needed (thus the reduction in execution time).
So - i would actually say, in todays modern Times, .NET is a better as faster platform to program in than Delphi. what now with .NET 4.0, with the release of Async. implementation model, Parallelism, and ConCurrency Collections, aswell as advanced optimisation of the .NET CLR DLR etc....NET is a formiddable framework to work with and is constantly changing, something i can hardly say for Delphi - which is also STILL hasnt got a 64 compiler!!!!
And on top of that - There are alot more cheaper developers in .NET than Delphi - which is exactly why businesses prefer .NET now than Delphi. WHY ON EARTH would a company pay 60,000 a year for a Delphi developer when he can get a upto date young .NET Developer for 30,000.
Thats the thing with us IT tech heads, we concern ourselves with coding and performance and efficiency - but all the company cares about is MONEY/TIME/RESOURCE.
Ricky Ricardo
MCP/MCTS.