Announcement

Collapse
No announcement yet.

Open-Source .NET On Linux Continues Maturing

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

  • #21
    Originally posted by pouar View Post
    The use of PE in UEFI is also a problem I have with UEFI. PE isn't really as good as ELF and includes a lot of redundant stuff like the MS DOS stubs. At least ELF makes good use of the space it uses and most of the stuff in ELF can be stripped out. Plus ELF is more extendable. Although whether they use ELF or PE they need to include an easy way to distinguish from the 2. binfmt_misc can either use Mono for PE or use Wine, but not both. At least when Java used the zip format they included a way to distinguish from the two by changing the file extension.
    No argument. I have a problem with it purely on the grounds of it being nonsensical, technical merits aside. Hence my joke. Did you know Apple's PPC-era Open Firmware used ELF?

    As for use with binfmt_misc, you could always read up on the PE format and write a wrapper script which launches Wine or Mono depending on what kind of EXE it is. I'd have done that by now, but I prefer my EXEs to require a bit more than a double-click or a bare path in the terminal to launch.

    Comment


    • #22
      Originally posted by rdnetto View Post
      C# is indeed a very nice language, but D blows its pants off. Its syntax and features are basically a superset of C#'s, adding things like compile-time code generation and reflection (run-time reflection in C# can be expensive), as well as generally better performance from being natively compiled. It's also much easier to use cross-platform than C# is, IMO - I switched to it because C# under Linux with Mono was too painful.
      The only area I'd say C# comes out ahead in is library support, due to its greater popularity and funding.
      D is cool, and caused other languages to step up their game. But C# can now be compiled to native using the new .NET Native compiler that is being released. With the existing compiler, compile-time code generation is only available using an open source library called Fody, or PostSharp. The new open source Roslyn "compiler-as-a-service" concept will allow much more compile-time generation, and all manner of static analysis and automatic refactoring via a very easy and performant API.

      C# 6.0 is gaining some syntax improvements. I don't really see much that it lacks. And for functional programming, there's always F#, which can interoperate with C#.

      Comment


      • #23
        Originally posted by Pajn View Post
        C# is pretty nice, probably the nicest static typed language. ASP.NET is however a real pain in the ass. The rest of the .NET framework I can't comment on however.
        ASP.NET MVC is really sweet.
        ASP.NET without the MVC framework is pretty boring though.

        Comment


        • #24
          Originally posted by gamerk2 View Post
          Pretty much. The way i use them:

          C: Low level programming (HW communication, typically)
          C++: Serious programming
          C#: Need to get a GUI app up and running quickly

          For most end-user stuff, I use C# just for simplicity. For programs where I care about performance, i use C++. I only use C when I need direct HW communication (Driver, etc).
          I would say there are lots of other languages and libraries (sometimes even for C++) that can also get stuff up and running quickly. That does seem to be the place of C#, but it certainly isn't alone.

          Comment


          • #25
            Originally posted by Pajn View Post
            C# is pretty nice, probably the nicest static typed language. ASP.NET is however a real pain in the ass. The rest of the .NET framework I can't comment on however.
            Nicest is Ceylon. C$ is crippled Java without portability, stability, speed and compatibility. Kinda of anti-Java

            Comment


            • #26
              Originally posted by EmbraceUnity View Post
              C# 6.0 is gaining some syntax improvements. I don't really see much that it lacks. And for functional programming, there's always F#, which can interoperate with C#.
              besides dictionary initializers, new string formating and nameof i wouldn't really call them improvements.

              Comment


              • #27
                Ah.... now there's the wailing and moaning I'm used to in .NET threads, I'd almost thought you guys had grown up or something.

                Anyway, This is a Really Good Thing (TM) the better experience Microsoft has with being open source, the more likely that they're going to try to work in the open, and BUILD2015 is likely to be a watershed moment for Microsoft's Developer and Tools division in causing those who are sitting on the fence (like the WPF team) to decide to work in the open. Regardless expect the platform to see explosive growth.

                Comment


                • #28
                  btw, I'm glad Microsoft is being more open and open sourcing some of their stuff. This is a good thing.

                  Comment


                  • #29
                    Originally posted by gamerk2 View Post
                    Pretty much. The way i use them:

                    C: Low level programming (HW communication, typically)
                    C++: Serious programming
                    C#: Need to get a GUI app up and running quickly

                    For most end-user stuff, I use C# just for simplicity. For programs where I care about performance, i use C++. I only use C when I need direct HW communication (Driver, etc).
                    Sadly the C# GUI stuff is not open source. They have pretty much open sourced what Mono has already created on its own.

                    I can't believe I am saying this, because I am a C++ guy... The future is HTML5/JS interfaces with access to native components. Then either expose some JS hooks, or REST interface, and go from there. I'd probably go Java for my backend, leveraging C++ through JNI when needed. There is no reason to use C. It gives you nothing, no matter how low level you want to get. From a language perspective, C# is probably better than Java... but the power behind them is in their frameworks. If C# gets its act together, and gets a standards committee around it, it could have a lot of potential. I wouldn't start a new project hoping that C# would "arrive" by the time I was ready to release. Like I said, Microsoft really hasn't given me anything Mono couldn't already offer... and I never trusted Mono... so they have a long way to go.

                    Comment


                    • #30
                      Originally posted by bpetty View Post
                      If C# gets its act together, and gets a standards committee around it, it could have a lot of potential.
                      C# has been an ECMA standard since the beginning, and now there's the .NET Foundation to govern the future of the platform and basically everything but the GUI stuff is in the process of being open sourced under a permissive license (with potential for GUI stuff to happen in the future). What more do you really want in terms of Standards as opposed to supporting libraries?

                      Comment

                      Working...
                      X