Announcement

Collapse
No announcement yet.

How is Mono worse than other projects that implement Microsoft technologies?

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • #31
    Originally posted by kraftman View Post
    It's probably not more "awesome" then Java
    It definitely is. If you want to compare a JVM language to C#, try Scala. The Java language is so far behind C# it ain't even funny.
    Originally posted by kraftman View Post
    and afaik it has much worse garbage collector. Rather then choosing Mono why not to choose more mature Java?
    Because the Java language, in a word, sucks.
    Originally posted by kraftman View Post
    Some developers actually port Mono applications to Java. Some current QT applications are far more efficient and feature rich then some Mono applications (however, someone could check time needed to produce a QT application and a Mono one).
    It's called Qt, not QT. And it's pronounced "Cute".
    Originally posted by kraftman View Post
    I'm aware Gnome needs some boost, but the performance and RAM usage will suffer.
    It won't necessarily be slower. With a more modern language, you spend less time debugging stupid bugs than with C, which allows you to spend more time on optimization (or new features). This even applies if your preferred language is too slow for some part of the program: you can implement that part in C and do all the rest in a more productive language. Well, except that if you're using Java, you don't really what to do that, given the horrible PITA that JNI is.

    Comment


    • #32
      Originally posted by bugmenot2 View Post
      It definitely is. If you want to compare a JVM language to C#, try Scala. The Java language is so far behind C# it ain't even funny.
      It's far behind in what? Then why people port C# applications to Java? And Java has much better GC. I read a little about Java and about C# and it looks Java is much more mature and solid while C# is more like a toy.

      Because the Java language, in a word, sucks.
      Why? Except Java apps are slow (at least in my experience).

      It's called Qt, not QT. And it's pronounced "Cute".
      I'm not pronouncing it here.

      It won't necessarily be slower. With a more modern language, you spend less time debugging stupid bugs than with C, which allows you to spend more time on optimization (or new features). This even applies if your preferred language is too slow for some part of the program: you can implement that part in C and do all the rest in a more productive language. Well, except that if you're using Java, you don't really what to do that, given the horrible PITA that JNI is.
      Sadly (or not), every C# application I used is slow. People complain about F-Spot, Tomboy, because they're slow. Not only runtime is slow. If the Garbage Collector is a mess in Mono (and afaik it is) then there isn't a big chance to optimize the code, is there?

      In this thread there's a nice picture why some (probably many) users don't like Mono:

      Hi, guys. I have problem with F-Spot, when I am viewing my photos and clicking Next Photo, it loads slow and my computer freezes or something about for a second or less... Picture appear first blury and about 2-4 sec later picture is sharp. It sharpens in pixel rows from top edge to lower edge. I want to load more quickly my photos!:( Any suggestions? P.s. sorry for my bad english or termilogy

      Comment


      • #33
        Originally posted by Jimmy View Post
        How is Mono worse than Wine? Why should I hate Mono and not hate Wine for the same reasons?
        Well Wine is not used in default install and is considered an emulator (even if it is not one) so it is not native...

        mono on the other hand is used by default in some Gnome based distros, and is considered to be native implementation of C# for linux...

        The big difference is also that mono will not let you run .NET apps without access to source code of the app and changing it and recompiling.
        Wine on the other hand runs exes (hence why most consider it an emulator)

        Comment


        • #34
          It's amazing how much misinformation is spread by some people in this thread. Probably has to do with this:

          I read a little about Java and about C# and it looks Java is much more mature and solid while C# is more like a toy.
          So you read a little? Nice.

          Here's some more reading material:
          1. Mono is using a tweaked version of the Boehm GC, which happens to be one of the best OSS garbage collectors in existence.
          2. Novell has been working on a faster, generational, Mono-specific GC since at least 2008 (just to give you an idea of what it takes to outperform Boehm). The new GC will ship with Mono 2.8.
          3. You can compile a C# app on .Net and run the exe on Windows/Linux/Mac. You can compile the same C# app on Mono and run the exe on Windows/Linux/Mac.
          4. Even though .Net/Mono binaries are have an 'exe' suffix, they are not win32 executables. No need to recompile and no need to emulate anything in order to run them on Linux.
          5. You can compile a Mono binary into native code. You lose the portability benefits of the .Net/Mono bytecode but you gain in startup performance and memory usage.
          6. If Mono is fast enough for Unity3d on devices as limited as the iPhone, then it certainly is fast enough for me.

          Comment


          • #35
            Mono is not worse than any other Microsoft product. It's an essential part of Windows emulation, to be run on top of Wine. Being interoperable with an organization is not wrong, and there are actually laws in place to facilitate it, if organizations are preventing it. Microsoft is helping with Mono, for whatever reasons, and that's nice.

            Using Wine or Mono to create Linux programs that have nothing to do with Windows compatibility, that's something I don't agree with. That's ripping off Microsoft. The free software community has access to interpreted alternatives such as Java, Qt, Python, Ruby, Perl, Vala, Scala, Haskell.

            Comment


            • #36
              Fake edit. Qt is not interpreted. And neither is Vala.

              Comment


              • #37
                Using [...] Mono to create Linux programs that have nothing to do with Windows compatibility, that's something I don't agree with. That's ripping off Microsoft.
                What the hell is wrong with you guys?

                Let me rephrase your sentence:

                "Using [...] Java to create Linux programs that have nothing to do with Solaris compatibility, that's something I don't agree with. That's ripping off Sun"

                What the hell? I enjoy writing Linux applications. I also enjoy using C#. For this reason I enjoy writing C# Linux applications (that have nothing to do with Windows compatibility).

                You are saying this is bad... for what reason, exactly?

                Comment


                • #38
                  Originally posted by BlackStar View Post
                  What the hell is wrong with you guys?

                  Let me rephrase your sentence:

                  "Using [...] Java to create Linux programs that have nothing to do with Solaris compatibility, that's something I don't agree with. That's ripping off Sun"
                  I regard Sun as a Linux company. Look, it's the same as iPod clones. I won't buy a Korean clone. I will buy a Cowon.
                  What the hell? I enjoy writing Linux applications. I also enjoy using C#. For this reason I enjoy writing C# Linux applications (that have nothing to do with Windows compatibility).

                  You are saying this is bad... for what reason, exactly?
                  I'm just saying I don't agree with that. I won't be running that application.

                  Comment


                  • #39
                    Originally posted by BlackStar View Post
                    It's amazing how much misinformation is spread by some people in this thread. Probably has to do with this:



                    So you read a little? Nice.

                    Here's some more reading material:
                    1. Mono is using a tweaked version of the Boehm GC, which happens to be one of the best OSS garbage collectors in existence.
                    2. Novell has been working on a faster, generational, Mono-specific GC since at least 2008 (just to give you an idea of what it takes to outperform Boehm). The new GC will ship with Mono 2.8.
                    3. You can compile a C# app on .Net and run the exe on Windows/Linux/Mac. You can compile the same C# app on Mono and run the exe on Windows/Linux/Mac.
                    4. Even though .Net/Mono binaries are have an 'exe' suffix, they are not win32 executables. No need to recompile and no need to emulate anything in order to run them on Linux.
                    5. You can compile a Mono binary into native code. You lose the portability benefits of the .Net/Mono bytecode but you gain in startup performance and memory usage.
                    6. If Mono is fast enough for Unity3d on devices as limited as the iPhone, then it certainly is fast enough for me.
                    If Mono's GC is very good then Mono sucks even more, because Mono apps are damn slow Maybe developers who choose Mono are just lazy?

                    Comment


                    • #40
                      @Blackstar

                      If your interested some benchmarks show current Mono implementation of C# is much worse then Microsoft implementation:



                      It also shows Java is usually faster.

                      Comment

                      Working...
                      X