Mono 2.0 and .NET On Linux 405
Several readers noted the release of Mono 2.0, which is compatible with Microsoft's .NET Framework 2.0. According to Miguel de Icaza, "... users can move over server applications built for .NET and client applications built with Windows Forms." InternetNews points out that only about half of the .NET apps out there will work on Mono 2.0, for a variety of reasons including (but not limited to) legacy Windows-only libraries and Microsoft's progress on .NET 3.0 and 3.5 APIs.
Re:Oh just go away (Score:4, Informative)
Re:The real .NET (Score:5, Informative)
Download winetricks [winehq.org] then run:
sh winetricks dotnet11 dotnet20
Bingo. .NET under wine.
.NET break too much (Score:2, Informative)
"InternetNews points out that only about half of the .NET apps out there will work on Mono 2.0"
On my Windows XP computer half the .NET applications break anyway.
Re:Oh just go away (Score:2, Informative)
Re:Oh just go away (Score:4, Informative)
well, it snot that decent a little language. Its a MS port of Java with extra bits added mainly in the realm of the GUI and interop with legacy COM and Win32.
They have added extra features that are cool, like LINQ, but I feel they'll be heavily misused over the coming years. They've also adding features like extension functions which will make scripting languages look like statically strong-typed languages compared to C# as time goes by.
Its also pretty complex for a little language, I'm seeing a lot of people complaining on the web about how they're using up all their memory followed by little tutorials on Dispose and releasing objects so they actually get disconnected and then freed by the GC.
I think if it wasn't for curly braces, and the .NET class library, hardly anyone would be using it. Imagine if MS only released VB.NET, you wouldn't use it, the classic VB crowd wouldn't use it, but its practically the same language as C#.
BTW. C#2 is a standard, C#3 is not. MS has promised to submit it, but they havn't yet.
Re:Oh just go away (Score:2, Informative)
Mono started as a way for
Re:Oh just go away (Score:3, Informative)
Comparing Visual Studio to something like Eclipse isn't exactly a fair comparison, since Visual Studio doesn't do cross platform, at all. For anyone who doesn't live, eat and breathe Microsoft products, this is a bit of a problem. Monodevelop [monodevelop.org] is currently the only almost equivalent for doing .NET work in a cross platform visual way....
That being said, if you're doing heavy duty development work and don't use Windows, Eclipse is a much better environment than Monodevelop, so it's pretty safe to say that Java development on non-Windows systems is easier than .NET development. If you don't use Windows.
Strawman (Score:1, Informative)
Wine is to Windows as Mono is to .NET is right, but that's not what goose was on about.
Wine is the opposite of .NET.
If you write **for** MONO it should work on windows.
If you write **for** .NET, it probably won't work on Linux.
If you write **for** Wine, it should work on Windows.
If you write **for** Windows, it probably won't.
Note: MONO is the odd one out. There's no analogue in the "lock in/ unlock" stakes that WINE has for MONO.
Except patent pledges and license restrictions. Of which Novell say there are none but haven't said so in binding statements.
Re:I like Mono, but... (Score:5, Informative)
Mythbuster alert!
http://www.smallestdotnet.com/ [smallestdotnet.com]
(thou I love mono,
Re:I like Mono, but... (Score:0, Informative)
How did this get scored a 4?
That's entirely unsubstantiated claim (yes I realize this is /.). Care to provide a reference?
Re:I like Mono, but... (Score:3, Informative)
You aren't running them. They run on servers somewhere down the series of tubes, and your browser displays their output.
Re:C# wins over Java any day IMO. (Score:3, Informative)
You may be a master of C#, but you clearly know very little about Java - all objects are passed by reference in Java. Fundamental types like int, long, etc. are passed by value, and I understand this is the same in C#.
Re:Mod parent down, here's why (Score:3, Informative)
I'll clarify my sibling posters: the only part of .net that has ever been published as an (attempted) standard, is version 1.1.
All other versions are proprietary and MS-specific. Now, tell me, which .net applications use only 1.1? I'll give you a clue: the answer is somewhere above us.
Re:Oh just go away (Score:5, Informative)
Java used to provide lock-in, too. Hence, the GNU Classpath project, which is pretty much identical in its goals to Mono. Funny that I never saw you people screaming about that one being a trap.
The Java Trap was that you might get stuck on a language with no FOSS implementation and be reliant on a proprietary runtime. GNU Classpath and friends disarmed the trap by providing FOSS backends.
The Mono Trap is that you might get stuck on a platform encumbered by patents, so that even if you're coding on a 100% FOSS system, a court ruling granting an injunction against further release and development of Mono could yank the rug out from under you. Maybe that's no big deal for cute games or desktop applets, but there's no way on Earth I'd stake my business on a platform that may be nuked from orbit at any moment.
It's really quite obvious to anyone with any actual knowledge of how the industry works that people are going to write applications without Linux in mind.
It's equally obvious that Microsoft has never entered a relationship without destroying its partner. The naivety behind thinking that maybe they'll play nice this one time, for the first time in the history of their company, is simply astounding.
Re:Oh just go away (Score:3, Informative)
It's false logic, as demonstrated by the fact that people don't target Wine
Uhh... yeah they do. How do you think Google ported Picassa to Linux?
Re:I like Mono, but... (Score:3, Informative)
Get used to type erasure (Score:3, Informative)
Some features in C# such as generics can't be implemented as is to run on a standard JVM because the JVM doesn't have the capability to support it. .NET's CLR was designed to support generics at the byte code level. In Java, generics are implemented by the Java compiler that just hides the object casting from the programmer. The result is that the JVM doesn't really know what the types are at run time.