Is the .NET Framework a successful platform?
-
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.
-
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/2001John Simmons / outlaw programmer wrote:
I think the Windows Task Scheduler is.
I seriously doubt it. Examples of its use on MSDN are good ol' COM with 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?
> Besides, anyone know of any big app written in .NET? I guess that depends on what you consider "big" -- now that I fixed the GDI speed for large graphs one of my customers has an app that does some pretty important stuff. but mass populace will never see it so "big" is relative.
_________________________ Asu no koto o ieba, tenjo de nezumi ga warau. Talk about things of tomorrow and the mice in the ceiling laugh. (Japanese Proverb) John Andrew Holmes "It is well to remember that the entire universe, with one trifling exception, is composed of others."
-
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).
Afaik C++.net (or whatever they're calling it this week) does let you mix native and managed objects directly.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall
-
Afaik C++.net (or whatever they're calling it this week) does let you mix native and managed objects directly.
Today's lesson is brought to you by the word "niggardly". Remember kids, don't attribute to racism what can be explained by Scandinavian language roots. -- Robert Royall
The C# also allows you to create unmanaged objects. You just need to declare them in "unsafe" context blocks.
The narrow specialist in the broad sense of the word is a complete idiot in the narrow sense of the word. Advertise here – minimum three posts per day are guaranteed.
-
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?
This seems to come up a few times a year, along with the "where are Microsoft's .NET applications?" or "Why isn't Microsoft rewriting Office in .NET?" Some apps I can think of off the top of my head which I use on a daily basis: Microsoft Windows Live Writer RssBandit Visual Studio (parts of it, at least) MSBuild Paint.NET Reflector Live Mesh Ants Profiler Cruise Control Yahoo Messenger If we're counting websites, heck, I'd say at least half the sites I visit use ASP.NET, including big ones like CodeProject, StackOverflow, MSDN,...
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
-
.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
.NET is great for writing games. See XNA.
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
-
.NET is great for writing games. See XNA.
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
But there, if I understand things correctly, all it's used for is a layer around all the heavy lifting. In other words, all the cool graphics code (3D/2D/image processing) is written in the underlying DirectX layer, and that's almost certainly in C/C++.
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog
-
.jpg wrote:
Besides, anyone know of any big app written in .NET?
This seems to come up a few times a year, along with the "where are Microsoft's .NET applications?" or "Why isn't Microsoft rewriting Office in .NET?" Some apps I can think of off the top of my head which I use on a daily basis: Microsoft Windows Live Writer RssBandit Visual Studio (parts of it, at least) MSBuild Paint.NET Reflector Live Mesh Ants Profiler Cruise Control Yahoo Messenger If we're counting websites, heck, I'd say at least half the sites I visit use ASP.NET, including big ones like CodeProject, StackOverflow, MSDN,...
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
Never heard about those. Are they big?
The narrow specialist in the broad sense of the word is a complete idiot in the narrow sense of the word. Advertise here – minimum three posts per day are guaranteed.