Announcement

Collapse
No announcement yet.

Fedora 31 Aims To Finally Offer Mono 5 For Open-Source .NET Support

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

  • #21
    Originally posted by bug77 View Post

    I was expecting as much, since it was developed after Java. And it also doesn't care as much about backwards compatibility. I was just wondering if it brings something other than cleaner stuff to the table (not that "cleaner stuff" is something to be ignored. Some unique traits is what I was hoping for instead.
    Unique is difficult for anything to provide - most languages are Turing Complete, so you can necessarily do anything you want in any of the languages. The concept of .NET is similar to Java, the implementation details are different.
    ¯\_(ツ)_/¯

    Comment


    • #22
      Originally posted by smitty3268 View Post

      Unique is difficult for anything to provide - most languages are Turing Complete, so you can necessarily do anything you want in any of the languages. The concept of .NET is similar to Java, the implementation details are different.
      ¯\_(ツ)_/¯
      It's not that difficult.
      Erlang set out to offer massive parallelism and it delivered.
      Go set out to offer Python productivity with better runtime performance and it delivered.
      Rust set out to offer memory safety and it delivered.
      Scala set out to bring a more functional approach to an otherwise OOP language and it delivered.

      By comparison, .Net just feels like a "me too".

      I'm looking to learn new languages, but since I don't have the time to learn them all, I'd rather pick those that bring new concepts to the table first. That's the context of my question about .Net. Somehow I never felt compelled to learn it, but i wanted to make sure I didn't miss anything by staying away.

      Comment


      • #23
        It's not that .NET in itself doesn't care much about backwards compatibility. It's just that Microsoft these days seems to change direction every couple of years. First it's MFC, then WPF, then WinForms, then UWP (sorry, I lost track of them or the order they were introduced. I'm not a Windows dev). Each gets promoted aggressively, then abandoned or deprecated, then sometimes un-deprecated once replacement project fizzles out and dies. Its hard to keep track what to use if you expect your application to last 10 years or so. And none to few of these are cross-platform, even if core language is. I fully expect JavaFX to last longer than whatever GUI toolkit Microsoft is pushing today.

        And while C# the LANGUAGE is quite nice and has a lot of features and useful tricks- the ecosystem of libraries and tools and frameworks sucks compared to what's available for Java. I've been using Java on Linux (for backend apps) for almost 2 decades, and I am very happy with it overall.

        Back on topic- I found that Mono is really useful if you want to port a C#/.NET Windows app to Linux. And Mono v5 is quite further ahead compared to v4. So it's a good thing its finally finding its way into distros.

        Originally posted by bug77 View Post

        I was expecting as much, since it was developed after Java. And it also doesn't care as much about backwards compatibility. I was just wondering if it brings something other than cleaner stuff to the table (not that "cleaner stuff" is something to be ignored. Some unique traits is what I was hoping for instead.

        Comment


        • #24
          coder111 I don't put much weight into backwards compatibility. It's always a double edged sword. I tend to take it as it is.

          Edit: Actually backwards compatibility in languages like Java or C# is why I came to appreciate properly compiled languages more: once it's compiled, it will run because there's no runtime underneath it to break (well, the OS is the runtime in a sense, but you get the idea).
          Last edited by bug77; 11 March 2019, 08:29 AM.

          Comment


          • #25
            Originally posted by bug77 View Post
            By comparison, .Net just feels like a "me too".
            In spite of originally coming out later, I tend to have the opposite impression because for years (decades?) .NET has been ahead of Java and it's been Java that has later picked up the features popularized by .NET first. But I definitely understand that if you already know Java you may not be interested in learning .net, unless you use it heavily and are interested in where it can do better.

            Comment


            • #26
              Originally posted by smitty3268 View Post

              In spite of originally coming out later, I tend to have the opposite impression because for years (decades?) .NET has been ahead of Java and it's been Java that has later picked up the features popularized by .NET first. But I definitely understand that if you already know Java you may not be interested in learning .net, unless you use it heavily and are interested in where it can do better.
              As I said (Java's insistence on) backwards compatibility is a double edged sword. You don't need to keep several versions of the runtime around to run your stuff, but in turn the language develops slower and accumulates technical debt. Years ago I was convinced backwards compatibility is the way to go. Now, I'm not sure it's worth the hassle.
              But anyway, when i said it just feel "me too" I wasn't talking about features (mostly because I'm not familiar with them), but about .Net trying to become another cross-platform runtime. I just don't see a place for these anymore. Interpreted languages are becoming (have become?) fast enough for a huge variety of stuff, while properly compiled languages can take care of more intensive tasks.

              Comment

              Working...
              X