@seancorfield: Hey, you said that you would rather choose the F# .Net stack if you did not have so many Java libs. Would you elaborate on the reasons for that a bit, please?
obviously there is a solution for that; https://www.ikvm.net/
@sveri: Well, I meant, if F# ran on the JVM and I could use it with my existing codebase.
I like F# — I think it’s a nice, clean language with good roots, I like type providers. I haven’t built anything big with it but my experiences learning it and playing with it have been good.
I don't feel there is a big difference in features between F# and Scala. Why didn't you go for Scala?
Oh yes, you already mentioned upgrading versions was a pain.
I have only been using it for three months, didn't feel /that/ pain yet
Kotlin may be a better fit then, it seems like a modernized stripped down version of Scala with some handy extra features around null-safe programming
I think F# is much nicer language than Scala...
Ostensibly yes, but if you look past the horrible syntax, it offers more or less the same feature set
Scala also has higher kinded types. I don't really care about them yet, because I don't know how to use them 😛.
But syntax is a big issue, subjective tho’ it is. Syntax is why a lot of people "don’t like" Clojure/Lisp, for example.
True. I find F# or Haskell reads much better than Lisp.
However, I don't like camel-casing. I prefer hyphens like in Lisp.
Scala is really eye-bleeding. Also I have wondered about some library names Scala people choose. Like: Scalariform. Could one come up with an uglier name?
For me the worst thing about Scala is the two-headed beast nature of it: it’s unabashedly an OOP language, sold as a "Better Java", and at the same time it tries hard to be a rigidly type-preserving FP language. It’s neither fish nor fowl.
Has anyone messed with Lux? (https://github.com/LuxLang/lux)
Scala is (mostly) immutable OO with function objects added.
@seancorfield: Thanks
What I liked most about scala were the case classes. It's these tiny little things that bring me joy or pain. Just like maps / vecs in clojure :simple_smile:
Case classes are really nice
Yes, this. Which is really what annoys me most about Scala. https://clojurians.slack.com/archives/other-languages/p1462812575000410 And, yes, case classes are nice.
@seancorfield: what annoys you about it?
It’s OOP first and foremost with FP "bolted on". And most Scala code out there is either "Better Java" (OOP with some immutability) or "Haskell in Scala clothing" (e.g., Scala Z).
Back when we were doing Scala at work, I went to quite a few Scala conferences (several of LiftOff, ScalaDays etc) and some of the stuff folks were doing with implicits and the most esoteric aspects of the type system were… mind-boggling and not in a good way.
I ran into someone from a bank who’d been sent to the conference to evaluate Scala and its community as an option for them to move on from Java… and she said after a day and a half of that, she couldn’t possibly recommend it to her team.
LOL
Scala is a "kitchen sink" language. It has "everything", and it tries hard to be all things to all people.
That was C++’s problem too (and I say that as a former long-time member of X3J16).
@seancorfield: when was this?
I was doing Scala in 2009/2010...
We still had Scala in production in 2011 but we’d started the switch to Clojure and by mid-2011 we’d abandoned Scala altogether.
I’ve gone back to it a couple of times for Coursera courses and "to play". And it still frustrates me in the same ways it did when I used it for production work :simple_smile:
I've also done the coursera course
"To become learned, each day add something. To become enlightened, each day drop something."