Originally posted by Kemosabe
View Post
Announcement
Collapse
No announcement yet.
Microsoft To Open-Source .NET, Bring It Officially To Linux
Collapse
X
-
Originally posted by Kemosabe View PostCan someone explain me please: How is this beneficial for Microsoft? Why are they doing this?
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
-
Originally posted by reCAPTCHA View PostReally 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.).
Originally posted by reCAPTCHAWhen 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.
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.
Comment
-
Originally posted by Azrael5 View PostDirectX implementation will be very useful replacing wine because of increasing perfomance in games.
Comment
-
Originally posted by DanLamb View PostI'd prefer the Play framework myself...
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.
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.
Originally posted by DanLambA 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
-
Originally posted by BlackStar View PostDirectX has little to do with .Net. Besides, the leading DirectX wrapper for .Net is open-source, as is the equivalent OpenGL wrapper.
Comment
-
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
-
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...
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.
Comment
-
Originally posted by gufide View Postdid hell just froze over?
Comment
Comment