Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Programming Software Linux IT Technology

Creating .NET C# Applications for Linux 340

An anonymous reader wrote to mention an article on the IBM site entitled Mono brings .Net Apps to Linux. From the article: "Mono gives open source developers the programming power and flexibility to build applications for Linux while maintaining cross-platform capabilities, using a variety of .NET-compatible languages. One of the great advantages of Mono for current .NET developers is providing an easier migration path to Linux. The Mono project has a very open and active development community and provides both developer tools and the infrastructure needed to run .NET client and server applications. Perhaps the most important benefit of using the Mono architecture is that you gain language independence. Mono lets you leverage any existing code from languages supported in the .NET runtime. "
This discussion has been archived. No new comments can be posted.

Creating .NET C# Applications for Linux

Comments Filter:
  • by SamSeaborn ( 724276 ) on Friday October 07, 2005 @05:59PM (#13743050)
    Linux programmers will use .NET/C# but they won't use Java?? What's up with that?

    Sam

  • by jarich ( 733129 ) on Friday October 07, 2005 @06:00PM (#13743061) Homepage Journal
    Wouldn't it be funny if .Net (with Mono) actually delivered on the promise of Java? That is to say, bringing software to the Linux platform from traditional MS developers?

    Given that Java was a new language, maybe the migration from MS developers wasn't all that great... but now, with Mono, MS developers can move right over.

  • by mysqlrocks ( 783488 ) on Friday October 07, 2005 @06:06PM (#13743095) Homepage Journal
    Linux programmers will use .NET/C# but they won't use Java?? What's up with that?

    Yea, that is pretty strange. I would use Java before I'd use .NET. It's much more cross-platform then .NET is or ever will be even with Mono. Also, they mention that an "advantage" of .NET is being able to write in more than one language. Technically speaking this is true. However, practically speaking the two choices are VB.NET and C#. VB.NET was seriously overhauled from VB6 to make it more compatible with .NET thus losing a lot of it's "roots". I'm certainly not suggesting that VB6 should have stuck around. I'm stuck building stuff in VB6 at work right now and it's not pleasant. I'd jump to VB.NET in a heart-beat. However, I'd much prefer C# which I think is really the only viable language for .NET. Anyways, I'm not a big fan of either. Like I said before, I'd use Java before I'd use .NET (if it were my choice).
  • Here we go again (Score:4, Insightful)

    by Billly Gates ( 198444 ) on Friday October 07, 2005 @06:09PM (#13743113) Journal
    "maintaining cross-platform capabilities, using a variety of .NET-compatible languages." .. great! You can use Microsoft VC.NET, Microsoft C#.net, and Microsoft VB.net on any version of Microsoft windows. (Well recent)

    maintaining cross-platform capabilities, using a variety of .NET-compatible languages. One of the great advantages of .NET is providing an easier migration path to Linux .. " Is the poster on crack? He might as well say " .. using a variety of MFC based languages makes targetting to Unix easy.

    Why do people even bother with Mono? I know I am going to be modded as a troll but I have yet to see a single app besides a hello world being cross platform? I think the developers looking at C# and Mono in a greater light than Java are ignoring the patent and copyright issues just because C# looks cooler. Thats pretty short sighted.

    C# would be the lowest ranked languaged behind visual basic if you want to avoid vender lock in.

    What will happen when C# 2.0 comes out? My guess is Linux will be playing catchup again and meanwhile windows will look like a better alternative to businesses standardizing on C# because their geeks mentioned how great Mono is.

  • by Anonymous Coward on Friday October 07, 2005 @06:10PM (#13743125)
    C# and the core parts of .NET are open standards, whereas Java is not. While true that some parts of Microsoft's implementation are not covered by the standard, the standard covers everything that's needed for anyone with the talent to create an implementation of core .NET and leverage most of the benefits. That in itself won't give you compatibility with Microsoft applications, but it you're more interested in the better technology than in compatibility with a corporations products, then Mono (at least the core parts) is the way to go, and you lose nothing by not going to Java.
  • Why bother? (Score:5, Insightful)

    by Decaff ( 42676 ) on Friday October 07, 2005 @06:16PM (#13743158)
    With Java you now have a complete implementation of all language APIs on Windows, Linux, Solaris, HP and so on, not an incomplete port of .NET (Mono) potentially subject to Microsoft patents.

    If the Apache Harmony projects succeeds (and it has a lot of backing) there will be a complete open source cross-platform Java implementation. There are already open-source Java versions that are good enough for many applications (gcj, Kaffe).

    Mono is a waste of time.
  • by psavo ( 162634 ) <psavo@iki.fi> on Friday October 07, 2005 @06:26PM (#13743209) Homepage

    Linux programmers will use .NET/C# but they won't use Java?? What's up with that?

    I can apt-get install mono, but Sun told me to go fuck myself with a chainsaw when I wanted a .deb of Java1.5. (Yes, there is java-package, which does a great job, but really, it's a fucking mess).

  • by Decaff ( 42676 ) on Friday October 07, 2005 @06:28PM (#13743223)
    C# and the core parts of .NET are open standards, whereas Java is not

    This means nothing. These parts are still subject to patents. Sun is prepared to certify any Java implementation as 'Java' providing it passes their compatibility tests. They have even done this for clean-room implementations by rival companies like HP.

    That in itself won't give you compatibility with Microsoft applications

    Whereas Java gives you a definite guarantee of compatibility.

    and you lose nothing by not going to Java.

    Except performance, reliability, being able to use quality products from multiple vendors such as Sun, HP, IBM etc, and using the language which is now the de-facto standard for commercial server-side software development.
  • by Anonymous Coward on Friday October 07, 2005 @06:31PM (#13743233)
    I used Java and at the moment I'm doing C# .NET. I have to say I had a lot of pleasure at that time programming in Java (as long as I didn't have to do any Swing or AWT). But I like C# much more. It is a little more close the Delphi (probably the only thing wrong with Delphi is the Pascal syntax, don't tell me about C++ Builder, that was one big disaster...).

    I think Delph did a very good job of the GUI. .NET is much nicer and easier than Java's Swing, but it still isn't as great as Borland made VCL for Delphi.

    I think the interoperability between VB.NET and C# is a good thing, it isn't 100%, but in most cases you're able to write one thing in one language and an other thing in other language, without really getting in trouble. (Two problems: One is overloaded functions in C# vs Default Parameters in VB.NET, the other is the static nature of structures in VB vs everything is an Object in C#.)...

  • by t35t0r ( 751958 ) on Friday October 07, 2005 @06:32PM (#13743237)
    Why does Mono show up so many times on slashdot? [google.com]

    Why use Mono/.NET when you have ruby, perl, php, and python? All of which are cross platform? As far as only being able to give binary code to your customers ActiveState's Perl Dev Kit allows you to do just this (even though it's not free, but still less expensive than a license for Visual Studio .NET). I'm sure someone has written a decompiler for PDK binaries but the same thing could be done for .NET applications.

    But honestly can someone who has done development in Mono and and the other aforementioned languages convince me or anyone else for that matter to learn C#/Visual Basic.NET, and enjoy what it has to offer? What does it offer that the other aforementioned languages do not?
  • but it's non-free (Score:5, Insightful)

    by themusicgod1 ( 241799 ) <.jeffrey.cliff. .at. .gmail.com.> on Friday October 07, 2005 @06:40PM (#13743292) Homepage Journal
    details [debian.org]. I will not use java, for anything, so long as licenses like theirs are forced upon it. With java, you are always a second class citizen.
  • by Omega1045 ( 584264 ) on Friday October 07, 2005 @06:44PM (#13743318)
    I am sorry that you have not taken the time to really look at .NET. Your statement that you would put it behind VB really shows your ignorance of the platform.

    For Windows development, C# and .NET far exceeed anything I have experienced with Java or VB (I get around). I guess I really have a disrespect for Java as 1.0 really sucked hard. The eventing model was worthless, and AWT is just plain out stupid. Hate would be the word I would use to describe how I felt about Java's idiotic way of doing things circa 1998. I have writen stuff on 1.1 and 2.0 since then, but it just seems like it so sooooo friggen slow. We are not talking about a stereotype here. Java, in my experience, is ass slow. On Windows (if that is all you care about) .NET is soooo much better. And nicer. You have to admit that Visual Studio, while it has its own variety of suck, is nominally better than just about any Java IDE out there. And I have tried a lot of them.

    As far as running on Linux, we don't really care as we know that none of our clients give a crap about Linux on the desktop. Hell, they would have to port 20 other apps over to Linux first! And as far as server tasks go, all the server dlls I have right now run on Mono on Linux. The strugle for us has been getting the latest/greatest in Mono to compile on AIX.

    So, I would be willing to listen to your argument if you were more informed with more experience in the subject.

  • It's the tools (Score:3, Insightful)

    by somerandomstring ( 882953 ) on Friday October 07, 2005 @06:45PM (#13743336)
    Why Mono? The answer is extremely clear: outstanding tools.

    Microsoft has some of the best development tools around, and the best of their stuff targets .Net. That being the case, and seeing that windows developers largely use MS tools, it stands to reason they'd find targeting Linux via Mono the path of least resistance.
  • by MooCows ( 718367 ) on Friday October 07, 2005 @07:11PM (#13743479)
    "great! You can use Microsoft VC.NET, Microsoft C#.net, and Microsoft VB.net on any version of Microsoft windows. (Well recent)"

    Right [gotdotnet.com].. of course not all of these are completed, but still. There are also some implementations not listed there like IronPython.
    Or you can install Mono or Portable.Net on Windows and compile without resorting to Microsoft tools. The resulting application will run just fine using the MS runtime or any other runtime on any other platform. (As long as you have the libraries you need on every platform.)

    IMHO: .Net isn't perfect, but isn't fundamentally broken either. Unless of course you don't want to touch anything having to do with Microsoft, ever. That's fine, understandable even. Just check facts before flaming their software. ;)
    Also, so now we have .Net as an alternative to Java. I thought more choice and competition was good?

    About vendor lock in. In practice there is no lock in, as stated above C# and .Net applications are already quite compatible with non-Win32 platforms. Patent and copyright issues? Well C# is pretty safe, MS might somehow claim to 'own' the CLR standard .. but I think that would be highly unlikely. (And even more unlikely to succeed.)
  • by Mr2001 ( 90979 ) on Friday October 07, 2005 @07:13PM (#13743501) Homepage Journal
    Why use Mono/.NET when you have ruby, perl, php, and python? All of which are cross platform?

    Why use C++ when you have JavaScript? Why use Haskell when you have BASH? They're apples and oranges.

    As far as only being able to give binary code to your customers ActiveState's Perl Dev Kit allows you to do just this (even though it's not free, but still less expensive than a license for Visual Studio .NET). I'm sure someone has written a decompiler for PDK binaries but the same thing could be done for .NET applications.

    Actually, you can pre-compile .NET/Mono apps with a tool called ngen, which translates the IL code to native machine code to reduce startup time and make it harder to decompile.
  • by Trepalium ( 109107 ) on Friday October 07, 2005 @07:19PM (#13743533)
    Or how about the fact you actually have UNSIGNED integer types in C#/.NET. I don't care how much James Gosling says that unsigned/signed types cause confusion, they're a reality of dealing with data on computers. The moment you have to force Java to interoperate with some "legacy" (read: non-Java) infrastructure, you're stuck with hacks and nasty ones at that.

    Other useful parts of C#/.NET include delegates, enums, automatic boxing of value types, properties, indexers, multidimensional arrays (as opposed to jagged ones) and foreach (for simple iteration through arrays or other indexed/enumerable objects). Hopefully the Java language designers will take notice and adapt some of these incredibly useful features to Java. Microsoft took so much from the Java language design that it should only be fair for Java to do the same to Microsoft's product.

  • by LnxAddct ( 679316 ) <sgk25@drexel.edu> on Friday October 07, 2005 @07:27PM (#13743577)
    Err... I don't know what industry you're in, but the standard in Pharmaceuticals, Energy & Utils, and Defense is Java. Those are just the 3 largest industries off the top of my head. Java is *fast*, extremely fast, I've written Java code that runs fast than C++. With JIT, speed is not a problem. The only reason Java has a somewhat bad name is because of Swing, but if you understand the extreme extensibility of Swing, it makes sense. If you want Java apps that feel fast, just use SWT or GTK's java bindings. Slashdot's groupthink often criticizes Java, but as of about a year ago there were 7 to 8 times as many jobs available for java developers. I feel bad for the students that might read slashdot and be turned off by Java, its only going to limit their options when they graduate. Java is a good thing, it is worth learning. Adding on to this... the GNU GCJ can compile around 90-95% of Java programs including Eclipse and OpenOffice.Org, it also handles JOGL and iirc Java3D. If you don't like the idea of a JVM, just compile it natively. I code in Java at work, at home I often prefer Python (but its always for smaller projects). Java is horrendous for throwing anything together that is less than 1000 lines or so of code. Java's syntax and naming conventions were designed with large teams on large projects in mind, and writing code where people would be coming back 7 years later never even knowning who wrote it or what it did. It does that very well. It may take a few extra keystrokes to type, and it may not be a one liner like in perl but it is designed so that just about anyone (Novice or Pro) can read through it and realize what is happening step by step. I could go on but I'm probably only going to get flamed.
    Regards,
    Steve
  • Agreed... (Score:5, Insightful)

    by Burz ( 138833 ) on Friday October 07, 2005 @07:42PM (#13743674) Homepage Journal
    Mono will always be on the fringes of acceptance like WINE... Never quite compatible and necessitating that you keep returning to Windows at least semi-frequently for that last bit of missing compatability.

    No thanks.

    Oh and MonoDevelop vs Visual Studio? Don't make me laugh. Well maybe one could run VS under WINE to get a decent IDE.
  • by Weaselmancer ( 533834 ) on Friday October 07, 2005 @07:55PM (#13743740)

    Sure they'll do it.

    ...to pad their resume. Read the classifieds lately? There's a lotta .NET jobs out there. It's nice to learn .NET without having to boot "that other OS", y'know.

  • by barryfandango ( 627554 ) on Friday October 07, 2005 @07:58PM (#13743769)

    Why does Mono show up so many times on slashdot?

    • Mono is a large, free and open-source software project.
    • It's run by Miguel de Icaza, also responsible for KDE, a well-known personality in the open source world.
    • It implements an open platform that allows us to use Microsoft-created technology on Linux and there is much debate as to whether it faces legal trouble in the future.

    So, why would mono show up often on a discussion site about the world of open source software, linux, and politics? Can you see no reason we might like to discuss this?

    In addition - ruby, perl, php and python are all interpreted languages while C# is compiled to bytecode. Java would be a much better question. Personally, I develop in C# for microsoft platforms. The idea that I could install a linux distro and start coding in my favourite language might very well tempt me into doing so.

  • by cortana ( 588495 ) <sam@robots[ ]g.uk ['.or' in gap]> on Friday October 07, 2005 @09:18PM (#13744192) Homepage
    Why do people even bother with Mono?
    I don't give a crap about whether Mono allows me to run shitty Windows-centric apps on my system. I bother with Mono because it makes it easy to rapidly develop and deploy programs for the linux desktop. Mono is a good enough product in its own right.

    The excellent java-gnome [sourceforge.net] project is the Java equivalent of GTK#/GNOME#, but I don't see nearly as many programs being developed for it. In fact, a quick apt-cache rdepends reveals that there are precicely zero applications using libgtk-java in Debian, whereas libgtk-cil is used by projects such as tomboy, graphmonkey, gnunit, beagle and blam. There are also a load of programs that have not yet been packaged; assuming that the same proportion of GTK# and java-gnome apps have been packaged, it seems that there is a lot more developer interest--buzz--around Mono than there is around Java. Mono-based programs are certainly mentioned more often (read: at all) on the feeds I read than Java-based ones; and how many "Creating Java applications for Linux" articles have been posted to Slashdot recently?

    So why is this? I recon it's simply down to how easy it is to get started using the platforms in question. Say I want to run Beagle [gnome.org]--I apt-get install beagle. Now let's say I want to run the hypothetical jeagle. I have to navigate, with a graphical browser no less, Sun's gargantuan site; agree to a huge, no-doubt soul-selling bullshit EULA; run Sun's crappy installer that shits untracked files all over my system... and I still can't apt-get install jeagle because Sun's crappy installer doesn't know about dpkg. As a Debian user who actually knows what he is doing, I can use java-package [debian.org] to convert Sun's crap installer into a .deb that halfway complies with Debian poilicy, but by making me go through this procedure Sun has basically killed my enthusiasm for working with this platform--there is no longer any buzz.

    "But Mono isn't made by Microsoft! It's not a fair comparison", you might say. To this I reply, I don't care! C# and Java are both nice, modern (perhaps I should say 'fashionable' to avoid being prodded by the Lispniks) languages that make software development fun and easy--but it is easier to get into C# because a platform that lets me use it is only an apt-get away.

    Now, perhaps Sun could turn this around by hiring a couple of Debian Developers to make some really high quality Debian packages of Java, and granting Debian permission to distribute them in non-free; but this only solves the problem for users of Debian and Debian-derived distributions. Sun would also have to find someone to create decent packages for Fedora, Mandriva, Suse, Slackware, whatever. But hold on a minute--Mono has people coming out of the walls to package it for their favourite distribution, so why should Sun have to put in extra effort to make this possible--and still be playing catch-up? It's because Mono has buzz! The openess, liberty and low barrier-to-entry have drawn developers to the Mono platform, while Java has languished under Sun's iron fist.

    In the end it's not about Java-the-language vs. C#; it's about the openess of the platforms: Java-the-closed/inaccessible platform vs the GPL'd Mono. Development of the components of an open source Java platform has been slow because Sun have already created a 'good enough' implementation of Java on GNU/Linux--but Mono has everything to to play for; the stakes are high, there are no grumpy old gits saying "Microsoft's GNU/Linux .NET implementation is good enough, Mono will never beat it", this is an exciting time when men are men, women are women, small furry creatures from Alpha Centuri are real small furry creatures... etc, etc.

    To summarise: Mono is exciting. Java is a pain in the ass.
  • by llefler ( 184847 ) on Friday October 07, 2005 @09:30PM (#13744263)
    One thing I really miss with C++ and Java is properties. What's with a language that will put all the work into a ternary operator so they don't have to type if/then/else, but insists on mutators and accessors because properties are syntactic sugar?

    And if you really want someone to understand the power of OOP, give them the VCL chart from Delphi or C++Builder to study for a while.
  • by bhav2007 ( 895955 ) <[moc.rr.notsuoh] [ta] [7002vahb]> on Friday October 07, 2005 @09:35PM (#13744290)
    Just because you can't change a language like c# without permission from a standards agency does not free it from the influence of Microsoft. If they changed the language, then they would have to tell you for you to write with it, wouldn't they? The language syntax is not the part of .Net which is proprietary, the framework is. Microsoft is in complete control of all of their classes, namespaces, etc. They can change the setup, or expand it, and any time. More importantly, they have never and will never implement this framework themselves. In my opinion, trying to implement .Net as a cross platform language is like trying to dig with a spoon. Microsoft has never been known for it's elegant (or even competent) designs. Compare any part of the .Net framework with a better implementation, like Java, and it is clear that once again Microsoft has made something which is needlessly over-complicated, inflexible, and just designed badly. I feel more sorry for the poor fools who are trying to copy Microsofts implementation than those who are dumb enough to choose it for cross platform development over better alternatives. In my opinion, of course, speaking as someone who has spent a few years working with ASP .Net.
  • by thomas.mcmahon ( 914521 ) on Friday October 07, 2005 @10:28PM (#13744526)
    Who cares about portability when mono is being used to make really sweet apps for gnome. I don't care about whether these programs run on Windows, I'm just happy they run on Gnome now. Examples of sweet mono apps for gnome Beagle, F-Spot (My personal favourite), Muine, iFolder. So what does it matter that Java is more portable than C#/Mono if mono means sweet apps for Linux now?
  • by kupci ( 642531 ) on Saturday October 08, 2005 @12:26AM (#13744950)
    You wanna run your .NET Windows Forms app on Linux you say? easy

    Seriously, you've just summed up the whole 'bait and switch' flaw with mono.

  • by sinserve ( 455889 ) on Saturday October 08, 2005 @02:36AM (#13745331)
    FLTK2, thank me later.

  • by earache ( 110979 ) on Saturday October 08, 2005 @04:09AM (#13745532) Homepage
    This is such a troll.

    You make no sense. There is not one valid reason why Microsoft would not want this project to exist. Someone is expanding their market reach for them, for free. What they lose in any kind of sales is more than made up for in mindshare.

    Sure they could pull the plug, and, sure, Mono is always going to be playing catch up; but it defies logic that Microsoft would radically mess up the framework for the sole purpose of screwing an open source project. Believe it or not, Microsoft is responsible to their developers. They do listen. To radically alter the framework for no apparent reason would just be idiocy beyond compare. If you've never participated in a beta cycle for Microsoft development tools then you would understand how well that responsibility is played out. Anyone can participate in these cycles and the responsiveness of the different teams working on the tools is impressive and commendable.

    For Microsoft to harm Mono in any way would harm their own customers, and what company wants to hurt the customers that generate the need for their OS? I think there is a reason that CrossOver office exists beyond simply being compatible with the outside world for document exchange. It's because linux applications are still playing catch up to Windows applications. Gimp still trails Photoshop for professional grade imaging work. Evolution is still trying to play feature tag with Outlook. OpenOffice is still trying to equal Excel, Word, etc. That is not to say any of these efforts don't outclass the Microsoft products in some regards, because they most certainly do. I merely point this out to be an example of where Microsoft's commitment to their developers touches their economics. For the first time, we're seeing free tools for .NET development that are actually useful. I think this will continue with lower licensing costs.

    As for the rest of your comments, I'm going to chalk those up to zealotry, closeted or not and simply being ignorant of what good design really is. And just because you spent a few years with ASP.NET doesn't mean you are at all competent.

    And though I may sound like a Microsoft bigot, I am not. There is no fiscal or professional gain in being religious about toolsets. The more tools in that box, the more shit you can fix, and the fatter you can make the wallet. While I mostly do .NET consulting now, I still do PHP projects and, every once in a blue moon, a java project. Sure, sometimes I think about how one feature of another language might make a certain chunk of my work go faster, you also need to balance your concentration towards those things about the tool you are working with that are appreciable. I appreciate how quickly I can bang out a PHP site. I appreciate the massive library support and open source tools for Java. I appreciate C#, the .NET framework and Microsoft's dedication to their developers. If you can't do that than you are severely limiting your brain and your bank account.

    Also, consider this: If Sun hadn't taken it to the extreme, there would be no .NET. Had they looked for an agreement, instead of seeking injunction, what a better picture for them that would have been than the picture we are looking at now.

    Anyways, nice troll.

  • by Anonymous Coward on Saturday October 08, 2005 @05:19AM (#13745664)
    Argument In Brief

    1. Microsoft's C#/CLI licensing people, at high levels, are aware of us.
    2. Microsoft can choose to do damaging things in the current C#/CLI licensing ambiguity.
    3. Microsoft considers the free software / Linux community to be a major competitive threat
    4. Microsoft does not "compete" gently
    5. A + B + C + D = ?

    The word pile amassed below defends points (1) and, in particular, (2). I take points (3) and (4) as given. I leave point (5) an exercise for the reader. ;-)

    Stupid Disclaimer

    Since I'm not a lawyer, I don't know if these disclaimers are important. But given the nature of the topic, I'll play it safe and write one. I'm not a lawyer, and this ain't legal advice, its just a dump my current thinking on an issue. It does not represent my employer's opinion. It may represent my cat's opinion, but only on the second tuesday of summer months.
    Restatement of the Issue

    Miguel has repeatedly stated that the patents necessary to implement the standards ECMA-334 (C#) and ECMA-335 (CLI) are available from Microsoft "RAND + Royalty Free". This seems like an effective open patent grant and encouraged me initially that we could do Mono. I really like Mono. Its terrific technically, and I'd love to be able to use it. But two problems upon further consideration the past couple months:

    1. I've not seen an official statement by Microsoft that will let me trust the royalty free assertion. I think we are remiss if we do not assume Microsoft is looking for ways to, quite frankly, screw us. So unless there is a statement from Microsoft that they will have to stick to in a court, I feel (at the very least) uncomfortable.
    2. "RAND + royalty free", can still seriously screw Free Software. I think this is more important than the first point. Even with RAND + royalty free you still have to execute a license agreement with Microsoft, and license agreements can stipulate things that are RAND from a corporation perspective but still screw over Free Software. Also, there is evidence that key Microsoft people are already aware of (or planned?) incompatibilities between the licensing scheme for C#/CLI and, at least, the GPL. The eye of Sauron is upon us. RAND + royalty free is very different from a patent grant.

    In short, we are in an adversarial situation. Microsoft does not want us to succeed. Thus we cannot trust Microsoft, even if we'd like to, and must consider Mono based upon the question "What is the worst thing MS can reasonably do?". We can only trust Mono if we are convinced Microsoft doesn't have weasel room. The current situation appears, to me, to have lots of weasel room. The technical merits of Mono are basically irrelevant if its a trojan horse in the long term.
    The Horror Story

    So here's the obligatory horror story based upon what I see as our current course. Actually, I don't think this is taken to extremes at all. The GNOME actions look to me like the path we are currently on, and the Microsoft actions are not out of character, and look legally tenable based on what I know today. Microsoft can choose to not exercise these actions, but they will have the possibility (and will be more likely to the more successful the Linux desktop is).

    * Act 1 - Novell hackers continue to push Mono. Novell hackers code most new independent programs/functionality in Mono and gradually start writing extensions to software like Evolution in Mono. Evolution's core continues to remain Mono free, but if you want features X, Y, and Z you have to use Mono. A few GNOME hackers write apps in Mono, some as toys, and perhaps a couple more serious. Red Hat hackers complain. Some try to weakly push Java and some stick with working in C & Python. Sun makes noise, and does their own thing, starts some wacky projects, tries to push Java with OpenOffice.org, and
  • by Jamie Lokier ( 104820 ) on Saturday October 08, 2005 @08:03PM (#13748480) Homepage
    Curiously, I don't give a shit about Beagle and Tomboy. But your and my personal application interests aren't relevant. The point stands: Because Mono is (currently) a useful but incomplete implementation of .NET - because it's missing a widely used component - it's perfectly sensible to compare it with open source implementations of Java which are also useful but missing some components.
  • by lmoroney ( 886945 ) on Monday October 10, 2005 @01:15AM (#13754482)
    Linux programmers aren't Java programmers, that's why. Java programmers aren't bound to any O/S! :) Ditto for Mono programmers. But seriously, in any discussion we need to segragage the language, from the class libarary framework, from the runtime platform from the operating system. Java, C#, VB.NET etc. are languages, which are largely similar. Some developers love features of one of these over the other. .NET Framework, Mono, J2x# etc. are class library frameworks which are all extremely useful in their own rights and limited in their own ways. CLR, Mono Runtime, JVM, J2EE app server etc. are the runtime platforms Windows, Linux, Solaris etc. are the OS. So, a Linux programmer, namely one whose job it is to write Linux programs is more likely to write in a language that is suited for Linux, say 'C', or if they prefer to move up the stack, and write it to run on a linux compatible runtime like JVM or Mono, then they'll be bound to the language and frameworks for that runtime, right? Bottom line: There are choices -- plenty of choices, and that's a good thing. Finally -- there is an alternative, that allows you to unify the stack at the framework level down, giving you the most flexible choice -- and that is from Mainsoft (disclosure: I love their product so much I applied to work for them, and they accepted) -- and called Visual MainWin for J2EE with a developer edition called Grasshopper. What does it do? Allow you to virtualize all of this by unifying the .NET and Java stack through Mono. You can use VS.NET to code in .NET, compile to Java and run on Linux. It's a beautiful thing....

The use of money is all the advantage there is to having money. -- B. Franklin

Working...