Announcement

Collapse
No announcement yet.

Mono Developers Renew Their Love For Microsoft

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

  • #21
    Originally posted by e8hffff View Post
    Because it broke the customs of Linux Users and freedom. Mono was tethered to Microsoft indirectly. If Mono was used, then something completely open and free may not. Also initially people were suspicious with the licensing but Microsoft cleared that up with public announcements.
    Except that those announcement (far as I can tell as an outside observer) didn't really clear anything up. Those who wanted to believe, accepted these "promises" as definitive, those who didn't trust Microsoft pointed out that they weren't, actually -- they were either not truly binding, or in so far as they were binding, were too narrow and arbitrary in scope to be relied on in real life or in the future.

    Comment


    • #22
      Originally posted by mcirsta View Post
      I've used C++ and Qt and I can tell you it's really quite nice and cross-platform. Also performs better than anything else because well ... it's C++ . (...)
      This is not true anymore.

      I can say that there are definitely parts where Mono and .Net (and to some extend Java) are faster than C++:
      - inlining, most simple properties are inlined by the Mono or .Net. You can even hint this to
      - allocation of heap short lived objects because of GC
      - Mono.Simd can run faster on Mono even your code was not compiled on a machine that has the actual SIMD instructions as we can talk for a future CPU. Using intrinsics for let's say SSE2 will run for SSE2 CPUs, but a Mono.Simd can (at least theoretically) run on AVX2 with no work on your side (this is only for Mono, not for Java)

      There is one case when Mono runs virtually the same as C++: on iOS as it uses the same compiler/optimizations as a C++ compiler would do it.

      Comment


      • #23
        Originally posted by peppercats View Post
        because java already exists

        Doesn't matter much, the age of virtual machine languages is coming to an obvious end. Scripting languages are much more popular as "first class" languages than ever and taking java/C#'s place everywhere but business cubicles.
        Your first argument is wrong:
        - "Why would anyone not want Ruby on Linux?" - "Because Python already exists"
        - "Why would anyone not want Python on Linux?" - "Because Perl exists"
        - "Why would anyone not want Java on Linux?" - "Because C++ exists"
        - "Why would anyone not want C++ on Linux?" - "Because C exists"

        Age of virtual machine languages is coming to an obvious end, if you exclude that JavaScript is run on a virtual machine. By design and by default. Not an interpreter but a tiered Jit (like in IonMonkey or V8) or a Hot-spot like one (WebKit or IE). They come with generational GC too.

        Both Tiobe and PyPL indices show that virtual machine languages (like PHP too, which is also "dead" for some) are in the first two spots and also they are more than 25% of usage of entire languages all the time. Is JS that popular? Tiobe gives a 2% usage (compared with a 24% Java + C#). PyPL states that JS is 7% popular, if you like this numbers, just that PyPL put like this numbers for the language popularity:
        1 Java 27.0 %
        2 PHP 13.0 %
        3 Python 10.3 %
        4 C# 10.0 %

        And C++, where is it?
        It is on the 5th place with 9.6%.

        Comment


        • #24
          I really like C# as a language. But the way Microsoft treat is I'm never gonna use it when I have the choice.
          Microsoft need to create a full standard and make an open implemention the reference.

          Also with Java 8 i feel less urge to use C#

          Comment


          • #25
            Originally posted by ciplogic View Post
            Mono.Simd can run faster on Mono even your code was not compiled on a machine that has the actual SIMD instructions as we can talk for a future CPU. Using intrinsics for let's say SSE2 will run for SSE2 CPUs, but a Mono.Simd can (at least theoretically) run on AVX2 with no work on your side (this is only for Mono, not for Java)
            You can also compile C/C++ to LLVM and it will optimise for your CPU on runtime.

            Main problem of VM's is that they allocate enormous amounts of memory.

            Comment


            • #26
              Originally posted by Pajn View Post
              I really like C# as a language. But the way Microsoft treat is I'm never gonna use it when I have the choice.
              Microsoft need to create a full standard and make an open implemention the reference.

              Also with Java 8 i feel less urge to use C#
              With Java 9 you should feel even less. In the mean time I enjoy using async/await.

              Comment


              • #27
                Originally posted by LightBit View Post
                Main problem of VM's is that they allocate enormous amounts of memory.
                This is a Javaism. Hotspot allocates enormous amounts of memory.

                Mono isn't particularly RAM-heavy.

                Comment


                • #28
                  Originally posted by Detructor View Post
                  the problem is, aside from C#/.NET there is no real(=professional) cross-platform language available. Aside from the slow-ugly-memory hogging piece of shit that is called Java. And luckily that has been left to die when it was given to Oracle. OpenJDK is just the last struggle before the inevitable death of that language.
                  Is that your professional analysis? You realize Java/JVM beats C#/.NET in most microbenchmark comaprisons. Mono is even slower than the Microsoft runtime.

                  C# isn't a remotely competitive language, even within the Microsoft ecosystem. F# is Microsoft's more serious competitive language.

                  On the JVM side, people love the Java platform, but the Java language is largely legacy. Scala is probably the most popular favorite (it's my favorite). It's a far better language than C# or Java.

                  Comment


                  • #29
                    Originally posted by Pajn View Post
                    I really like C# as a language. But the way Microsoft treat is I'm never gonna use it when I have the choice.
                    Microsoft need to create a full standard and make an open implemention the reference.

                    Also with Java 8 i feel less urge to use C#
                    Microsoft does give you a much better choice than C#: F#

                    Scala is better than Java (and C#) in almost every way. Even Java 8. I do hope the Scala team updates to JDK 8 and provides platform lambda compatibility. Android is the big problem that pushes everyone for JDK 6 compatibility.

                    C# has a zillion technical problems, major ugly technical problems, but beyond those, it's not a platform-agnostic, general purpose language. It's an integration langauge for Microsoft tech stacks. If you don't want a Microosft centric tech stack, C# and .NET usually doesn't make sense.

                    Comment


                    • #30
                      Originally posted by ciplogic View Post
                      This is not true anymore.
                      I can say that there are definitely parts where Mono and .Net (and to some extend Java) are faster than C++:
                      When http://benchmarksgame.alioth.debian.org/ was alive, C/C++ generally ran the fastest, Java behind that, C#/MS .NET behind that, and Mono was much slower than MS.NET.

                      Originally posted by ciplogic View Post
                      There is one case when Mono runs virtually the same as C++: on iOS as it uses the same compiler/optimizations as a C++ compiler would do it.
                      citations? I'm skeptical of this.

                      Beyond the speed, those kinds of porting layers often add a lot of unwanted complexity to the application development stack. They add extra layers that have be debugged through in the case of problems.

                      Comment

                      Working...
                      X