News for hackers. Stuff that matters.
Re:Open Source .NET three years later by Nullabillity on Sunday December 24, 2017 @06:34AM (#15999101)
Java may be the JVM's "flagship language", but why would I replace the whole platform with C# when Scala and Clojure exist, and stay compatible with the JVM?
Re:Open Source .NET three years later by noir_lord on Sunday December 24, 2017 @08:19AM (#15999397)
Kotlin as well as a less radical departure from Java.
Re:Open Source .NET three years later by pmelendez on Sunday December 24, 2017 @09:08AM (#15999576)
Some people would take CLR over JVM, so YMMV
Re:Open Source .NET three years later by lmm on Sunday December 24, 2017 @10:24AM (#15999885)
Ok but why? There are a few low-level performance-oriented programs that benefit from struct types (which the JVM now has too) or reified generics. For ordinary day-to-day programming, though, F# is underwhelming by comparison with Scala, and C# is better than Java but not by enough to be worth migrating platforms for. What's the USP of the CLR? When it first came out I thought it was more friendly to foreign languages, but that doesn't seem to have been borne out in practice e.g. Jython felt like it saw way more use than IronPython.
Re:Open Source .NET three years later by JamesBarney on Sunday December 24, 2017 @03:41PM (#16001216)
I think one reason jvm has so many more languages is because the need for java substitutes is higher. C# is a pretty good language. And it's hard for better languages to make up for the lack of tooling.
Re:Open Source .NET three years later by lmm on Monday December 25, 2017 @11:17AM (#16004605)
I'm not convinced; C# has some usability improvements over Java (particularly earlier versions) and VS is maybe a bit better than the Java options, but it's not a huge margin. And, I mean, IronPython existed and had an audience. But I suspect Python is a much bigger leap for Windows developers than it is for *nix developers. More than that, third-party languages were never really a big thing on .net - F# and Scala fill very similar niches, but one got the sense that F# was only ever developed by Microsoft Research, whereas Odersky worked on Generics Java and then Scala as a professor not directly affiliated with Sun/Oracle.
Re:Open Source .NET three years later by JamesBarney on Monday December 25, 2017 @02:05PM (#16005294)
I think that today c# and java aren't that far apart. But Scala was created in 2004, c# got lambdas in 2007,and java got them in 2014. So there were a lot of years when the c# java gap was pretty large, which gave Scala lots of time to grow to a critical mass.

I think you're right another factor is that there are more Python and Ruby devs looking to write Python and Ruby on the JVM then the clr.

Re:Open Source .NET three years later by Spearchucker on Sunday December 24, 2017 @11:24AM (#16000106)
The most compelling reason I have for choosing CLR and C# over virtually anything else (and ESPECIALLY Clojure and Scala) is availability (and consequently cost) of skilled resources. Availability both today, and 5 or 10 years from today, depending on the project or program.

In my world (Fortune 500) boutique tech carries inherent risk.

Re:Open Source .NET three years later by nine_k on Sunday December 24, 2017 @11:41AM (#16000177)
This sounds as if skilled Java developers are harder to find that C# developers. Is this indeed so?
Re:Open Source .NET three years later by scarface74 on Sunday December 24, 2017 @02:09PM (#16000814)
For me, Oracle is not as good of a stewart of Java as Microsoft is of .Net.

I wouldn't waste my time converting from a Java infrastructure to a .Net infrastructure and if I were a Linux shop, I probably would stick with Java for awhile, but if I'm already using Windows servers or have my choice today of using Windows only for the backend, I would definitely chose it because of the number of devs and network people available.

Re:Open Source .NET three years later by Spearchucker on Tuesday December 26, 2017 @09:03AM (#16008622)
I know why you said Java. But I pretty expressly didn't, because BigCorp won't know or care why you said Java. Technical smugness doesn't change the fact that Scala and Clojure are exotic, and that exotic carries risk.
Re:Open Source .NET three years later by jackfoxy on Sunday December 24, 2017 @02:57PM (#16001044)
> F# is underwhelming by comparison with Scala

Please elaborate. This is the first I have heard from someone experienced in both F# and Scala to assert this.

Re:Open Source .NET three years later by louthy on Sunday December 24, 2017 @04:18PM (#16001340)
I like F# but the lack of higher kinds means F# is mostly just C# with a teaser grammar. It doesn’t really allow for a fundamentally different library envronment.
Re:Open Source .NET three years later by akra on Sunday December 24, 2017 @10:30PM (#16002492)
Disagree as someone who has programmed in both Scala and F#; I found F# pretty much could do the same things just in different ways. In F# I found more ways to squeeze performance than in Scala which by comparison is bloated. For the data applications ive written F# wins usually especially with ad-hoc tactical apps and in my experience was easier to teach than Scala which is not as coherent of a language.
Re:Open Source .NET three years later by louthy on Monday December 25, 2017 @11:48AM (#16004745)
> could do the same just in different ways

Write a function that works with any monad? No?

Write a function that works with any numeric type? No?

You can fake type-classes, but it’s in no way a first class citizen. You can’t easily fake higher kinds.

You may not need those features, it doesn’t make my original statement any less true.

Re:Open Source .NET three years later by akra on Monday December 25, 2017 @08:12PM (#16006482)
I agree with the first missing feature as you state; I just don't know how much value-add those features actually add in real world apps - often people use them in weird and unintitutive ways as well. F# has other features that other languages don't have as well. I find the workflow syntax eliminates some of the need for the first; and I find I can write functions that work with most numeric types at least a lot more so than C#/Java/etc. As a simple example the in-built F# library comes with functions that work on most number types (e.g SumBy works with anything that supports (+) including my own types). Sure there might be advanced examples that I wish I could do but they don't come often. I do find F# more concise, generally less "smart" and more explicit than Scala code which I think is a good thing. I've seen some funky Scala code in the past. Ease of code/learning/etc, and a maintainable codebase at least for me trumps features most of the time.