.NET 2.0: weak sides of .NET?

R

R.A.M.

Hello,
I have started learning .NET and I have a question: what are, in your
opinion, weak sides of .NET 2.0.
Thank you very much for your answers.
/RAM/
 
G

Greg Young

This is a very open question as alot of it is language specific.

As an example a static vs dynamic typing laguage. .NET has both and both
have their strengths and weaknesses.

It also brings up questions of what you are trying to compare it to? If you
are comparing it to C I would say that there are many spots where it will be
much slower.

Cheers,

Greg Young
MVP - C#
http://codebetter.com/blogs/gregyoung
 
M

Michael Nemtsev

Hello R.A.M.,

My point is weak of "real-time" support for critical systems

R> Hello,
R> I have started learning .NET and I have a question: what are, in your
R> opinion, weak sides of .NET 2.0.
R> Thank you very much for your answers.
R> /RAM/
---
WBR,
Michael Nemtsev :: blog: http://spaces.msn.com/laflour

"At times one remains faithful to a cause only because its opponents do not
cease to be insipid." (c) Friedrich Nietzsche
 
R

Rob R. Ainscough

VS 2005 is still Beta IMHO. .NET 2.0 foundation seems OK (still lacking all
the features I would like) but that is primarily due to the fact it is
really just wrapper code around the OS core. If you have mission critical
items, I would avoid using .NET.
 
G

GhostInAK

Hello Michael,

..NET (any version) is not meant to be used for real-time processing. It's
not in it's design specs, and the documentation clearly states not to even
attempt it.

-Boo
Hello R.A.M.,

My point is weak of "real-time" support for critical systems
R>> Hello,
R>> I have started learning .NET and I have a question: what are, in
R>> your
R>> opinion, weak sides of .NET 2.0.
R>> Thank you very much for your answers.
R>> /RAM/
 
B

Barry Kelly

R.A.M. said:
I have started learning .NET and I have a question: what are, in your
opinion, weak sides of .NET 2.0.

..NET library in particular? I would say:

* The drawing performance of WinForms applications, and general lack of
maturity of WinForms and GDI+.
* The steady and continuing pollution of System.* namespaces with
ugly Win32-isms (System.Diagnostics.* in particular).
* The lack of some classical collections including trees etc. for
guaranteed logarithmic performance.

..NET runtime in particular? I would say:

* Debugging interop with native code can be confusing, because managed
code is at a different abstraction level (there's no easy way out of
this one, though.)
* Lack of flexibility in the underlying virtual machine model for
implementing dramatically different language features (e.g.
continuation passing style, poor tail-call performance, coroutines,
lightweight threading models).
* The existence of the .NET libraries requires languages to interoperate
well with its object model in order to leverage it. This in turn
forces languages with different object models to change their object
model, or be an awkward and strange member of the world of .NET, or
have two similar but subtly different object models.

-- Barry
 
R

Radek Cerny

All in all. .NET is great. Visual Studio is a tad ambitious and thus buggy.
My biggest gripe is lack of MI (Multiple Inheritance); I grew up with it and
miss it dearly. Enhance the CLR and C# to handle MI and you'd pretty much
have my dream environment.
 
B

Brian Gideon

Barry said:
* The lack of some classical collections including trees etc. for
guaranteed logarithmic performance.

The SortedDictionary in 2.0 is implemented as a red black tree.
 
M

Michael Nemtsev

Hello GhostInAK,

I know, and it's could be considered as weak side

G> Hello Michael,
G>
G> .NET (any version) is not meant to be used for real-time processing.
G> It's not in it's design specs, and the documentation clearly states
G> not to even attempt it.
G>
G> -Boo
G>R>>> Hello,
R>>> I have started learning .NET and I have a question: what are, in
R>>> your
R>>> opinion, weak sides of .NET 2.0.
R>>> Thank you very much for your answers.
R>>> /RAM/---
WBR,
Michael Nemtsev :: blog: http://spaces.msn.com/laflour

"At times one remains faithful to a cause only because its opponents do not
cease to be insipid." (c) Friedrich Nietzsche
 
B

Barry Kelly

Brian Gideon said:
The SortedDictionary in 2.0 is implemented as a red black tree.

Sure, but it's a map, not a set. If you look at the range of the
possibilities in the JDK, you'll see what I mean:

Interfaces:

* List
* Map
* Set
* SortedMap
* SortedSet

Classes:

* ArrayList
* HashMap
* HashSet
* TreeMap
* TreeSet
* PriorityQueue
* LinkedList
* LinkedHashMap
* LinkedHashSet
* EnumMap
* EnumSet

And some concurrent collections, many which use lock-free programming
techniques, so you don't have to (and they're hard to get right):

* ArrayBlockingQueue
* LinkedBlockingQueue
* PriorityBlockingQueue
* DelayQueue
* CopyOnWriteArrayList
* CopyOnWriteArraySet
* ConcurrentHashMap
* ConcurrentLinkedQueue
* SynchronousQueue

The same level of choice for implementation of the same basic interfaces
doesn't exist in .NET at the moment.

This is not to say that JDK's collections are superior where comparable;
I don't think that's true. I far prefer .NET's List<T> to JDK's
ArrayList<T>.

-- Barry
 
C

Cor Ligthert [MVP]

Hi Ram,

You can say Net is Warsawa compared to some other systems which are like a
miasteczko

You can find earlier a street in a miastecko.

Although in Warszawa you can find probably more often what you need.

Just one simple thing.

Cor
 
B

Brian Gideon

Good point. I've been a little disappointed with the builtin
collections as well. Specifically, I've found myself needing on more
than one occasion both a priority queue and a blocking queue.

Brian
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Similar Threads


Top