我推荐 F#
1. 类似 ocaml 的函数式编程语言,自带不可变数据结构
兼容 .Net 生态,支持完整的面向对象编程范式
2. 大多数 F# 程序运行在 .Net Runtime 之上,开发者不用关心 GC
3. 如果你要让 F# 运行在 .Net 平台上,有 Nuget 包管理可以用,生态非常丰富,从机器学习到移动端应用开发,都有支持
如果你要让 F# 运行在浏览器平台上,那么整个 npm 的资源也可以为你所用
4. 语法上每年都有更新,[同样的程序,写起来比 C# 要简洁] (
https://fsharpforfunandprofit.com/why-use-fsharp/)
5. 可以跟 C# 用同一套 IDE 、性能诊断工具,除了 MS Visual Studio 之外,还可以使用 VS Code 、JetBrains Rider 来开发
BTW ,楼主好像对 haskell 这种偏学院派的函数式语言不太感冒,这跟 F# 的设计初衷也有点类似。因为 F# 开发者认为 Monad 在绝大多数程序员实际业务开发中用的很少,且为了跟 .Net 生态兼容, 所以 F# 没有提供高阶类型的特性。不在意这一点的话,F# 确实是不错的 side project 语言。