Regarding programming as a job (35)

25 Name: #!/usr/bin/anonymous : 2008-10-25 01:52 ID:YuDmwhaQ

>Dot.Net doesn't have it

.Net does have it to a degree. In 2.0 90 Types and 1145 type members are marked obsolete, but are left in for the sake of compatibility. But they don't sacrifice correctly implementing features for the sake of backwards compatibility.

And why should they? .Net is forward compatible. Old bytecode runs on news versions of the framework. Multiple framework versions can live side by side. Its possible to have multiple Java versions installed, but you have to choose which version you run (not something reasonable for users are gonna do).

>look at all the sites that got broke just between .NET2.0 -> .NET2.0SP2

I tried but couldn't find anything about that. .Net 2.0 sp2 is very new. Did they have problems with the beta?

And why the fuck is MS still supporting older versions? Think about that.

>Don't you fucking dare try to downplay the value of backwards compatibility. Don't even insinuate that .NET has anything remotely like it. It's insulting to my intelligence, and frankly it's insulting to yours as well.

OK buddy. Why should by .Net 2.0 code run on the .Net 1.1 CLR? Why are there Java apps that require a minimum Java version just like .Net?

>The real factors are whether having that breakage occasionally - or even perhaps rarely (it's only happened twice to me, and only once on .NET with a minor version change)-

I am curious as to what the details of that are.

>is worth it in order to gain things like tight integration with generics.

I say yes. .Net 2.0, 3.0 and 3.5 all run on the same CLR. The difference is in the libraries. 3.5 SP1 has a modified CLR to improve performance but doesn't include any version breaking changes as far as I am aware.

The biggest 2.0 break was generics and the implementation is better than Java and C++ (templates). C++ templates are type unsafe macros. Java erases the generic type and has to add extra instructions to work with any given type.

In .Net reference type generic methods load the code for them once in memory and all instances share that same code. They can because these instructions work equally well on all instances for all types of the method. The data of the generic type is then held in a special variable table that identifies their type.

>Resolved/hidden. Java6's generics aren't bad. They're not great, but they're not bad, and they handle most of the common cases pretty well.

Generics in any language are a great coding convention and I agree their implementation in the Java language is fine. But in .Net (and to some extent C++) you get great performance. Java sacrifices performance for a good coding convention in their implementation.

>In reality, .NET and Java aren't all that different to a Windows desktop or Windows server developer.

I agree from that point of view.

>a Linux developer

From what I have read from the Linux community is that Mono is hated by the majority just for being "Microsoft." Its hilarious that battle Ubuntu users are having trying to get Paint.Net to replace the GIMP as the default image manipulation program or even added to the standard repositories. Paint.Net is better for the average user, but its hated for being too "Microsoft."

> a CF developer, and so on. Dot.Net won't ever get into these markets doing things the way they're doing it.

Well I think that's because Adobe keeps trying to head them off at the pass by integrating Java and .Net in to CF.

This thread has been closed. You cannot post in this thread any longer.