【发布时间】:2011-09-04 04:49:58
【问题描述】:
我从 Java 学习编程,然后尝试每年学习一种编程语言,其次是 C++,然后是 Python。它来学习下一个,我寻找新的东西,我选择了 Scala,因为它与 Java 兼容,并且可能是从 OOP 到函数式编程的某种过渡。
很酷,学习新范式、新风格和新思维方式。阅读优雅的 Scala 概念是很棒的体验,而且在 Scala 上编写代码要好得多。
阅读了很多我面对this批评Scala的文章:
Scala 不是函数式编程语言。它是一种带有闭包的静态类型的面向对象语言。
看了这篇文章后,我产生了一些疑问,我真的很喜欢 Scala,并且开始更多地写 Scala,但是 Scala 适合函数式编程的定义吗?那篇文章是说真话还是只是假装读者?我必须学习 Haskell 或其他函数式编程语言才能真正体验 FP 吗?
更新:期待合理的答案,提供好的例子,不会引起争议。
【问题讨论】:
-
请删除所有与问题无关的个人意见。这浪费了我们宝贵的时间,这些时间应该投入到解决您的问题上。
-
谢谢,我已经更新了问题。
-
“面向对象的语言鼓励过度使用状态和继承。” “函数式语言鼓励过度使用高阶编程。” (来自 Peter van Roy och Seif Haridi。版权所有 © 2004。0-262-22069-5。麻省理工学院出版社。计算机编程的概念、技术和模型。)。
-
这个问题无法回答,因为没有明确定义什么是函数式语言。您当然可以在 Scala 中以函数式风格进行编程。这是否使它起作用?
标签: java python scala haskell functional-programming