Announcement

Collapse
No announcement yet.

Why Mono Is Desirable For Linux

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

  • Originally posted by directhex View Post
    C# and Mono are better supported on mobile - Mono for Android, MonoTouch, and WP7 cover more than 90% of the US smartphone OS market. Comparatively, Qt is in "experimental pre-alpha" stage for iOS and Android and not an option for WP7.
    A) Noone cares about WP7/WP8.
    B) C# is hardly, hardly "supported" compared to C/C++ on Android, and while Qt is experimental, it works, and its native bindings exist on C. No reason, whatsoever to use C# for Android development over C (NDK) or Java.

    Originally posted by directhex View Post
    Support for Windows and Mac is comparable across both. Support for Linux on major architectures is equivalent across both.
    Absolutely not! You can't seriously be claiming that C# and Mono provide a better multiplatform development environment than straight C, can you?

    Originally posted by directhex View Post
    Qt is about twice the age of Mono - 1992 versus 2002.



    Originally posted by directhex View Post
    As for proven, again, mobile has pointed towards Mono rather than Qt.
    Still, (Android) NDK development (C/C++) far outnumbers hacky C# ports accomplished with Mono, which by the way is the primary use of it on mobile (you could argue that the developers have bigger problems at that point). Developers still have a better multiplatform development environment with, /you guessed it/ straight C, and good practices.

    Originally posted by directhex View Post
    On the desktop Qt is far more popular, due in no small part to KDE and to the mature tools for Windows use.




    Originally posted by directhex View Post
    There's really very little in it between Qt and Mono for most resources. Qt may be faster for CPU usage, but that's not really something one encounters in user-interactive applications.
    Decently compiled C/Qt is always going to be faster. /Always./ Again, what do you gain from Mono for the performance sacrifice?

    Originally posted by directhex View Post
    They're useful for different scenarios. Mono doesn't replace C++. And interop between the two is of major importance to users.
    Not really, they just want their applications to work, be relatively bug free and speedy.



    Originally posted by directhex View Post
    As for the Linux desktop, VERY ANGRY NERDS TYPING IN BOLD AND CAPS have been very effective at scaring users away from Mono, and keeping developers on Windows.
    I think you misspoke, here's my correction:
    Originally posted by directhex View Post
    As for the Linux desktop, the VERY ANGRY STEVE BALLMER & FRIENDS has been very effective at scaring users away from Mono, and keeping developers on Windows.
    In no small part due to their previous treachery. When are you going to get it through their head that they deserve the bad rep with developers that THEY HAVE deliberately created?

    Originally posted by directhex View Post
    There are lots of legitimate reasons to choose Mono/C# over C++ and Qt.
    There is none! You think that all developers on Linux are the [wannabe] programmers coming from Windows / .NET land in search of something that helps them reuse code. No. In Linux/Unix land, non-proprietary is king, and if you want code reuse, follow best practices. This reality is too harsh for the noob .NET developer, whose general lack of expertise keeps their paygrade at the bottom of all programmers.

    Originally posted by directhex View Post
    But because they're not the uses you care about, you project into all cases and say and say "never". This is silly.
    No, quite the reverse. Noone that targets Linux/Unix using Python, Java, PHP, C/C++, hell even Perl is EVER going to care about Mono. EVER. And noone developing on .NET targets anything but Windows, if they do it is at best an afterthought and they're bound to be disappointed in Mono.

    Originally posted by directhex View Post
    There are times Qt with C++ is the right choice, times with Mono with C# is the right choice, and times when some combination thereof is the right choice.
    Seeing as I can target [all desktop platforms] and [alot of mobile] with Qt, I don't really see it, and I doubt I'm alone.

    Keep pushing the koolaid, noone is going to drink it, and you know why. If you want people on Linux developing in C#, get Microsoft uninvolved in the development of the spec. That will fix plenty of BOTH political and technical issues it faces.

    Comment


    • Originally posted by jrch2k8 View Post
      (...)
      like i said the problem with mono is not that is bad or anything like it, is a decent high level language good for high level language needs, the problem is that in linux we have already good high level languages that just need to improve performance[python over llvm is FAST but is still out of tree sadly] that wont require any rewrite at all unlike migrate to C# and C# beside being easier to learn/code don't provide any sort of improvement that justifies rewrite the other 96% of the regular distro code that is already in C/C++/objC/ASM. so is kinda stuck in a limbo or a very niche position at best. another factor is that your regular linux developer dont like "assemblies hidden functionality" too much, we preffer hard visible linking and bindings[if you investigate you will notice this pattern over and over again in every high level language that is born in linux]. so mono has ended as being the wine for .NET code[and literally with wine] nothing else and since most distros don't even include mono or just have very old unmaintained versions didn't help the cause either but again the problem is mono just don't fit in linux as concept [and microsoft backing doesn't help nor microsoft care as long mono work as shield for EU sues and reduce taxes]
      Are you joking that Python over LLVM (I think you mean about: Unlanden Shaddow).

      Let's see the results:

      | Benchmark | CPython | Unladen | Change |
      +==============+=========+=========+============== +
      | 2to3 | 25.13 s | 24.87 s | 1.01x faster |
      | django | 1.08 s | 0.68 s | 1.59x faster |
      | html5lib | 14.29 s | 13.20 s | 1.08x faster |
      | nbody | 0.51 s | 0.28 s | 1.84x faster |
      | rietveld | 0.75 s | 0.55 s | 1.37x faster |
      | slowpickle | 0.75 s | 0.55 s | 1.37x faster |
      | slowspitfire | 0.83 s | 0.61 s | 1.36x faster |
      | slowunpickle | 0.33 s | 0.26 s | 1.26x faster |
      | spambayes | 0.31 s | 0.34 s | 1.10x slower |
      (See the source )
      Let's say that iteration 3 will get another 2x speedup. There is no match in comparison with Boo over Mono (if you are a fan of Python like language). At least by an order of magnitude (yes, Mono is more than 10 x faster than Python in most numerical code, even more if you use multi-threaded code).

      (...) and C# beside being easier to learn/code don't provide any sort of improvement that justifies rewrite the other 96% of the regular distro code that is already in C/C++/objC/ASM
      So, is not good to rewrite C/C++ code. I think no one stated this, even out of contrary:
      Originally posted by ciplogic View Post
      - if you know that a tool is better as performance, memory footprint, and you want that, (re)write the tool to make a better world, if you think that your notes program is better served without Mono. If it will be better, why not? But don't be religious about it! Imagine in reverse, that you made other tool in Python, and some Mono fanatic will rewrite it in C#. Doesn't it sound insane to you?
      But there are is a lot of code that is just fine to be written in C#, as you just accepted that is easier to write/learn.

      Why adding politics with Mono? Let's say that a developer can finish in 20% shorter a program in C# using Visual Studio. Targeting Mono at he end will not reduce the EU tax contribution of developing software, compared with paying a full C++ developer? That will be paid more, the tools will be maybe a bit pricier, and setting the development time and delays, will also mean even more slowness, so it seems to me that your argument serves you poorly.

      At the end, please read posts of myself or other: are many language somewhat better, I don't see any reason to rewrite a software for the sake of rewrite. Did you know any developer saying that the command line tools should be rewritten in C#? Only a C++ guy rewrote a Tomboy application to GNote, wasn't it?
      I never thought that Gtk for example should be written in C#, I never said that Gnome Shell would be faster if it would be written in C# (which is true as affirmation, and certainly faster than Python one)

      Comment


      • B) C# is hardly, hardly "supported" compared to C/C++ on Android, and while Qt is experimental, it works, and its native bindings exist on C. No reason, whatsoever to use C# for Android development over C (NDK) or Java.
        C/C++ is shit on android. You know a lot of the API calls just wrap around Java right? The point of C/C++ android was to improve performance on games.

        Interpreted languages are better for phones as there are many many SoC's to target. Only Apple uses compiled as their main language, that's because they control all hardware.

        Absolutely not! You can't seriously be claiming that C# and Mono provide a better multiplatform development environment than straight C, can you?
        On mobile, yes. Desktop? No.


        As for the quotes, who really think end users care a fuck about ballmer? Nope. Normal people don't know who Ballmer even is. he isn't scaring users from moving to linux. The asshats of our community are.

        There is none! You think that all developers on Linux are the [wannabe] programmers coming from Windows / .NET land in search of something that helps them reuse code. No. In Linux/Unix land, non-proprietary is king, and if you want code reuse, follow best practices. This reality is too harsh for the noob .NET developer, whose general lack of expertise keeps their paygrade at the bottom of all programmers.
        Yes there are. Why isn't every single application written in C? Hell why do we need abstraction, let's all write in assembly!
        Calling C# devs noobs is ignorant. People do not re-write code for fun. If they have a big C# app from windows to support in linux, why would they rewrite for C++ rather then mono? They aren't people who like being 1337 with their C++, they are businesses that do things that are practical.
        Right tool for the job. If the developer thinks that is mono, who are you to stop them.

        No, quite the reverse. Noone that targets Linux/Unix using Python, Java, PHP, C/C++, hell even Perl is EVER going to care about Mono. EVER. And noone developing on .NET targets anything but Windows, if they do it is at best an afterthought and they're bound to be disappointed in Mono.
        Expect people are using Mono. Sony's SDK playstation thing does not target windows at all. Unity 3D engine, Bastion, World of Goo also use mono.

        Seeing as I can target [all desktop platforms] and [alot of mobile] with Qt, I don't really see it, and I doubt I'm alone.
        Qt only works on Symbian (DEAD), Blackberry 10 (NOT RELEASED, PROBABLY DEAD TOO), MEEGO (DEAD, unless jolla releases something good).
        There is an experimental android port.
        No iOS port I am aware of.
        Mono is better for mobile (for now...).

        Again, interpreted is better on mobile due to tons of SoC's, that's the biggest reason we have QML.

        what do you gain from Mono for the performance sacrifice?
        The same thing from every other high level language: a high level language, with things like garbage collection.
        For certain scenarios, that is best.
        Right tool for the job.

        Comment


        • Originally posted by n3wu53r View Post
          World of Goo also use mono.
          I don't know where this rumour came from.

          World of Goo definitely does not use Mono anywhere.

          The list of well-know (read: Humble Bundle) games for Linux powered exclusively by Mono is:
          • Spacechem
          • Atom Zombie Smasher
          • Bastion
          • Rochard


          This number will only go up with time, as the number of games using Unity3D 4.0 increases (most games on Kickstarter with Linux ports, for example, such as Wasteland 2, Code Hero, CLANG, Rival Threads, etc)

          Comment


          • Bastion and Rochard run much worse in Linux than Windows, so there's no point using Linux when I get better performance in Windows.

            Comment


            • Originally posted by narciso View Post
              Bastion and Rochard run much worse in Linux than Windows, so there's no point using Linux when I get better performance in Windows.
              Unlike the other five dozen HIB games, which are screaming fast? Sorry, but there's no planet where that's true.

              Comment


              • Originally posted by BO$$ View Post
                After reading all this I still cannot understand what the fuss is all about .Net? I mean if you want cross platform code to work and avoid microsoft because we can never be certain of their intentions then use Java. Why is everybody avoiding Java these days? I agree that C# is a nicer language but switching from C# to Java isn't that hard. I cannot understand why people started coding in .Net when there was an already crossplatform VM. Now since people already have written apps in C# we have this issue with getting them to work on linux.
                People started working with .NET largely because it's not a fucking mess when dealing with interop with native libraries. That's why .NET was even created in the first place. JNI is not a usable solution, and interop with existing C code is important for anyone who's ever invested in existing software.

                And all this started from the Miguel de Icaza guy.... The same guy that started Mono, endorsed Office Open XML (OOXML), wanted to work for Microsoft and said that linux is shit in his latest article. Don't you think maybe we should ignore this guy and stay away from whatever crap he's gonna pull?
                Strawman Miguel is much easier to hate on than the real Miguel, but I don't think anyone cares about that guy.

                I know that he started the gnome project but what I'd like to find out if he's the guy responsible for the Gnome 3 that I can't use anymore and had to switch to xfce to have a taskbar. Is he the guy?
                Miguel hasn't had any actual decision making power in GNOME for close to a decade. He started it. Blame him for GNOME 1.0, but rather less for 2.0 and not at all for 3.0

                Comment


                • Originally posted by narciso View Post
                  Bastion and Rochard run much worse in Linux than Windows, so there's no point using Linux when I get better performance in Windows.
                  Great, but did you made any profiling to see if it may be on drivers side? Or maybe in the way X Server works, or maybe because of Mono (if this is the assumption).
                  There are many things that run worse on Linux, because of video drivers, maybe because on Linux the code is not optimized (like it was written in Steam's blog about L4D2 port to Linux). The conclusion is to ask developers to profile applications on Linux, not to blame any component (like Mono).
                  But based on the same mindset, in general Gtk# applications run much better on Linux than on Windows. The reason is that Cairo is using GDI+ as backend on Windows, when it is using accelerated graphics on Linux (and even the software implementation is much better, as there is no indirection). If you're using Mono with Gtk# in Linux make applications to run much faster than on Windows.
                  Is even easy to test: try Pinta version for Linux and for Windows and try to see if you have slowdowns on displaying and scroll in Windows!

                  Comment


                  • Well, we are talking about mono.

                    Bastion and Rochard both use mono in Linux and both have much worse performance in Linux than Windows. Both games tested with an Nvidia Gtx680 at 2560x1440 resolution.

                    In general other HIB games run on par with Windows, except Psyconaughts which is a lousy port.
                    Last edited by narciso; 18 September 2012, 05:58 PM.

                    Comment


                    • Originally posted by narciso View Post
                      In general other HIB games run on par with Windows
                      Really? Honestly? You're including Limbo in that?

                      Comment

                      Working...
                      X