ATTENTION: You are viewing a page formatted for mobile devices; to view the full web page, click HERE.

Other Software > Announce Your Software/Service/Product

dot Net complaints

<< < (5/7) > >>

f0dder:
The compacting is done to the CLR heap to remove memory fragmentation - doesn't necessarily mean the amount of win32 memory allocated for the CLR heap changes in any way.

kamahl:

* .NET doesn't get really interesting to program in before 3.0, which minimum OS requirement is XP-SP2. Some people are still using older OSes.-f0dder (October 24, 2010, 04:05 PM)
--- End quote ---

That sentence is 99% correct.
However, Mono comes to the rescue.  My windows 98 box (Windows 98SE, 256MB ram) is running several programs that equire .NET 3.0+. :D

I do have my own list of issues with .NET, but they are more about the C# language specifically:

* System.Windows.Forms:  Why came up with the idea that data (Listboxes specifically [They're wonderful things, all things considered]) should be kept on the control, and not in a database somewhere.  And not only that,  said data is in a read-only collection.
* Most Collections have no .sort() method.
* The Following code snippet

--- ---public static void SortListView(ListView lv, int column)
{
  SortedList<int,ListViewItem> slist = new SortedList<int, ListViewItem>();
  foreach (ListViewItem i in lv.Items)
    slist.Add(int.Parse(i.SubItems[column].Text), i);
  lv.Items.Clear();
  foreach (ListViewItem i in slist.Values)
    lv.Items.Add(i);
}

That's the easiest way to sort a listview, and even then, it's assuming the column contains an int.  (The application it's used in has all but the first column as ints, and I hardcoded a check appropriate to that.  The alternative was to pad the 'int's to three figures to keep it from going out of order.

f0dder:
That sentence is 99% correct.
However, Mono comes to the rescue.  My windows 98 box (Windows 98SE, 256MB ram) is running several programs that equire .NET 3.0+. :D-kamahl (November 02, 2010, 09:14 PM)
--- End quote ---
Mono is a decent project, but it doesn't have WPF support - that's a big showstopper IMHO.

I do have my own list of issues with .NET, but they are more about the C# language specifically:

* System.Windows.Forms:  Why came up with the idea that data (Listboxes specifically [They're wonderful things, all things considered]) should be kept on the control, and not in a database somewhere.  And not only that,  said data is in a read-only collection.
* Most Collections have no .sort() method.
* The Following code snippet-kamahl (November 02, 2010, 09:14 PM)
--- End quote ---
The first two items on your list are .NET framework, not C#, issues :)

I don't get your item #1 - nobody (in their right mind) keeps their data in user interface controls... keep it in your model-layer objects, manage lifetime with a persistance layer, and present the objects in the GUI layer (you can use databinding, or you can shuffle values back and forth manually - your choice).

#2 - not all collections can be sorted efficiently, so it's best not adding the method where it doesn't make sense.

#3 - ugh. You're approaching things wrongly :) - exactly how to do things right depend on whole bunch of things, though. But in general, you'll want to bind your controls to objects (as opposed to string/int/whatever representations of individual properties) and use proper sorting: check out IComparable<T> and IComparer<T> interfaces. There's several ways to handle sorting, and there's more to it than just the sorting itself... for instance, it's often better practice to not sort your object data directly, but bind the GUI element to a filter/sort adapter that constructs the binding collection from it's source collection.

mouser:
One of the real pains of distributing a dot net application seems to be worrying about and figuring out ways to deal with the situation where a required edition of the dot net clr isnt installed.

And one of the things that absolutely infuriates and confounds me is why MS did such a horrible job of helping the user to understand the problem when a dot net program runs and can't find the dot net clr runtime libraries installed.  They couldn't find a nice way to instruct the user that they need to install them?  And why didn't they write standard functions/utilities to check if the needed runtimes are installed and send user to a nice clean simple url for lay people to read about and download the proper runtimes needed.

It just boggles my mind that in designing a next generation language framework like this they couldn't have put more time into making a smoother process out of helping users figure out they need to install the runtimes and how to do it.

f0dder:
Amen to that, mouser - the error message you get when you don't have the correct .NET framework installed is less than helpful! I don't think it would be too hard writing a little wrapper program that reads your main program assembly (or a configuration file or whatever); a quick-and-dirty test shows that Paint.NET launches even if I rename it's executable to "flafgiraf_PaintDotNet.exe.quox" :)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version