我是一名ASP.NET开发人员。我想学习与微软不同的Web开发技术和其他编程语言。我听说过两种语言,但我不知道哪种更好,也不知道如何在它们之间进行选择,特别是Clojure相对较新。
有没有人能告诉我为什么要选择其中一种而不是另一种呢?
谢谢。
我是一名ASP.NET开发人员。我想学习与微软不同的Web开发技术和其他编程语言。我听说过两种语言,但我不知道哪种更好,也不知道如何在它们之间进行选择,特别是Clojure相对较新。
有没有人能告诉我为什么要选择其中一种而不是另一种呢?
谢谢。
Clojure完全是另一种不同的动物。它是一种非常新的语言,完全是函数式的。如果您以前从未以函数式风格编程过,那么这可能会是一个范式转变,这将使您在一段时间内效率降低,但您几乎肯定会在此过程中学到很多东西。
它也是一种lisp语言,就像函数式编程一样,这可能意味着许多新事物需要学习,但在过程结束时会有很多启示。
它是一种非常优雅的语言,具有非常充满活力的社区。它也比Ruby快得多,并且随着新的1.2版本而变得越来越好。
因此,在积极方面:
在消极方面:
因此,总结如下:
如果您想在非常舒适的环境中学习新事物,并通过利用成熟的库快速构建项目,请选择Ruby。
如果您想学习更多的新事物,不介意完全进入新的领域,花更多的时间完成任务,并想参与可能正在修改我们对编程思维方式的社区,同时在过程中进行黑客攻击和娱乐,请选择Clojure ;)
从ASP切换到Ruby可能比切换到Clojure更容易,而且它有着更大的社区和生态系统。但是,如果你对函数式编程和/或并发功能感兴趣,那么你应该尝试一下Clojure。
Ruby是一种不错的语言,尽管我偏爱Django框架而非Rails。使用解释型语言时,我发现它们对线程的实现存在歧义。在Ruby和Python中,解释器始终只会同时处理一个线程。
至于Clojure,考虑一下你在使用它时需要多大的库。从.Net来看,你已经有一个庞大的库了。Python和Ruby在这方面已经相当成熟,你可以找到几乎任何想象得到的扩展。拥有一个大型库是如此容易被忽视,直到你没有它之前。在切换之前,看一看.Net nuke。虽然我没有用过,但它应该是.Net的模型/查看器层。