473,395 Members | 1,343 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,395 software developers and data experts.

.NET 2.0: weak sides of .NET?

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/
Jun 14 '06 #1
11 1580
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
"R.A.M." <r_********@poczta.onet.pl> wrote in message
news:ri********************************@4ax.com...
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/

Jun 14 '06 #2
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
Jun 14 '06 #3
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.
"R.A.M." <r_********@poczta.onet.pl> wrote in message
news:ri********************************@4ax.com...
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/

Jun 14 '06 #4
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/ ---
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


Jun 14 '06 #5
R.A.M. <r_********@poczta.onet.pl> wrote:
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

--
http://barrkel.blogspot.com/
Jun 14 '06 #6
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.

"R.A.M." <r_********@poczta.onet.pl> wrote in message
news:ri********************************@4ax.com...
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/

Jun 14 '06 #7
Barry Kelly wrote:
* 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.

Jun 15 '06 #8
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>
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/ ---
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

---
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
Jun 15 '06 #9
"Brian Gideon" <br*********@yahoo.com> wrote:
Barry Kelly wrote:
* 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.


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

--
http://barrkel.blogspot.com/
Jun 15 '06 #10
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

"R.A.M." <r_********@poczta.onet.pl> schreef in bericht
news:ri********************************@4ax.com...
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/

Jun 15 '06 #11
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

Barry Kelly wrote:
"Brian Gideon" <br*********@yahoo.com> wrote:
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

--
http://barrkel.blogspot.com/


Jun 15 '06 #12

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

94
by: Gabriel Zachmann | last post by:
Is it correct to say that strong/weak typing does not make a difference if one does not use any pointers (or adress-taking operator)? More concretely, I am thinking particularly of Python vs C++....
4
by: Vinay | last post by:
Hello My question is regarding "weak external symbols". Consider the following eg. class test { public : int func1(void); {cout <<"func1";} int func2(void);
3
by: memememe | last post by:
I see weak reference on the .net api, but I do not see soft or phantom, are they supported on .net?
7
by: Derrick | last post by:
I'm loading a boatload of data into a DataSet. The memory usage grows and grows for the app while loading that data. Calling GC.Collect() reduces the consumption slightly. When I minimize the...
2
by: Matthew Herrmann | last post by:
Hi, I've heard from groups that listeners to event handlers cause references to be kept alive, if the targets are marked to stay alive. I need to make sure that attaching events to objects will...
9
by: Neelesh Bodas | last post by:
Hi all, does C++ give a way to declare a specific symbol as a "weak symbol"? In 'C', one can use #pragma directive. Is this still a legal way in C++ ? Is there a (better?) alternative?
3
by: John Nagle | last post by:
Are weak refs slower than strong refs? I've been considering making the "parent" links in BeautifulSoup into weak refs, so the trees will release immediately when they're no longer needed. In...
1
by: Henri.Chinasque | last post by:
Hi all, I've been considering that my objects should subscribe to an event via a weak reference, however I've found several warnings that this approach comes with concurrency considerations,...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.