Become a fan of Slashdot on Facebook

 



Forgot your password?
typodupeerror
×

Mono Progress In the Past Year 441

Eugenia writes "OSNews posted an article accounting the applications created in GTK# the past 8 months, since the release of Mono 1.0. While many of them are still in their infancy, it's clear that the platform had a healthy progress, with 'super-hits' like Tomboy, F-spot, MonoDevelop, Muine & Blam! and other, less known gems, like SportsTracker, PolarViewer, MooTag, GFax, GIB, Sonance and Bluefunk. The 2.0 version of Mono is expected around May, but the developers advised distros and users to upgrade to Mono 1.1.4 despite being a beta."
This discussion has been archived. No new comments can be posted.

Mono Progress In the Past Year

Comments Filter:
  • Mono is Wonderful (Score:3, Interesting)

    by nberardi ( 199555 ) * on Tuesday February 22, 2005 @11:15AM (#11745170) Homepage
    Mono is a wonderful piece of reverse engineering, many of these apps I didn't even realize were Mono apps and I have been using them for a while now. In addition I found a couple that I am going to start using such as portage-sharp.

    Keep up the good work Mono team, I love C#, and I love how you are brining it to *nix.

    I fear the day when Microsoft will come and snatch this out from under the Mono team, but I really think this benifits Microsoft just as having an open source version of Java benifits Sun.
    • Re:Mono is Wonderful (Score:4, Interesting)

      by FidelCatsro ( 861135 ) <fidelcatsro@gmaDALIil.com minus painter> on Tuesday February 22, 2005 @11:23AM (#11745266) Journal
      http://yro.slashdot.org/article.pl?sid=05/02/22/13 10232&tid=109&tid=155 [slashdot.org]
      This is the reason(meaning many simmilar things M$ have done) I currently dont use mono for any production systems ,
      now this isnt totaly related , i do admit but the relationship is too close for comfort
      . i feel on unsteady ground using it , not that it would matter as im in the EU (unless those *Explitives* get their way) ,Though i would hate to think any project i was working on could have the rug pulled so firmly out from underneath it and stop some of my freinds in america being unable to use said project legaly on a linux system .
      Although i must also raise a glass to the mono team on an excelent job.
    • by m50d ( 797211 ) on Tuesday February 22, 2005 @11:25AM (#11745286) Homepage Journal
      It does benefit them. Hopefully when Sun sees all the devs switching it will finally open up Java. If not, good riddance - C# includes all the good bits anyway.
      • I dont see the benefit AT ALL. What happens when all of these JVMs start having different quirks? You then have to write your Java applications toward specific JVM (Wow... just like what everyone bitched at Microsoft for). Then what is the point?

        Java isnt closed in the sense that no one can get the code. Im not sure of the money you need (if any), but every JVM is well tested to make sure it does things in the way that Sun intended them to. That's what MAKES it a usable platform... and Im sure Sun really w
        • by FooBarWidget ( 556006 ) on Tuesday February 22, 2005 @01:18PM (#11746570)
          That's what certification and unit testing program are for. You only get the label "100% compatible JVM implementation" if you pass the test. Where's the problem?

          Even if Sun doesn't open their implementation, people will still create Java compilers. Take a look at the Kaffe and GCJ project. Why don't you complain about them "fragmentating" the Java community? If Sun open sources their JVM implementation, how will it suddenly generate more fragmentation than GCJ/Kaffe already do?
        • by labratuk ( 204918 )
          You and anyone who says "it's open enough" don't know what you're talking about. Without the freedom to fork, you don't have any freedoms at all.

          Without that freedom, you and all that code you & your team spent 18 months coding are sitting under the thumb of Sun. Sun can tell you which platforms you can migrate to in the future (unless of course you want to rewrite everything in something non-java). If it is against Sun's business interest to port / allow a port of java to architecture/os xyz, you're n
          • Re:Mono is Wonderful (Score:3, Interesting)

            by aled ( 228417 )
            # Python's been going for around 15 years. How many python standards are there to code to?
            # Perl's been going for longer. How many perl forks are there?
            # How may rubies?
            # How many phps are there?


            How many big industry names (Sun, MS, IBM, Oracle, etc) are wrestling around those like in Java? No one. There is no danger because there are no pressures to do so.

            All I can think of is your beloved java. MS, IBM, Sun, Kaffe, GCJ... Your strategy of keeping it closed to prevent incompatible versions doesn't seem
      • by pmike_bauer ( 763028 ) on Tuesday February 22, 2005 @12:13PM (#11745783)
        What are these good bits of which you speak? Or are we (yet again) confusing Java, the language, and Java, the platform? An argument can be made that the C# language learned and improved upon the Java language's experience. On the other hand, comparing the two platforms (i.e. runtimes and libraries) is a whole different bag. Granted, C# and .Net are possibly the best technologies to use if you are developing Windows applications. But, to assert that these are the best options in any other environment is simply ludicrous. Mono is in no way as mature, stable, feature rich (you name it) as the Java platform. Pray tell where is my Mono equivalent of Jakarta, Java3D, Maven, HotSpotVM, Tapestry, Eclipse, Netbeans, IntelliJ, yadatada? When you find them, then come back and tell me C# has "all the good bits." Mono may have the potential to become what Java is today, but its not there yet.

      • C# is an ECMA standard (which of course with generics et al Microsoft is breaking). This is NOT open, and certainly not in comparison to Java.

        The Java Community Process [jcp.org] go to the site and have a look at the "closed" and unchangable monstor that Sun has created. I mean its just scary to think that Java 6.0 [jcp.org] is ASKING FOR JOINERS, to input into the next standard.

        How would you become an ECMA member and propose changes to C# ?
    • by shird ( 566377 ) on Tuesday February 22, 2005 @11:34AM (#11745384) Homepage Journal
      Is it really reverse engineering? I mean the full spec for the CLR and various other things with .NET have been published for the very reason to create VMs such as Mono on different platforms.
    • by idlake ( 850372 ) on Tuesday February 22, 2005 @11:35AM (#11745396)
      Mono is a wonderful piece of reverse engineering

      There is no "reverse engineering" involved. These applications are written in C#, an open ECMA standard, and the open source Gtk+ toolkit.

      I fear the day when Microsoft will come and snatch this out from under the Mono team,

      There is nothing to "snatch": these are applications implemented in a non-Microsoft toolkit using an open language standard.

      I really think this benifits Microsoft

      I don't see how writing Gnome applications in C# benefits Microsoft any more than writing Gnome applications in C++ or Python.
      • I don't see how writing Gnome applications in C# benefits Microsoft any more than writing Gnome applications in C++ or Python.

        Those same applications will also run under Windows, which means people dont have to run a competitors OS to run the software. Plus, they can sell MS Office.NET to Linux users too, as it can run on Linux.
        • by idlake ( 850372 ) on Tuesday February 22, 2005 @11:46AM (#11745513)
          Those same applications will also run under Windows,

          These are not .NET applications, they are Gtk+ applications written in C#. As a result, they don't run on Windows or .NET out of the box.

          You can run them on Windows, but you can do that with lots of other Gnome and KDE apps as well.

          Plus, they can sell MS Office.NET to Linux users too, as it can run on Linux.

          I think this would be great for Linux. Unfortunately, Mono will likely never be compatible enough for that, and hell would freeze over before Microsoft would even contemplate such a thing.
        • Plus, they can sell MS Office.NET to Linux users too, as it can run on Linux.

          You might think they'd want that, but they really don't. The whole thing with Microsoft (especially Office and Windows) is how they can leverage one product to sell more of the other. For them to produce a MS Office.net version that would (legally) run on Linux would be a serious blow to their Windows sales in the corporate world.
      • by Patoski ( 121455 ) on Tuesday February 22, 2005 @11:54AM (#11745599) Homepage Journal
        I fear the day when Microsoft will come and snatch this out from under the Mono team,

        There is nothing to "snatch": these are applications implemented in a non-Microsoft toolkit using an open language standard.

        This isn't 100% accurate since there is also the issue of patents to consider. In order to implement some parts of the .NET standard there would be some "use" of MS patents (I'm talking about ASP.NET and ADO.NET in particular). MS has never said anything about letting people use these parts of .NET and could easily go after Mono over this issue. Even the Mono team acknowledges this as an issue [mono-project.com] but they promise they'll somehow code around the patent or they just won't implement parts of the standard. Certainly not an optimal solution.

        I don't see how writing Gnome applications in C# benefits Microsoft any more than writing Gnome applications in C++ or Python.

        MS gets to say that their solution (C#) is cross platform and usable on numerous platforms. In short, publicity.
        • It also has the benifit of allowing their products to be used on *nix in the future. If the Mono guys do a good enough job and Microsoft gets products such as Office and Excahnge running in .Net, with a combiniation of Mono and maybe a little help from Wine Exchange could run in .Net and that would be added income for Microsoft. Then from that point the next step from a Linux/Exchange combination is a Windows/Exchange combination. So it's win/win for Microsoft and they get the publicity.
      • by ultrabot ( 200914 ) on Tuesday February 22, 2005 @12:00PM (#11745648)
        There is nothing to "snatch": these are applications implemented in a non-Microsoft toolkit using an open language standard.

        The catch is that C# and CLR are not open standards - they are just ECMA standards. Apparently it was a brilliant move by MSFT because now people will automatically believe CLR is somehow "open". In fact, a while ago Novell was asking MSFT for a clear declaration that Mono does not infringe MSFT IP. Guess what, we never heard what happened with that.

        I don't see how writing Gnome applications in C# benefits Microsoft any more than writing Gnome applications in C++ or Python.

        It provides a hose that MSFT can step on to end the distribution of the appications. The more critical the app is for Desktop Linux, the better for MSFT. Hopefully the apps that are written in C# will stay small and architecturally open enough to be easily rewritten in another language should that happen. We should never become too dependent on Mono, or Java, or any other proprietary technology.
        • by beanlover ( 710167 ) on Tuesday February 22, 2005 @12:16PM (#11745817)
          Thank you for your post. I was one of those that believed because it was an ECMA standard that it was free and open.

          I went to the ecma site and saw this page [ecma-international.org]:

          WARNINGS

          The liability and responsibility for the implementation of an Ecma Standard rests with the implementor, and not with Ecma.

          Below that was a warning and a linke about settling patent issues pertaining to ECMA standards. Scary.

          B
        • by idlake ( 850372 ) on Tuesday February 22, 2005 @01:16PM (#11746548)
          The catch is that C# and CLR are not open standards - they are just ECMA standards.

          That is what an open standard is: something that is published by a recognized standards body and that anybody is free to implement.

          Apparently it was a brilliant move by MSFT because now people will automatically believe CLR is somehow "open".

          They believe that because it's true. .NET is not open, but ECMA C# is.

          In fact, a while ago Novell was asking MSFT for a clear declaration that Mono does not infringe MSFT IP.

          Yes, Novell did ask that. That question doesn't refer to ECMA C#, which is as open as any language standard, it refers to Mono's implementation of .NET.

          It provides a hose that MSFT can step on to end the distribution of the appications.

          Erroneous statements like that seem calculated to create unjustified fear, uncertainty, and doubt about C# in order to keep people from using it. ECMA C# is open. Microsoft can no more "step on its hose" than they can step on C++ or Python or Java (on which, incidentally, they may also hold related patents).

          We should never become too dependent on Mono, or Java, or any other proprietary technology.

          Mono is not proprietary technology: it's an open source project implementing a de-facto industry standard. As such, it is no different from Linux, for example. As such, Mono consists of two parts: a part that implements an open standard (ECMA C#), and a part that implements a proprietary set of APIs (the parts of .NET that are not in ECMA C#).

          If you want to use purely open APIs, just use ECMA C# and Gtk# and don't use any of the non-standard .NET libraries that Mono happens to implement as well. That's what I do.

      • There is nothing to "snatch": these are applications implemented in a non-Microsoft toolkit using an open language standard.

        Maybe so, but it's far easier for MS to embrace and extend their own 'standards' than other people's... After all, they've already done the 'embrace' bit. And it's not as if they haven't shown time and time again that they're ready, willing, and able to do so. It's their main flippin' business plan!

        All the fuss about Mono and C# makes me very sad. It's as if developers are say

    • In addition I found a couple that I am going to start using such as portage-sharp.

      From the portage-sharp project page [sourceforge.net] on sourceforge:

      Activity Percentile (last week): 0%

      This Project Has Not Released Any Files

      CVS Repository ( 0 commits, 0 adds )

      Gotta love all those good intention projects on SourceForge.net

  • Mono talk w/ icaza (Score:5, Interesting)

    by camcorder ( 759720 ) on Tuesday February 22, 2005 @11:16AM (#11745180)
    Miguel de Icaza interview about mono on lug radio [lugradio.org]. Really nice one.
  • huh? (Score:5, Insightful)

    by utexaspunk ( 527541 ) on Tuesday February 22, 2005 @11:16AM (#11745182)
    Tomboy, F-spot, Muine & Blam! ... MooTag, GFax, GIB, Sonance and Bluefunk

    WTF? Who comes up with names like these? I would blame the MBA's, but this is open source stuff, right?
    • Re:huh? (Score:5, Insightful)

      by SoCalChris ( 573049 ) on Tuesday February 22, 2005 @11:33AM (#11745378) Journal
      Seriously...

      At least give the program a somewhat descriptive name, ie Office, Internet Explorer, TurboTax, NotePad, Photoshop, etc...

      If I were looking for a music player on Google, I wouldn't even give search results about programs named Muine, MooTag or Bluefunk a second glance, simply because they don't sound like music players.

      Open Source programmers are good at a lot of things, but naming their programs isn't one of them. Just look at the whole Phoenix/Firebird/FireFox fiasco.
      • by Inoshiro ( 71693 ) on Tuesday February 22, 2005 @11:48AM (#11745534) Homepage
        How is this not like life?

        Ford Explorer -- does that also access the internet?

        Hyundai Accent -- is it about the korean language?

        Honda Accord -- music perhaps?

        People make names which they feel are the best for something. They rely on something's ability to be good at it to spread the love, so to speak. If it's good, people will remember it. If it's not good, it goes away and it's no issue. Do you really like how people went to ultrageneric names and domain speculation on the Internet? Pets.com? Mail.com? News.com?

        Take a look at things which people remember. What about Napster implies filesharing? What about Suprnova? What about Google implies searching?

        Naming is a magic game. Just because you don't like how others play it, does not mean they are playing it wrong. This whole "incorrect naming" meme is stupid and pointless. Start thinking critically about what you're saying before you repeat it everywhere.
      • Re:huh? (Score:3, Interesting)

        by John Fulmer ( 5840 )
        At least give the program a somewhat descriptive name, ie Office, Internet Explorer, TurboTax, NotePad, Photoshop, etc...

        Yeah, and forget Access, Visio, Excel, BOB, Acrobat, Encore, PowerPoint, and similarly named programs. I can't tell what they do either just by their names....

        • Re:huh? (Score:4, Insightful)

          by bonch ( 38532 ) on Tuesday February 22, 2005 @12:10PM (#11745753)
          It's more than that. Those names just sound better and friendlier, and are easy to remember.

          I don't know why, but just about every OSS project title is some tongue-in-cheek in-joke amongst the developers who are the only ones who think it's funny. Like KDE programs all being titled with puns starting with "K."

          Besides, Powerpoint, Access, and Visio have reasonable similarity with what they actually do. As for your completely random and pointless reference to Bob, I'm still amazed Slashdotters obsess over this small desktop shell released for a short time way back in 1994.
      • You mean names like Solaris, Maya, Bryce, and Jam? Its just a name, and the creators can name it whatever they want. A name isn't used to describe something, it is used to differenciate something from someone else. Does the name Toronto tell you anything about the city, or can you tell what type of person someone is when you hear the name Bob Smith?
      • Re:huh? (Score:3, Insightful)

        by Coryoth ( 254751 )
        At least give the program a somewhat descriptive name

        You mean like Excel, PowerPoint, Outlook, Visio, Access, Oracle, or Winamp?

        As we all know a product can only become successful if it has a clearly descriptive name like those above. I know whenever I want password and authentication software I think of access, when I want a scientific data visualization library I think of Visio, and it is clear that Winamp is software to provide fine tuning for your desktop volume controls.

        Oddly however; stupidly nam
  • by Anonymous Coward
    Sure, everyone knows Tomboy, F-spot, Beagle, MonoDevelop, Muine, Blam! or Monodoc

    Uh, right, I knew that. Sure I did. Yup. They're superhits, so I'd be a fool not to. Got that right.
  • I had mono once...damn, it sucked. I'm glad to see there's been progress in fighting this disea...erm, whoops. Terribly sorry. I was thinking of something different.
  • Beagle (Score:5, Informative)

    by ultrabot ( 200914 ) on Tuesday February 22, 2005 @11:18AM (#11745214)
    Interestingly, the summary neglected to mention Beagle [gnomefiles.org], the one Mono application I actually plan on using and that has created some momentum for getting the Mono into various distros.

    If Mono proves to be snappier than, say, Java, there might be some hope for it but the spectre of living under the mercy of MSFT is not easy to dodge. It's still there, however much people tried to not talk or think about it.
    • Re:Beagle (Score:3, Insightful)

      by nberardi ( 199555 ) *
      Everybody talks about living under the mercy of Microsoft when using Mono, but really it isn't an different than living under the mercy of Sun, both companies have their history of sqaushing compitition.
      • Re:Beagle (Score:3, Informative)

        by Taladar ( 717494 )
        This is why most smart people don't write open source software in Java nor in Mono.
        • Re:Beagle (Score:3, Informative)

          by LDoggg_ ( 659725 )
          Huh?
          There are thousands of open source java projects.
          Here's a few. [sourceforge.net]
          • Re:Beagle (Score:3, Interesting)

            by Taladar ( 717494 )
            Then why is it that my Linux Desktop, using Open Source Software almost exclusively (Opera being the exception) doesn't have one single Java App or Library in the whole dependency tree of all the apps I use? After all there are lots of C, C++, Perl, Python and Ruby apps and libs.

            Why is it that anytime someone asks for an example of a decent Java App the Java Fanboys come up with either Eclipse (doesn't count, only useful with Java) or Azureus?

            Why is it I have to install old versions of the Java Runtim
      • Everybody talks about living under the mercy of Microsoft when using Mono, but really it isn't an different than living under the mercy of Sun, both companies have their history of sqaushing compitition.

        Just guess which one is more likely to attempt a lawsuit attack on the desktop Linux users. ISTR also that clean-room Java implementations are less infringing than Mono (which implements the ECMA standard that is granted with "reasonable and non-discriminatory" terms). Too bad Java is a dog, especially for
    • Beagle rocks. It was pretty easy to get set up on Ubuntu (Hoary). If anyone has yet to see Beagle in action, check out Nat's flash demos [nat.org]. The "live queries" demo is my favourite.
  • Wrong punctuation? (Score:5, Interesting)

    by Speare ( 84249 ) on Tuesday February 22, 2005 @11:20AM (#11745230) Homepage Journal
    with 'super-hits' like Tomboy, F-spot, MonoDevelop, Muine & Blam! and other, less known gems,

    I haven't heard of even one of these "super hits." I think that should have been punctuated,

    with 'super-hits' like Tomboy, F-spot, MonoDevelop, Muine & Blam! and other less-known gems,

  • by Tanaka ( 37812 ) on Tuesday February 22, 2005 @11:22AM (#11745247) Homepage
    I'm just getting into C#, and I love it. One interesting thing I found was that if I ran a socket server app on Windows, I couldn't connect more than 64 clients in a single thread. I tried the same binary on Linux/Mono, and it bombed out at 1011 connections.

    Keep up the good work - I'm loving it!
    • by jdunn14 ( 455930 ) <jdunn.iguanaworks@net> on Tuesday February 22, 2005 @11:55AM (#11745608) Homepage
      If you're curious about that 64 client limit check out winnt.h and look for MAXIMUM_WAIT_OBJECTS (in mine it's on line 1354):
      #define MAXIMUM_WAIT_OBJECTS 64 // Maximum number of wait objects

      This is the limit on the number of objects that can be waited for in WaitForMultipleObjects calls. The same limit is enforced in winsock2 for select calls, I believe because in the end microsoft's select implementation is using WaitForMultipleObjects underneath. (Also note that the winnt.h header file is entirely too large for a single header (9170 lines), but hey, that's window's style for ya).
    • by spongman ( 182339 ) on Tuesday February 22, 2005 @01:12PM (#11746485)
      socket servers in .NET should be written using the {Begin|End}{Accept|Send|Receive} Socket methods. These methods make usee of completion ports on Win2k and later (and assync-io on Mono) and are the recommended way to ensure scalability. the old Unix 'select' pattern is broken as far as scalability is concerned - even on Unix.

      I've had a .NET app handle 100,000+ active TCP connections on a Win2k3 box without blinking an eye.

      Just watch out for heap fragmentation caused by pinning your input buffers. It's best to preallocate them in blocks and reuse them when you can.

  • Dashboard (Score:4, Interesting)

    by Xpilot ( 117961 ) on Tuesday February 22, 2005 @11:25AM (#11745282) Homepage
    I'm really looking forward to Dashboard [nat.org] (not mentioned in the article), the desktop app that uses Beagle to gives relevant information that it's collected on your computer about your current activity. It sounds really cool, and Open Source hackers came up with this before Microsoft did.

    • Neither Microsoft nor Gnome hackers came up with this first; providing useful information without requiring the user to make explicit queries has been studied on and off in various areas of computer science. There was a bout of academic interest half a dozen years ago, and those graduates have moved on to Microsoft and other industry labs, hence this is making it into products now.
    • Re:Dashboard (Score:2, Informative)

      by watchmaker1 ( 540289 )

      Dashboard was really just search, and is largely dead. The bones of Dashboard were used to build the framework for Beagle [gnome.org].

      You can do dashboard and so much more with the functionality in Beagle. Any future Dashboard-like app would probably be from-scratch on top of a Beagle back end.

  • Well... (Score:5, Funny)

    by Blue-Footed Boobie ( 799209 ) on Tuesday February 22, 2005 @11:25AM (#11745283)
    Mono is a huge part of my life!

    Every morning I get up and feed F-Spot (my Beagle). Then, I get out some eggs, cheese, and MooTag to make myself an omelet. I learned how to cook omelets from Emeril. So, it's Muine & Blam! and my omelets done!

    Next, I take a shower and wash off the Bluefunk. Once dressed in my suit and my PolarViewer glasses I call down to Tomboy (our doorman) and have him GIB up a cab.

    Once at work it is non-stop Gfaxes and sneaking some time with my SportTracker.

  • Impressive (Score:4, Insightful)

    by Anonymous Coward on Tuesday February 22, 2005 @11:25AM (#11745289)
    I'm writing this as a mere user, not as a developer, but from my point of view mono really is impressive. Just looking over the list of apps on osnews shows that mono really seems to give developers a framework that let's them develop great application in a relatively short time and in the end it's users like me who profit from that. ;-D

    Great works, mono devs.

    And to all those trolls that will come out of the woodwork with every mono story, telling us that mono is the end of open source:
    Please, for once in your miserable lifes try to provide arguments for your point that go beyond MS is evil (though I would readily agree with that) and therefor mono is the suX0r.
  • good (Score:2, Insightful)

    This should stop people using C for things like evolution. Sure C is a great lenguage, but you need to dominate it. Some people knows to use it, most of use humans don't (let's remember the simultaneous 11 buffer overflow vulnerabilities discovered in gaim the past year, making it probably the most insecure IM client ever). And let's no talk about OO, which can help a lot for those final-user apps. C is not a OO language. Yes you can try to use it as OO language like gnome/gtk/glib guys do but they're just
    • Re:good (Score:5, Informative)

      by grfpopl ( 32815 ) on Tuesday February 22, 2005 @11:49AM (#11745540)
      Wow, it's really too bad that people these days think that OO is about a language spec. It's not! OO is a design paradigm! (ugh. i hate that word, but that's what it is.) Your design is either OO or not OO, and the language that you implement it in is irrelevant. All that c++ does that c doesn't is do a few checks in the compiler. You can implement OO designs in C, Scheme, and plenty of other languages that don't have built-in checks for such things. (and yes, c++ does have a number of other features, but they are wholly unrelated to OO) OO doesn't fix buffer overflows either. Why would it? If you have crappy design/use the wrong functions for the wrong things, then you're going to end up with buffer overflows. C# goes quite a ways, as a language, to prevent this, but don't confuse it with OO.
      • Please elaborate and describe these "few checks".
      • Your design is either OO or not OO, and the language that you implement it in is irrelevant.

        By extension, you could just as easily say that the implementation language never matters, it's all just a Turing Machine(*) anyway. Except it does matter. Support for cleaner syntax, extra type checking, virtual/non-virtual method dispatch, etc. all matter when implementing an OO design. You can avoid whole classes of bugs by having proper language support, and programmer time can be reduced considerably.

        (*) We'l

      • Re:good (Score:3, Insightful)

        by Dan Ost ( 415913 )
        A good modular design is not the same as Object-Oriented design. If the design
        uses polymorphism, then it's OO, otherwise it's just a modular design. Assuming
        you buy into the distinction I just made, it's unusual, but not difficult or impossible,
        to do OO in C since the language doesn't explicitly support polymorphism.

        In contrast, python makes polymorphism so simple that you often don't even
        realize you're doing it. With Java and C#, you either have to share a common
        ancester or implement the same interface.
  • by Nine Tenths of The W ( 829559 ) on Tuesday February 22, 2005 @11:34AM (#11745394)
    This has to be a first.
  • by Laoping ( 398603 ) on Tuesday February 22, 2005 @11:37AM (#11745413)
    Ok, Microsoft Is evil, this I will give you, but C# rocks. After years in C and C++, I moved to Java, and It was good, then about 2 years ago I moved to C# and it was better. Now I program in both, for work and graduate school. I have to say they are very similar, but when I am doing a program in Java, I always miss a few of the C# features (virtual keyword for functions, Get/Set are better in C#, etc)

    The only problem I have with C# was that it was not as portable as Java, but Mono came to my rescue. I was surprised how many of my program just worked in Mono (after removing winforms that is). I can't wait for version 2.0.

    Really, Mono should be embraced /.ers . If we can start making programs for the general population that run on *nix systems, but look just like they do on windows, more people will use *nix. What we have to realize is that most people in the world(not on this website J) don't have 4 computers in their basement running different operations systems, they just have the one running windows.

    P.S. And for some reason, they still have the sides on their computer case.......
  • Hmm. What the article is really about is gtk#, not mono per se. How well does gtk# work in Microsoft's dotNet implementation? Or even does it work at all?

    Now that Windows forms is available, I could of course create cross platform applications in that, but I suspect I'd get more consistent results from using gtk#, if targetting both Unix and Microsoft dotNet is a requirement.

    In any case, gtk# looks nicer as a programming model.

    • by zbowling ( 597617 ) * <zacNO@SPAMzacbowling.com> on Tuesday February 22, 2005 @11:44AM (#11745489) Homepage Journal
      GTK# works wonderful without even even being related to Mono in anyway. It runs under Microsoft.NET just as well as it does on Mono under windows.

      My good friend Paco (Fransico Martieneze) has posted a installer for .NET SDK 1.1 and it includes documention for it and even some intergration with Visual Studio as well.

      http://forge.novell.com/modules/xfmod/project/?g tk s-inst4win
      • Thanks zac, that's what I needed to know.

        It's tricky to google-fu your way to an answer to this one, because naturally anything that mentions gtk# is bound to mention dot Net in a generic way, not necessarily meaning the Microsoft implementation.
  • by zbowling ( 597617 ) * <zacNO@SPAMzacbowling.com> on Tuesday February 22, 2005 @11:39AM (#11745430) Homepage Journal
    I just happen to be one of the few official developers for the mono project, just catching this artical early. Mono is quickly becoming better then ever. The biggest difference between Mono 1.0.x and Mono 1.1.x is the fact that our Just-In-Time compiler (or JIT) is getting more and more amazing every day. The 1.0.x series use a interprator capable of understanding things at the application start. One huge correction is that Mono will be called 1.2 in May not 2.0. While it is true that gtk-sharp-2.0 is moving to 2.0 from 1.0, the Mono runtime will remain at 1.2 as not to be confused with Microsoft.NET 2.0 (all though support for many of .NET 2.0 features will be included). Gtk# being based on Gtk+ 2.2 and Gtk# 2.0 being based on Gtk+ 2.4. Windows support is just as compatable with GTK# as it is on Linux, minus support for Gnome, VFS, GConf, GtkHtml 3 and DBus of course. Hope that helps!
    • I just happen to be one of the few official developers for the mono project, just catching this artical early.

      Great, now that you are here:

      A while (a year or two?) ago Novell was asking MSFT to clarify the IP issues with Mono, or at least to declare that Mono does not infringe MSFT IP, i.e. that it's safe to use. What happened with that? I'd certainly like to get a form of reassurance that it's going to stick around and be safe to code for, esp. with the emergence of projects like IronPython...
      • by zbowling ( 597617 ) * <zacNO@SPAMzacbowling.com> on Tuesday February 22, 2005 @12:37PM (#11746060) Homepage Journal
        Well, there really isn't an issue.

        IP issues have been solved a long time ago. While Microsoft didn't publicly comment on IP issues in Mono, the legal department at Novell feels that any action taken by Microsoft against mono would be in amazingly bad faith and for 90% of Mono would be impossible to impose.

        The sections that were released under the EMCA filing are public and they will be ours forever. The issues that maybe questionable are parts that were not released on the EMCA but Microsoft has released the source for those under a shared common licence (very restrictive) but allow anyone to "learn" from them as long as the don't take anything tangable (copy and paste, rigth it down) so as much as you can remember while looking at it is yours. The even make the comment in the licence that its a almost needed tool for implimenting your own runtimes. Mono has a personal policy not except code from people who even looked at to avoid all chances of something slipping up in the mess.

        Microsoft has communicated with us in the past on different things and we have communictated with them when we find a security flaw in the framework. They even use our code deep in the depths of Microsoft for regression tests (as much as I have heard) and the even demo with our software at conferences and online broadcasts on the power of the .NET Framework.

        With all the positive support they have given towards it would be in bad interests to suddenly change on that and would be against anti-trust laws. We are also protected by the EMCA filling because it proves that Microsoft intented for .NET to be a standard and not propiatary. Any patent that Microsoft would try to file would be quickly shot down because of prior art clauses and the fact that Mono is mostly a wrapper (when it comes to the classes not the compiler or the runtime) for libraries that already exist in Linux (in most cases this is true) they would have to file against libraries that even Microsoft used as the basis for their products publicly.

        I just don't see any issue. It was a consern when we started before we had time to investigate. :-)
        • There is an old legal aphorism that winning a lawsuit is one of the worse ways to go bankrupt. Even if the case gets dismissed on summary judgment, you have already wasted a lot of time on discovery and pre-trial motions. Think of SCO. And then there are appeals to follow. MS has deep pockets to fund Stupid Lawsuits (TM). Look at SCO. All MSFT has to do is to scare people in corporate settings away from Linux, Mono, or whatever open source program they have declared jihad against.
  • by eno2001 ( 527078 ) on Tuesday February 22, 2005 @11:41AM (#11745466) Homepage Journal
    The world of programming has gotten better and be[tt]er over the years. It used to be that you had to have to deal with punch cards or programming right on the metal itself. But in recent years development environments have improved tremendously approaching the ideal: ANYONE can write software even if they don't understand programming.

    Take me for example. I work for a Fortune 500 company that is currently working on NextGen database products. I'm the chief software designer. Back when I was in college in the 80s, programming was a black art known only to nerds who wore underpants on their heads and uttered dark incantations. I never really got on with those guys because they just weren't popular enough and they smelled kind of funny.

    But thanks to the miracle of the 90s, I am now a software developer myself. My dev suite is comprised of Photoshop (for mock layouts of the UI), Macromedia Flash and MS PowerPoint. With these tools I am crafting the nextgen interfaces that are what put my company at the top. We are drawing lots of attention and turning lots of heads with our products because only we know what the users want these days. Our database product is an award winning package that combines the ambience of Myst and Riven with an Oracle backend and a hint of The Matrix. Users want cool looking apps, not some archaic software that just displays data. Why settle for an app where the text is just displayed in a scroll box, or worse through a terminal emulation program like WRQ Reflection? Our app flys in the text from the side and makes the text sparkle like you see in the intro to a lot of movies. That's the key folks, don't look to Silicon Valley for great software ideas, look at Hollywood. They get it right.

    Since I'm a generous guy, I'll share some suggestions about how to design great apps these days:

    1. Always make sure that you focus on making the UI look as cool as possible. This requires the use of many tools to make sure that the interface is going to make the user look as good as possible.
    2. Always add more features to your application because nothing helps users more than new features. And make them sexy. I'm not talking about adding automatic spell checking or useless shit like that. I'm talking about syncronized sound effects that reflect the actions on screen like you see in the best films.
    3. Pervasive use of MPEGs. Our company got away from the old practice of using stupid 16 color icons for button functions and the like because we realized that this was confusing to users. Most of the time those images didn't mean much. Instead, we replaced them with full MPEGs running in loops to represent every possible function a user might do in the real world.
    4. Watch all the latest blockbuster scifi films that make use of computer interfaces. The geeks get UI design wrong every time. Only Hollywood knows how to make cool looking UIs and only the best software designers know to take their cues from the film industry.
    5. Require that your customers have the most powerful boxes to run your programs. We can't be bothered with idiotic businesses that want to keep desktop systems with PIIIs and 256 megs of RAM. How the hell are you supposed to expect the software to run properly? We tell all of our customers that they must upgrade all desktops to the following minumum requirements: Pentium 4 2.5 GHz or better, with 1 gig of RAM. That just barely keeps up with our advanced software, but it's the minimum. (Alienware makes the best business machines we've seen)

    It makes me laugh when I see you geeks trying to come up with new programming languages and platforms. Mono. What a joke. You call that progress? I don't. Keep working on more tools like Photoshop, Flash and PowerPoint. That's where development is these days. All that antiquated complicated crap is just mental masturbation for losers with no life. I read an article recently about a company that is working on self writing software. If these guys succeed, and they partner up
  • Story time (Score:3, Interesting)

    by buddha42 ( 539539 ) on Tuesday February 22, 2005 @11:54AM (#11745596)
    Could someone in the know please explain how Mono will not suffer the fate of samba or that attempt to get ASP working on nix (chilisoft? I forget)?

    I don't know the detailed inner workings, but it seems like these projects are forever doomed to being a shadow of a "mostly" implimentation riddled with "gotchas" and always a few steps behind. I don't blame the developers in any way, its just we all know MS does not play nice with others.

    • Re:Story time (Score:5, Insightful)

      by ed__ ( 23481 ) on Tuesday February 22, 2005 @12:09PM (#11745747) Journal
      first, their is a published spec.

      secondly, mono is more about enabling developers to use C# and CLR, rather than allowing people to run windows software on *nix, so there isn't the same necessity for bug-for-bug compatibility as there is in samba (where you want to look exactly like a Windows box from the outside).
    • Re:Story time (Score:5, Insightful)

      by damiam ( 409504 ) on Tuesday February 22, 2005 @12:13PM (#11745786)
      The fate of samba? Last time I checked, Samba was alive and well. And if anything, Mono has an advantage over samba in that it doesn't have to be Windows-compatible to be useful. C# is a great language (supposedly; I've never used it) and an open-source Linux implementation can only be a good thing. All of the apps mentioned in the intro are native GTK apps, and will continue to work well and be developed even if MS does something to break Windows compatibility.
  • by Glock27 ( 446276 ) on Tuesday February 22, 2005 @11:58AM (#11745628)
    Statistics from Sourceforge:

    Java (14080 projects)
    C# (2206 projects)

    Also, don't forget there is a very interesting ahead-of-time Java compiler as part of the gcc toolchain, gcj [gnu.org]. It isn't complete, but it is constantly improving and can now be used to write SWT and Gnome applications. Good stuff!

    I hate to see C# getting any uptake when all it is intended to do is allow Microsoft to co-opt all of Java's good ideas while stifling portability as much as possible. It is a transparent Java ripoff.

    • Wow (Score:3, Insightful)

      by kahei ( 466208 )

      Actually, reading that statistic I was impressed by how well C# is doing -- 1/7th as many projects as Java, and really all in about 2 years, and in the OSS community which isn't exactly MS's core area.

      I think MS have recaptured a bit of their old magic here, in lowering the 'energy threshold' required to get a project going. That's what made VB and Excel so ubiquitous -- I'm not saying that that was a good thing, but it sure worked. The work you have to do to create, package and distribute a .net app is
    • by Sunspire ( 784352 ) on Tuesday February 22, 2005 @01:03PM (#11746395)
      It's all a matter of how you choose your metrics. Here's another one, desktop applications that don't suck horribly:

      Java: Azureus, Eclipse.... I'm sure if I really searched I could find a third.
      Mono: Beagle, Tomboy, F-Spot, Muine, MonoDevelop etc. [osnews.com]

      It's no sillier a metric than the amount of showelware on SourceForge for a given platform. For the Linux user it's certainly a more interesting one.

      Even these so called crown jewels of the Java desktop can be spotted a mile away as Java programs. When you run Beagle or Tomboy you can not distinguish them from native GTK+ apps. For all intents and purposes they are native.

      Java and Mono have chosen completely different paths at this point. It's futile to try to evangelize one language over the other at this point. Java has settled as a backend language for stuff like web services, while Mono/.NET competes with the incumbent C/C++, and Python to some extent, over the desktop. It's now a case of different tools for different jobs, and at this time it's already pretty clear that Mono is going to be a major force when it comes to the future of the Linux desktop.
  • by acomj ( 20611 ) on Tuesday February 22, 2005 @11:58AM (#11745630) Homepage
    I don't have anything agains mono, and the C#/java seem pretty much identicle to my mind (There's nothing that compelling that one has thats not in the other).

    Its great to have a language that can come installed with linux (java cough* cough*). However mono ultimately will work OK, but will drive developers to windows in droves because of the better deveopment environment that Visual Studio.net offers.

    I fear that ultimately there will be mono apps that can run sometimes on windows (if you install gtk# etc...etc.) and .net apps that might run on linux if you didn't use this package or that package.

    Mono has its place, but I don't think cross platform apps is going to happen.
  • C# for UI? (Score:4, Interesting)

    by swimmar132 ( 302744 ) <joe@pNETBSDinkpucker.net minus bsd> on Tuesday February 22, 2005 @12:55PM (#11746276) Homepage

    I'm primarily a *nix developer, but this Mono implementation of .NET seems somewhat interesting. It may be a good way to go in the future for Linux GUI applications (as C# is probably better suited for GUI development than C++ or others -- and don't mention Java please).

    A good portable way to write programs might be to write the application core in standard C++, then write the UI in C#/Mono on *nix, Obj-C on OS X, and C#/.NET on Windows.

    Thoughts?
  • by __aabjlj9081 ( 651002 ) on Tuesday February 22, 2005 @02:18PM (#11747355)
    Zamples provides a facility for live code examples for C# [zamples.com] and and VB.NET [zamples.com] using Mono. Novell (sponsor of the Mono project) was kind enough to publish a news brief [novell.com] about us last month. Zamples [zamples.com] also provides a live code facility for Perl, Python, Java, Ruby, Haskell and various APIs. Learning by example is a fast way to learn, and Zamples is a good way for authors and software publishers to present their information interactively.

    Disclaimer: I am the founder of Zamples, Inc. Go gently on our servers, they probably won't survive being slashdotted!

  • I'll say this... (Score:3, Interesting)

    by agraupe ( 769778 ) on Tuesday February 22, 2005 @11:14PM (#11752422) Journal
    C# is every bit as good as Java at this point. That being said, being Java's equal is not a stunning approval. I like its design, and its similarity to C/C++. I would say anyone interested in cross-platform development (Windows too, not just different *nixes) should take a serious look at Mono/.NET/C#.

    Having recently considered learning C#/Mono, a few things bugged me. Firstly, it was not easy to find a tutorial more complex than Hello World but less complex than "oh, look, we're going to be making a wordpad clone". Considering that it is much easier to program with C and GTK, or C++ and QT or GTK--, it will take some serious work to make Mono attractive if you're looking to attract the people who don't need Windows compatibility.

"Hello again, Peabody here..." -- Mister Peabody

Working...