5 ms·
Without an integrated framework, it's just an OO mechanism hung off the side of vanilla C. And while that mechanism does have some sweet features, it's also slo
by JulianMorrison 11y ago
Without an integrated framework, it's just an OO mechanism hung off the side of vanilla C. And while that mechanism does have some sweet features, it's also slow and really weird looking for someone who's used to C, and seeing it in the middle of C code is like in a Bollywood movie where they suddenly break out into song.
- jasonjei 11y agoLove the analogy. Not to leave course of the original comment re:ObjC, but I think to a certain extent you don't see C# really being used outside the Microsoft ecosystem, as Mono does exist. An integrated framework is probably the programming language equivalent of having an "army and navy."
- rubber_duck 11y agoProgrammimg is soo based on trends and not on technical merits : Dart is a great language - it's way more feature complete than typescript, it comes bundeled with official package manager, build system and a dev server (huge value compared to the js ecosystem schicoprenia) and it's designed by people who actually know their shit and have decades of expirience in both language design and VM implementation/compilers (isn't constrained by JS design decisions) Dart started marketing it self as a JS.next, IMO unrealistic goal, but has dropped that agenda for like 2 years now (?). It still dosn't prevent people from making uninformed comments about it being a failed google js.next language. It's really an amazing ammount of working tools and code in that project, waay better than angular 2 js/typescript for example but people won't even evaluate it because of reputation. The same is true for .NET, Microsoft took JVM and Java and then took it to the next level - stuff that just got in to Java (Lambdas) or will be getting in years (Value types) have been a part of .NET for a decade now - and in recent years Microsoft made a 360 on cross platform and OSS with Core.CLR - this is not even mentioning F# being a MS sponsored and supported tool with the tooling support that implies, and just the best in class tooling with VS in general. Yet most people won't even touch .NET because it's not hip.
- jorgecastillo 11y ago>Yet most people won't even touch .NET because it's not hip. To be fair .NET can't replace the Java ecosystem now and will not replace the Java ecosystem in the following years. It's just not the same thing. Yes C# is way better than Java, but there is so much more going on for Java. For starters Java is truly multi platform and the ecosystem is way richer. So no "people won't even touch .NET because it's not hip", people won't touch .NET because even though it's really good it's not that good, at least not when you take into consideration the whole ecosystem.
- jasonjei 11y agoExactly. OpenJDK and Oracle JDK for the most part are interoperable. In fact, the open-source version of the JRE is the reference standard. You'd be able to run a web application almost out of the box with Java. It wouldn't be so possible with Mono and .NET.
- rubber_duck 11y agoMicrosoft opensourced a cross platform official implementation of .NET called CoreCLR - and altough slightly young you can do what you just said and they support it trough Azure on linux and offer OSX builds. Also Mono took better parts of CoreCLR and made their implementation better. Also Microsoft acquired the company behind mono/Xamarin and given their recent trend will just fold that work in to their OSS offerings (at least partially) So please get your facts straight before commenting on the issue because that's sort of the problen I'm getting at in my post.
- rubber_duck 11y agoSee I don't have a problem with this argument if you really made the evaluation - that is if you really can't find the stuff you need. But I don't ever hear that, at best I see that argument based on assumptions (without checking), and more often it's just "ewwww Microsoft"
- JulianMorrison 11y agoI don't think developers should take the blame for not using a language which has from day one been a deliberate trap intended, by its very usefulness on Windows, to tempt people away from Java into creating programs which can't survive outside Windows. It began as an attempt to nobble Java with incompatibilities (Microsoft J++), and when that got sued off the market, it returned as a "different language" (C#) that looked nearly the same, trying to play on all the same strengths - except the ability to escape from Microsoft's OS. Nor has that ever ended. Microsoft has no interest in helping Mono reach parity with its own version. You can use it, but your programs will be stuck on Windows, and your time and effort and dedicated mental resources will be joined at the hip to Windows, in a way that doesn't apply to almost any other language.
- jorgecastillo 11y ago>as Mono does exist Sure but truth be told, Mono is not as good as the official .NET Framework, even more so when it comes to doing GUI applications. I don't think most people would choose Mono to do a serious cross platform application, when Qt and Java are so much better for this.
- jasonjei 11y agoThat's exactly the point I was trying to raise--without an integrated framework (like JRE), it's hard to consider Mono and .NET as a cross-platform toolkit. In fact, .NET and Mono have entirely different APIs to do UI, while Java is more/less integrated with respect to different JREs (including OpenJDK, Oracle, IBM, etc). People have tried really hard to bring C# on to other platforms even when it starts feeling forced.
- ido 11y agoc# is the main language used with the Unity game engine, which is currently the most poplar game engine around.
- moheeb 11y agoI'm not sure I understand the analogy. Are you meaning that it is an integral portion of the framework and basically the entire reason people use C?
- tambourine_man 11y agoHollywood did that too, you know? It wasn't strange back then. Ask Singing in the Rain and West Side Story :)