Why we didn’t convert to .Net. And perhaps we never will(wings-of-wind.com)
wings-of-wind.com
Why we didn’t convert to .Net. And perhaps we never will
http://wings-of-wind.com/2009/11/09/why-we-didnt-convert-to-net-and-perhaps-we-never-will/
12 comments
…several orders of magnitude faster (5-7 times) – which leaves one wondering if he doesn't understand the term, or doesn't realize that most people use base10 arithmetic.
It's true the original GC for .NET was amazingly bad, so much so that the project I was on at Microsoft deliberately used indexes into big arrays of structs (rather than real object references) for long-lived server state. But surely they've been working on it. GC even has the potential to be faster than manual heap management simply because any number of dead objects can be reclaimed in zero cycles.
I don't understand why he's rejecting C and C++ as unsafe yet using Delphi. Doesn't that also have pointer arithmetic and casts and dangling references?
I don't understand why he's rejecting C and C++ as unsafe yet using Delphi. Doesn't that also have pointer arithmetic and casts and dangling references?
...Yet both Delphi and C# were designed by the same guy (Anders Hejlsberg), and thus much of the learning from Delphi was able to influence C# (and the CLR).
i wouldn't dispute that c# is a fine language. i wouldn't argue that object pascal is better than c#. i would, however, argue that delphi, mostly because of its incredible two-way design interface is a terrific development environment, superior than any forms designer included with visual studio. i don't know what hand anders had in the interface builder of delphi, but its better than visual studio's (better than all of the vb verions, etc).
Sure. But he's spots the .Net problems (in his opinion) - not the C#'s
Article author seems to be under the misconception that acceptable performance always requires a fully-compiled application (and seems to make decisions by comparing mature battle-tested versions of X to early/initial versions of Y). I don't honestly know what specific domain he's working in, but I do know that the number of domains in which that's true is increasingly tiny.
Agree! Sometimes you won't get that good performance with compiled applications. C Programmers really have to know how the machine works to get good performance in a real-life project. On the other hand, JVM is great at optimizing and its performance has been improved very well over the last few years.
Augh, I couldn't read the whole thing. Was it written by James Joyce? Because the whole stream-of-consciousness thing doesn't really work for technical articles.
"almost every programmer with which we spoke about XAML said that ‘if you want to do serious things, forget about designer, do it by hand’ – we said, no way!"
I've never used Delphi, but I wouldn't let layout generators build my interface for me regardless of the technology.
I've never used Delphi, but I wouldn't let layout generators build my interface for me regardless of the technology.
So when working with WinForms (.NET) you build the forms without the designer?
For me the biggest problem with .NET is the fact that it doesn't generate true binaries and the deployment problems (framework needs to be installed). The advantage of Delphi is that it compiles everything into a single exe file that just works properly everywhere on any Windows machine. But if you develop in-house software or custom software for a specific customer then these reasons probably don't matter.
I have tried writing a few applications in .net and I liked it. I think it's really great for the programmer because C# language has lots of features that I really want to see in Delphi's pascal. Still, Delphi (I'm still using the old Delphi 7) is my favourite development tool.
I have tried writing a few applications in .net and I liked it. I think it's really great for the programmer because C# language has lots of features that I really want to see in Delphi's pascal. Still, Delphi (I'm still using the old Delphi 7) is my favourite development tool.
This guy is still living in 2001, most of his arguments are pretty much nonsense, and I am highly skeptical of his performance claims
At first I really thoguht this article was written in one language and translated to English, or written by an application. Actually, after having finished it, I'm still not sure.
As for the merits of the article - meh - it seems to mostly be based on the writer's experience with early versions of .NET and the framework has come along way. An interesting read, but perhaps not quite relevant anymore.
As for the merits of the article - meh - it seems to mostly be based on the writer's experience with early versions of .NET and the framework has come along way. An interesting read, but perhaps not quite relevant anymore.
Forgiving the poor grammar, just let it be known that nearly every point mentioned in this rant against .Net is untrue.
Hmmm... can you give some arguments?
The majority of the arguments are just FUD. They might have applied in 2001, but to write this post now is just silly. He complains about breaking changes between 1.1 and 2.0 -- 2.0 came out in 2005. My guess is that he's really just angry because Microsoft (and most developers) have moved on from Delphi.
Some of the arguments are reasonable when applied to desktop development, but they're still pretty light on facts. None of them are particularly reasonable when applied to web development.
He laments that GDI+ isn't hardware-accelerated, but if I recall correctly, WPF (the newer UI toolkit that came out in 2007) is.
"Almost every programmer said you have to write XAML by hand" -- I won't defend Microsoft's obsession with visual tools, but I learned that I have to write HTML by hand years ago, and I'm not complaining.
String processing is slower? Probably because .NET strings are immutable, which actually creates large performance gains in the vast majority of cases.
If your performance concerns are so stringent that you need to worry about whether the type system in a language is rooted, you're either over-optimizing or you should be working with C.
Some of the arguments are reasonable when applied to desktop development, but they're still pretty light on facts. None of them are particularly reasonable when applied to web development.
He laments that GDI+ isn't hardware-accelerated, but if I recall correctly, WPF (the newer UI toolkit that came out in 2007) is.
"Almost every programmer said you have to write XAML by hand" -- I won't defend Microsoft's obsession with visual tools, but I learned that I have to write HTML by hand years ago, and I'm not complaining.
String processing is slower? Probably because .NET strings are immutable, which actually creates large performance gains in the vast majority of cases.
If your performance concerns are so stringent that you need to worry about whether the type system in a language is rooted, you're either over-optimizing or you should be working with C.
I rather think that he's looking from another perspective. Using Delphi, speaking about speed, complex GUIs which need a visual designer (etc.) means that he is a desktop developer.
I would love to see some well designed benchmarks making apples to apples performance and memory usage comparisons between the two.
I guess Microsoft clearly failed marketing to this guy. I see no evidence he has actually ever touched anything .net related. I've never experienced performance problems with .net due to the garbage collector (granted I've been working with it since 2.0+ there may have been issues in 1.0) I think he is a desktop developer, but from a web point of view it was slow due to the viewstate... MVC solves that problem.
I chose ASP.NET MVC for my startup, and the ONLY downside is the slightly higher server costs.
I chose ASP.NET MVC for my startup, and the ONLY downside is the slightly higher server costs.
MVC is an important move forward for .net webdev. The event driven model made for nice presentations on dragging and dropping buttons onto the page, but in practice it was an abomination.
Re the higher server costs, have you looked at joining BizSpark? Although I think you'd have to use co-lo to be able to take advantage of the free production licenses.
We're in BizSpark. We have a dedicated server, and our hosting company (SoftLayer) used our production licenses. (Great company in general, by the way.)