Is the .NET Framework a successful platform?
-
I love the C# language and the .NET BCL is very well written and clean. However, not having deterministic deallocation is a big downside for me. Besides, anyone know of any big app written in .NET?
i rest my case.
-
i rest my case.
Not much of a case..
Deliver yesterday, code today, think tomorrow. "http://www.heuse.com/cphumor.htm"
-
I love the C# language and the .NET BCL is very well written and clean. However, not having deterministic deallocation is a big downside for me. Besides, anyone know of any big app written in .NET?
Depends on your definition of big, but I love RSS Bandit. :cool:
Cheers, Vıkram.
"You idiot British surprise me that your generators which grew up after Mid 50s had no brain at all." - Adnan Siddiqi.
-
I love the C# language and the .NET BCL is very well written and clean. However, not having deterministic deallocation is a big downside for me. Besides, anyone know of any big app written in .NET?
I think the Windows Task Scheduler is. It's certainly good enough for some folks around here, and it's probably huge, considering its evident scope and breadth.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
i rest my case.
Y'know, your ID is so similar to the OP's... I wonder if it's the same person with MPD?
Cheers, Vıkram.
"You idiot British surprise me that your generators which grew up after Mid 50s had no brain at all." - Adnan Siddiqi.
-
I love the C# language and the .NET BCL is very well written and clean. However, not having deterministic deallocation is a big downside for me. Besides, anyone know of any big app written in .NET?
.jpg wrote:
not having deterministic deallocation is a big downside for me.
Why? (BTW, C++/CLI has deterministic finalization.)
.jpg wrote:
anyone know of any big app written in .NET?
.NET is used heavily in industry, so I assume you mean productised apps? You will find that a lot of Microsoft's newer applications are written substantially in .NET. BizTalk is a large application written in 100% C# apparently.
Kevin
-
Not much of a case..
Deliver yesterday, code today, think tomorrow. "http://www.heuse.com/cphumor.htm"
well i am very busy working on a huge app in .NET
----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford
-
Depends on your definition of big, but I love RSS Bandit. :cool:
Cheers, Vıkram.
"You idiot British surprise me that your generators which grew up after Mid 50s had no brain at all." - Adnan Siddiqi.
Me too. But I wish I could store my feeds in the cloud without having to do an explicit "upload to server" step.
Tech, life, family, faith: Give me a visit. I'm currently blogging about: Feelings-Based Morality of the Secular World The apostle Paul, modernly speaking: Epistles of Paul Judah Himango
-
I love the C# language and the .NET BCL is very well written and clean. However, not having deterministic deallocation is a big downside for me. Besides, anyone know of any big app written in .NET?
It has done well for any projects I've worked on.
"The clue train passed his station without stopping." - John Simmons / outlaw programmer "Real programmers just throw a bunch of 1s and 0s at the computer to see what sticks" - Pete O'Hanlon "Not only do you continue to babble nonsense, you can't even correctly remember the nonsense you babbled just minutes ago." - Rob Graham
-
well i am very busy working on a huge app in .NET
----------------------------------------------------------- "When I first saw it, I just thought that you really, really enjoyed programming in java." - Leslie Sanford
Twoz a joke :)
Deliver yesterday, code today, think tomorrow. "http://www.heuse.com/cphumor.htm"
-
I love the C# language and the .NET BCL is very well written and clean. However, not having deterministic deallocation is a big downside for me. Besides, anyone know of any big app written in .NET?
.jpg wrote:
Besides, anyone know of any big app written in .NET?
CodeProject looks big enough? :rolleyes: Look at the .aspx extension in the URL? But that depends on what you define as an "app".
.jpg wrote:
Is the .NET Framework a successful platform?
Yeah.
Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]
-
I love the C# language and the .NET BCL is very well written and clean. However, not having deterministic deallocation is a big downside for me. Besides, anyone know of any big app written in .NET?
.jpg wrote:
However, not having deterministic deallocation is a big downside for me.
What, you don't believe in free will? You don't believe in an afterlife? Marc
-
I love the C# language and the .NET BCL is very well written and clean. However, not having deterministic deallocation is a big downside for me. Besides, anyone know of any big app written in .NET?
.jpg wrote:
Besides, anyone know of any big app written in .NET?
Yes. CodeProject.com
cheers, Chris Maunder
CodeProject.com : C++ MVP
-
I love the C# language and the .NET BCL is very well written and clean. However, not having deterministic deallocation is a big downside for me. Besides, anyone know of any big app written in .NET?
Which platform does have deterministic deallocation? The free()/delete implementation of your C runtime probably is not as deterministic as you think! (from time to time, free() has to combine adjacent memory blocks to prevent memory fragmentation - this can lead to "lags" similar to those caused by garbage collection!) Deterministic destruction (C++ destructors) are easily replicated with the disposable pattern. But immediately making released memory available for new allocations is a waste of time, releasing whole blocks of memory is more efficient.
-
I love the C# language and the .NET BCL is very well written and clean. However, not having deterministic deallocation is a big downside for me. Besides, anyone know of any big app written in .NET?
.jpg wrote:
However, not having deterministic deallocation is a big downside for me.
I would say that .NET is good for some things but not good for others. I would certainly would not write game code in it or an image processing application where an image can be a GB or so. But then most business applications do not have these needs and that is what both java and .NET were designed for and excel at.
John
-
Which platform does have deterministic deallocation? The free()/delete implementation of your C runtime probably is not as deterministic as you think! (from time to time, free() has to combine adjacent memory blocks to prevent memory fragmentation - this can lead to "lags" similar to those caused by garbage collection!) Deterministic destruction (C++ destructors) are easily replicated with the disposable pattern. But immediately making released memory available for new allocations is a waste of time, releasing whole blocks of memory is more efficient.
Daniel Grunwald wrote:
Deterministic destruction (C++ destructors) are easily replicated with the disposable pattern.
Except that it is the burden on the user of a class to actually use
using
blocks.Daniel Grunwald wrote:
But immediately making released memory available for new allocations is a waste of time, releasing whole blocks of memory is more efficient.
Not really - GC needs to determine which blocks can be released and which not. Worse, usage of non-deterministic GC increases the memory footprint which leads to page faults. In spite of all the papers about GC improving performance, I have yet to find a really performant language with GC.
-
Daniel Grunwald wrote:
Deterministic destruction (C++ destructors) are easily replicated with the disposable pattern.
Except that it is the burden on the user of a class to actually use
using
blocks.Daniel Grunwald wrote:
But immediately making released memory available for new allocations is a waste of time, releasing whole blocks of memory is more efficient.
Not really - GC needs to determine which blocks can be released and which not. Worse, usage of non-deterministic GC increases the memory footprint which leads to page faults. In spite of all the papers about GC improving performance, I have yet to find a really performant language with GC.
Nemanja Trifunovic wrote:
GC needs to determine which blocks can be released and which not
But your application doesn't need to determine when to call free. When you know when to call delete/free, of course that's faster than using a GC. But I think the GC beats most smart pointers / manual reference tracking mechanisms. It would be nice to have a language that allows both allocating from a manually managed heap and a garbage collected heap (and from the stack); but then again, that would introduce whole new classes of bugs (more allocation types = more possibilities to confuse them).
-
.jpg wrote:
Besides, anyone know of any big app written in .NET?
Yes. CodeProject.com
cheers, Chris Maunder
CodeProject.com : C++ MVP
Chris Maunder wrote:
Yes. CodeProject.com
Repost. I beat you to it. ;P
Many are stubborn in pursuit of the path they have chosen, few in pursuit of the goal - Friedrich Nietzsche .·´¯`·->Rajesh<-·´¯`·. [Microsoft MVP - Visual C++]
-
Nemanja Trifunovic wrote:
GC needs to determine which blocks can be released and which not
But your application doesn't need to determine when to call free. When you know when to call delete/free, of course that's faster than using a GC. But I think the GC beats most smart pointers / manual reference tracking mechanisms. It would be nice to have a language that allows both allocating from a manually managed heap and a garbage collected heap (and from the stack); but then again, that would introduce whole new classes of bugs (more allocation types = more possibilities to confuse them).
Daniel Grunwald wrote:
When you know when to call delete/free, of course that's faster than using a GC. But I think the GC beats most smart pointers / manual reference tracking mechanisms.
GC could beat reference counting mechanisms, especially if they are poorly implemented (e.g. lock the counter instead of using atomic increments/decrements), but in general I would bet against GC, because of the memory footprint it typically causes. But in practice, there is rarely need for reference counting and shared object ownership in general. RAII[^] is more than enough to take care of automatic reource managament in most cases, and the overhead is optimized away by modern compilers, so it ends up being as fast as manual deallocation.