Scala as a close second!
261 karma · joined October 25, 2016
Scala as a close second!
But the community is interested in a lot of things, so F# doesn't have a real "singular" focus, like Go(backend systems/api's).
F#'s ties with Microsoft is a big productivity boon, but also seems to work against it sometimes...still the community really gets stuff done instead, because it's such a practical language!
There are (recent) threads out there on the interwebs were people suggest using Cats Effect or ZIO(or as a better Python) without it being hateful. And there are enough people not going at each other because of some effect library.
I am not saying everything is good, there is enough room for improvement, but I feel like you have an outdated view of the Scala ecosystem. For example "ecosystem firmly split between ZIO and Cats" doesn't ring true either, there are tools/libraries like, scala-cli and Mill or tapir coming out that offer a more pragmatic experience, without locking you down to the pure FP dogmatism.
> a prominent "middle ground" member of the community disappeared after accusations that he was a sexual abuser
Yes, this stirred up a lot of controversy and I found this indeed a failure of the Scala community, I don't think that means things haven't gotten better though.
Hell the worst thing the Scala Discord deals with it are spambots!
You could also use a thing like a neovim distribution that has which-key support.
Does its job, gets out of my and helpful docs as well.
I hope they figure out the plugin system, but honestly, if they'd just add something like Telescope(an absolutely amazing neovim plugin), I'd be more than happy enough.
Thanks so much the author!
The downside of this approach is the ecosystem isn't that big compared to JS.
LogSeq also has experimental Android support: https://github.com/logseq/logseq/releases/tag/0.5.8
It's certainly been getting better and the focus is also on tooling, so I'm hopeful!
The adoption isn't like Rust and Go, but Nim is growing: https://github.com/nim-lang/Nim/wiki/Organizations-using-Nim and the community is active across all socials.
Some downsides: not a big ecosystem(tho can piggyback off C libraries) and tooling isn't great.
Advent of Code would be a great way to dip your toes into a language you might not really care about!
Could always try out F# if you think the grass is greener out there.
I'd be interested in some JVM vs .NET 6 benchmarks too, which platform to chose when.
EDIT: I know about the benchmarks and I also feel like sometimes these benchmarks are really optimized in a non-idiomatic way. I would love to know how performance idiomatic Java/.NET code is and if one is to start a new project today why one would choose the JVM over .NET or when someone would chose .NET over JVM.
But I kind of don't like the .NET ecosystem, it seems constantly changing but also at the same time incredibly stable? I can't really explain it well, but I hope F# learning resources not only focus on introducing FP concepts extremely well(which they really do!), but also learn how to deal with .NETisms.
Some things I didn't get and felt like I had to shift through C# tutorials/resources to understand:
- What exactly is a solution? Is a solution just a bunch of fsproj's en csproj's together? - What is an .NET Runtime assembly? - Do I use NuGet or Paket? Paket seems to be the most recommended, but apparently NuGet has caught up?
Now a lot of these questions are trivial, but I felt like that the docs teach you really well the simplicity, power and awesomeness of F#, but they don't really tell you how to deal with the beast that is .NET
There have been a lot of awesome resources that do teach you these things, and I'm looking forward to seeing more of it from the sweet F# community. F# 6 seems like another step in the right direction!
But for some anecdotal nuance concerning the React example: > Take React for example. It's an abstraction, arguably a new "language", and requires ample documentation and usability concessions to be palatable. You could accomplish this with macros as well.
I feel like the standard before React was just every (web) framework inventing its own templating language, whereas I found React to be really easy to learn, because the way it abstracted things were straightforward and well explained. It's tooling however is one of the scariest things I've ever seen haha.
Extremely, extremely true!
There is: https://github.com/inim-repl/INim and the builtin `nim secret`.
There is also a Jupyter kernel: https://github.com/stisa/jupyternim