Announcement

Collapse
No announcement yet.

Microsoft To Open-Source .NET, Bring It Officially To Linux

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

  • #41
    Originally posted by Kemosabe View Post
    Why are they doing this?
    they lose os war

    Comment


    • #42
      In before "Wayland Presentation Foundation".

      Comment


      • #43
        Originally posted by Kemosabe View Post
        Can someone explain me please: How is this beneficial for Microsoft? Why are they doing this?
        It's what the world wants. Developers don't want to be locked down to Windows dev machines. Developers still want to target Windows clients, but Linux servers and iOS/Android clients are extremely important.

        I don't mind installing and using C#/.NET software on my Linux/Mac/Android systems, but

        - C# as a language is basically the same as Java. They both have an extremely similar OOP design with a very similar memory model and class model. C# has LINQ, Java has the exact same functionality. C# has a few very minor enhancements.
        - Desktop GUIs are mostly a vanishing niche. AFAIK, Silverlight is gone and .NET WPF is going. JavaFX is hanging on. Web/Mobile are the dominant GUI platforms.
        - Java and C# are both __way__ behind the curve compared with the fancier functional languages: Rust, Scala, F#, Haskell, Idris, etc.
        - ASP.NET is absolutely horrible. It's the antithesis of a modern web framework. ASP.NET MVC is ok, but it's not any better than any other MVC web framework out there. I'd prefer the Play framework myself...
        - Several people are saying Java sucks, etc. They don't know what they are talking about. Recent Java is fine. It's not a bleeding edge tool like Idris, but it's fine.
        - The one big plus of C# is C++ binary integration is better (this can be a downside), and for video games it's more adopted. The Unity engine is one of the best around. They chose C#. They could have used Java, the language is fine, but they didn't.
        - I am stunned that Google still has Android using Java... And not even the latest Java 8, but a Java 6.5... It's so easy to make another language, people make thousands of custom languages a year, I don't see what is stopping them from just making a better Java/C# and using that, kind of like what Apple is doing with Swift.

        For many purposes, I'd question whether people should use Java or .NET at all:

        - For a server/database type app, I would pick Scala as a safe first choice. Then Java as second choice. C# would be a last choice. I suspect Haskell (and maybe even Idris) is better, but that would be a risky move and a big learning curve for me personally, as I've never done serious, practical work with deadlines in Haskell.
        - For a data and theoretical science programming, I'd use some combination of Haskell, Python and/or R, and wouldn't touch JVM or .NET. Actually, I might use JVM+Scala, but only to use Spark. Haskell has the cleanest, hyper elegant language, and Python/R are not terribly special as languages, but they have the best library ecosystems.
        - For a game, I'd pick the engine first. Unity is the best reason to use C#. BTW, Unity probably could have used Java just as well as C#, but they didn't, and that's fine. libGdx is probably the biggest Java game framework and it looks fine, but it's a niche choice for simpler 2D games. If you pick CryEngine or Unreal, you will use Lua or UnrealScript, which are great for what they do.
        - For an Android/iOS GUIs: Java and Objective-C are the native choices and you will pay a large price to use a cross platform toolkit, which may or may not be a good idea.

        A related question I would ask, is why does Microsoft fund various Haskell developers? Haskell is extremely cross platform, has zero .NET style tentacles to suck you into a Microsoft ecosystem.

        Comment


        • #44
          Originally posted by reCAPTCHA View Post
          Really don't know why responding to someone with such silly attitude towards java. He obviously had issues to grasp it, but he talks about other dumb kids, which are btw a quite important factor in business (Yeah I know, Companies should hire only C++, or Assembler developers, who understand arch, have full control over... you know, and can optimize, to code backend, instead of caring about reality and making money by finishing projects on time.).
          Well, I've been working with Java for almost ten years. I'm in "the grass is greener on the other side of the fence" mode, I'm sick of Java and all of the warts that drive you bonkers - explicit typing, the fact that you use the java.util package everywhere but it's not imported by default, getX/setX conventions, and a hundred other major and lesser headaches. (Note that I'm complaining about explicit typing, not static typing. Many other statically typed languages can do auto x = 4; and have the compiler figure out x is an integer and block uses of x that don't treat it like an integer. C++11, Scala, Haskell, D, etc... but in Java I'm always stuck with SomeClassName x = new SomeClassName(); ... ) Even if you don't go whacky with functional programming and metaprogramming and other trips, a straight conversion of most Java code to Scala or Groovy will cut your lines of code by 70%.

          Originally posted by reCAPTCHA
          When you speak about Groovy and Clojure, that is the same area as Python, Rubby, or even PHP, as I see it, so you would have to jump to Java here and there, depending on how much backend performance you need... Important part about Java is that it can be quite fast, and this is probably one of the reasons you will find it in Telecom companies and all those who rely on performance. On the other side people are forced to use frameworks like Hibernate etc., even in companies like a Telecom, which is totally insane IMO.
          I view that need to dip into Java from time to time as a plus. I can't get hired as a senior Clojure developer somewhere because I don't have that much experience with Clojure. But for a company mixing Clojure and Java, I can use my experience with Java as an "in". In an ideal world I'd jump completely to something different, just for the change of pace. But I can't, for example, point to three hundred lines of Python on a github account and expect some place to pay me big bucks as a Python developer.

          Regarding 'dumb kids', I see it also as a nice plus, b/c you can easy find cheap working stuff with some basics at least, and while it is not that easy to become a pro, it is easier than to find a developer who is really proficient in C#/ .Net (Not to strat typing about vendor lock in, MS as a company, Windows as a platform etc.).
          From my experience, a lot of experienced, smart, JEE developers, have issues when confronted with SCJP questions, so as I see it, it is not that easy to become a java guru, but hey, C++ teenagers, game developers wannabes knows programming.
          Everybody was a novice at some point or other. There are newbies making newbie mistakes with every language.

          Comment


          • #45
            Originally posted by Azrael5 View Post
            DirectX implementation will be very useful replacing wine because of increasing perfomance in games.
            DirectX has little to do with .Net. Besides, the leading DirectX wrapper for .Net is open-source, as is the equivalent OpenGL wrapper.

            Comment


            • #46
              Originally posted by DanLamb View Post
              I'd prefer the Play framework myself...
              Until you have to change your SBT configuration. And then four days and a few tears later you give up and architect around the problem. ( I'm a little bitter. As long as I didn't have to do anything to the Play configuration but bring in some extra libraries, Play was a joy to use. )

              Originally posted by DanLamb
              - I am stunned that Google still has Android using Java... And not even the latest Java 8, but a Java 6.5... It's so easy to make another language, people make thousands of custom languages a year, I don't see what is stopping them from just making a better Java/C# and using that, kind of like what Apple is doing with Swift.
              Agreed. I don't know why Google is letting Android sit on Java 6 when Java 8 is so much nicer.

              Originally posted by DanLamb
              - For a data and theoretical science programming, I'd use some combination of Haskell, Python and/or R, and wouldn't touch JVM or .NET. Actually, I might use JVM+Scala, but only to use Spark. Haskell has the cleanest, hyper elegant language, and Python/R are not terribly special as languages, but they have the best library ecosystems.
              The problem with R is that the open source versions expect to manipulate the entire data set in RAM. That's why my employer does all of their data manipulation in other languages, because they didn't feel like modifying R to work with data sets larger than 10TB.

              Originally posted by DanLamb
              A related question I would ask, is why does Microsoft fund various Haskell developers? Haskell is extremely cross platform, has zero .NET style tentacles to suck you into a Microsoft ecosystem.
              I hate Microsoft in general, but Microsoft Research does some cool stuff that doesn't always benefit the company directly. I think that's how R&D should work - you throw a whole bunch of projects into the world with the expectation that 99% is a waste but the 1% that works will keep you in business another twenty years.

              Comment


              • #47
                Originally posted by BlackStar View Post
                DirectX has little to do with .Net. Besides, the leading DirectX wrapper for .Net is open-source, as is the equivalent OpenGL wrapper.
                Could be implemented!?

                Comment


                • #48
                  This is old news, they've been open sourcing parts of .NET for months. Not a fan of .NET myself until I heard about the open-source effort that'd get it working on linux and osx. Another great thing is that with the new compiler Roslyn you can distribute your app/site via usb and run it on any of the OS without requiring .NET to be installed locally. This is presently limited to the Core framework, using anything out of it will require .NET locally for now. Far as I know WPF is still being developed, I think you see the split of 4.6 and 5 wrong, pretty sure that once the other parts of .NET can be compiled to no longer require .NET locally you'll see them introduced to .NET 5.x. The vNext stuff is looking pretty good, they're merging Web API with MVC6 for example, the new compiler is much faster too. I personally have no interest working for a company with .NET unless it's with all this new stuff due out in 2015, huge leap forward for the platform imo.

                  Comment


                  • #49
                    Originally posted by DanLamb View Post
                    - ASP.NET is absolutely horrible. It's the antithesis of a modern web framework. ASP.NET MVC is ok, but it's not any better than any other MVC web framework out there. I'd prefer the Play framework myself...
                    It's getting much better with vNext in 2015. You're also not restricted to IIS, Kestrel is looking to be quite nice. I'm working with Node.js lately, pretty good experience so far.

                    Originally posted by DanLamb View Post
                    - For an Android/iOS GUIs: Java and Objective-C are the native choices and you will pay a large price to use a cross platform toolkit, which may or may not be a good idea.
                    Can you elaborate why a cross platform toolkit would be expensive? Are you referring to something like QT? What about a language like Haxe with it's OpenFL framework, that'll compile to native c++/java/obj-c/swift. Great for custom UI, still fairly new, I think there is a library that provides native UI elements for each OS though if you need that.

                    Comment


                    • #50
                      Originally posted by gufide View Post
                      did hell just froze over?
                      Why so surprised? People keep thinking of Microsoft as they were 10 or 20 years ago, failing to notice that things have changed a lot since then. It doesn't mean they've suddenly become *nice*, but it does mean they have to evolve in order to survive - their traditional dominance of desktop hasn't translated into a similar dominance on mobile platforms, and they're now in a position where they need to entice developers to support them, instead of expecting developers to take what they're given. They might not like open-source, but in recent years, they've come to realise that they have to live with it instead of fighting it.

                      Comment

                      Working...
                      X