首先我承认我不是函数式语言高手,甚至谈不上高手。但是我有一点想问那些比较精通函数式语言的人,在提供了相同功能的情况下,函数式语言比起命令式语言有什么优点?
1、更有效率?
这个肯定不好说
2、更符合问题模型?
这个也未必吧。表的递规和函数表达之类的东西,用函数式语言比较“直观”。甚至有的时候看着Haskell的代码会有看见了课本的错觉。
3、更能帮助你进行模块化?
我不觉得我看过的函数式语言中提出了什么超越了主流OO语言的模块化功能。这个需要大家多多指导。
4、更好上手?
至少从人力资源的角度,用haskell用O'caml肯定要进行人员培训的(国内),而用C多少大家都会一点。
5、相关支持完善?
不少paper是研究语言和编译原理的,研究想管调试,错误处理等周边支持的paper是很少的。学院派的东西就是这样的,无法支持工业强度的应用。虽然erlang和lisp几个是例外,但是既便是这些佼佼者,我看和java和C#还是没得比的。
6、我承认一点是对个人来说,学习函数式语言来开拓思维是非常好的,可以让你看看窗外的世界。但是我并没有看到用函数式语言来写产品代码有什么好处。至少维护就是一个麻烦。而且在我看来,除了lisp这样的语言,很多函数式语言就是欧洲一小撮学院一小群人在玩。我们能在其中看到一些不同的思想,但是仅此而已了。
1、更有效率?
这个肯定不好说
2、更符合问题模型?
这个也未必吧。表的递规和函数表达之类的东西,用函数式语言比较“直观”。甚至有的时候看着Haskell的代码会有看见了课本的错觉。
3、更能帮助你进行模块化?
我不觉得我看过的函数式语言中提出了什么超越了主流OO语言的模块化功能。这个需要大家多多指导。
4、更好上手?
至少从人力资源的角度,用haskell用O'caml肯定要进行人员培训的(国内),而用C多少大家都会一点。
5、相关支持完善?
不少paper是研究语言和编译原理的,研究想管调试,错误处理等周边支持的paper是很少的。学院派的东西就是这样的,无法支持工业强度的应用。虽然erlang和lisp几个是例外,但是既便是这些佼佼者,我看和java和C#还是没得比的。
6、我承认一点是对个人来说,学习函数式语言来开拓思维是非常好的,可以让你看看窗外的世界。但是我并没有看到用函数式语言来写产品代码有什么好处。至少维护就是一个麻烦。而且在我看来,除了lisp这样的语言,很多函数式语言就是欧洲一小撮学院一小群人在玩。我们能在其中看到一些不同的思想,但是仅此而已了。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架