3 ms·
> They've (ironically?) been a bit more successful than the Java folks at establishing multiple serious languages of different kinds running on and interoperati
by Clamchop 3y ago
> They've (ironically?) been a bit more successful than the Java folks at establishing multiple serious languages of different kinds running on and interoperating via the same runtime.
Can you explain more? I'm less familiar with the .net side of things.
- eddythompson80 3y agonot OP, but I'd guess they are referring to F# and C# interoperability. It's trivial to call into each other from within the same project. I'm not as familiar with this on the JVM side myself. How easy/common is it to have multi-language projects? Because in .NET it's very common to have C# interface to F# projects and vice versa with minimal work.
- vips7L 3y agoIt’s extremely easy. I have no idea what OP is talking about. I currently work on a mixed scala/java project. It’s also one of the biggest features of Kotlin, interoperability is seamless.
- raddan 3y agoI regularly program in both Scala/Java and F#/C#. Interoperability in both is excellent. But I would not call it “trivial” in the Scala/Java case. Calling Scala code from Java is occasionally a pain (the converse is easy); however I don’t think I’ve ever had an issue calling F# code from C#. I think most of the friction wrt Scala lies in the fact that Scala reinvented the wheel in several places (eg collections; “operator overloading”) which are not obvious to use in Java.
- vips7L 3y agoOf course. But that isn’t the fault of the JVM or Oracle. That’s the language designers that made Scala. Look at Kotlins interop. It is rather seamless.
- rafaelmn 3y agoIt kind of is because .NET CLI includes more stuff to facilitate the interop (eg. operator overloading, reified generics, value types). It limits your choices when implementing languages on top but it then makes it usable from different languages.