首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为了理解不同的方法和概念,需要学习哪些重要的语言?

为了理解不同的方法和概念,需要学习哪些重要的语言?
EN

Stack Overflow用户
提问于 2010-10-18 19:27:09
回答 24查看 31.3K关注 0票数 172

当你只有一把断线钳和一瓶伏特加时,一切看起来都像沃尔夫·布利泽船屋门上的锁。(如果你不读xkcd,请用锤子和钉子代替)

我目前编写Clojure、Python、Java和PHP程序,因此我熟悉C和LISP语法以及空格。我知道命令式、函数式、不可变式、OOP和一些类型系统以及其他东西。现在我想要更多!

哪些语言采取了不同的方法,对实用工具的选择或理论理解都很有用?

我不想学习另一种函数式语言(Haskell)或另一种命令式OOP语言(Ruby),也不想练习像Brainfuck这样不切实际的有趣语言。

我发现自己有一件非常有趣的事情,那就是基于单图标堆栈的语言,比如Factor。

只有当我觉得我理解了大多数概念,并且对我所有的问题都有了答案时,我才想开始思考我自己的玩具语言,以包含我所有的个人偏好。

EN

回答 24

Stack Overflow用户

回答已采纳

发布于 2010-10-18 20:10:34

实用性问题是非常主观的,所以我简单地说,学习不同的语言范例只会让你成为一名更好的程序员。还有什么比这更实际的呢?

Functional,Haskell -我知道你说过你不想,但你真的应该重新考虑一下。您已经通过Clojure甚至Python获得了一些函数式公开,但是在没有Haskell的情况下,您还没有充分体验过它。如果你真的反对哈斯克尔,那么好的折衷方案是ML或OCaml。

声明性,Datalog --很多人会在这里推荐Prolog,但我认为Datalog是声明性语言的一个更清晰的例子。

我才刚刚发现J,但我发现它是一门令人惊叹的语言。它会把你的思想扭曲成椒盐卷饼。你会为此感谢J的。

堆栈,因子/第四因子非常强大,我计划尽快深入研究它。Forth是堆栈语言的鼻祖,作为额外的奖励,它是simple to implement自己。有一些关于通过实现来学习的东西要说。

Dataflow,Oz -我认为Oz的影响力正在上升,并且在未来只会继续增长。

基于原型的JavaScript / Io / Self - Self是每种基于原型的语言的始祖,并具有很高的影响力。这与基于类的OOP不同,不应该这样对待。许多人开始使用原型语言并创建一个特别的类系统,但是如果你的目标是扩展你的思维,那么我认为这是一个错误。充分利用这门语言。请阅读Organizing Programs without Classes以获取想法。

专家系统,CLIPS -我总是推荐它。如果您了解Prolog,那么您很可能会在提高速度方面占据上风,但它是一种非常不同的语言。

Frink - Frink是一种通用语言,但它以其单位转换系统而闻名。我发现这种语言非常鼓舞人心,它坚持不懈地想要在它所做的事情上做到最好。另外..。这真的很有趣!

Functional+Optional Types,Qi --你说你有使用过一些类型系统的经验,但是你有使用“可换皮的*类型系统”的经验吗?没有人有……但他们应该有。Qi在很多方面都像Lisp,但是它的类型系统会让你大吃一惊。

演员+容错,Erlang -Erlang的进程模型引起了很多关注,但它的容错和热代码交换机制改变了游戏规则。你不会学到很多Clojure学不到的关于FP的知识,但它的FT特性会让你想知道为什么更多的语言似乎不能正确地做到这一点。

享受吧!

票数 287
EN

Stack Overflow用户

发布于 2010-10-18 19:31:42

Prolog (用于统一/回溯等),Smalltalk (用于“一切都是消息”),Forth (反向抛光,线程解释器等),Scheme (继续)呢?

Art of the Metaobject Protocol不是一种语言,但它是一种令人费解的东西

票数 33
EN

Stack Overflow用户

发布于 2010-10-18 20:14:20

我支持哈斯克尔。不要认为“我懂Lisp,所以我懂函数式编程”。听说过类型类吗?代数数据类型?Monads?“现代”(或多或少-至少不到50年;) )函数式语言,特别是Haskell,探索了太多非常强大的有用的新概念。类型类添加了即席多态性,但类型推断(您已经知道的语言还没有的另一件事)的工作方式很有吸引力。代数数据类型简直太棒了,特别是对于像树一样的数据结构建模,但对于枚举或简单记录也很好用。还有单子星。好吧,这么说吧,人们用它们来做异常,I/O,解析器,列表理解等等--以纯函数式的方式!

此外,整个主题的深度足以让人忙碌数年;)

票数 33
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3958630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档