3 ms·
One particular "annoying" feature of Scala is the Java interoperability. It's obviously great because you have a large quantity of tools usable from the Java wo
by Fiahil 11y ago
One particular "annoying" feature of Scala is the Java interoperability. It's obviously great because you have a large quantity of tools usable from the Java world, but it leads to large quantities of time spent wrapping them into clean Scala interfaces (or dealing with unmelodious APIs, pick your curse).
I would love if I could avoid this with Fredge. But, in the end, I would probably be better off using Haskell directly.
- hugofirth 11y agoI agree that when, in the process of learning Scala, you get beyond the "better Java" stage the interop can feel frustrating. On the other hand Scala gains so much from it. Its a huge net-positive IMHO. As long as you are only bringing things in from Java-land, rather than going the other way though, the wrapping can be fairly minimal.
- voxfrege 11y ago> I would probably be better off using Haskell directly. This is certainly true. You can see Frege as a subset of Haskell 2010 plus some GHC extensions plus the native interface (i.e. the Java FFI). Unless you really need the JVM, Haskell (i.e. GHC) is the probably the better choice. Frege is just an offer for the minority that wants pure FP specifically on the JVM. Those people had no real choice until recently, given that CAL is dead, and E. Kmett's "ermine" not yet there.
- rozap 11y agoThis is about 50% of the pain of Scala for me. I want to like scala, and some of the concepts behind it are neat, but in reality the act of writing it with the java interop, opaque unrepeatable errors, and compiler slowness makes it a fantastically unpleasant experience.
- Fiahil 11y agoI'm sharing the same thoughts. I'm relieved I'm not alone in this world :)