(开放)迪伦与其他编程语言有何不同?
现在有很多编程语言,比如函数式编程、面向对象编程、动态类型或静态类型,或者这些特性的一些组合。
最近我注意到一个新发布的语言:http://opendylan.org/news/2011/12/10/new_release.html
它叫做Open Dylan。
那么,为什么人们会觉得学习这门编程语言有意思呢?毕竟已经有Clojure、Python、Java、Scala、C#、Common Lisp和Scheme等语言,它们的社区更大、活跃,而且有更多的库可以使用。
我希望这篇帖子不会因为“太主观”而被关闭,我只是想知道Dylan和其他编程语言有什么不同之处!
3 个回答
乍一看,这种语言像是Lisp语言,但语法更像我们常见的编程语言。
像C#这样的语言没有Lisp那种强大的元编程功能,而Lisp的语法对很多程序员来说看起来也不太好看。Dylan语言似乎把Lisp的特点和“正常”语言的语法结合在一起,这种组合确实很吸引人。
Dylan语言最酷的地方在于它的对象系统。Common Lisp有一个叫做CLOS(Common Lisp对象系统)的对象系统,基本上是所有对象系统中的佼佼者,但Common Lisp有个问题,就是设计上有点杂乱。Dylan的开发者希望能拥有CLOS的强大功能,但设计得更干净、更清晰。
Dylan的一个特别之处在于,它使用多重方法(multimethods),而这些方法是独立于对象的。这真的很棒,但一开始可能不太容易看出它的好处。
另外,Dylan还有一个宏系统,运行得相当不错。我还没见过其他语言有比它更好的宏系统。
总的来说,Dylan是一门非常棒的语言,只是运气不太好。每个人都应该尝试学习一些Dylan,这是一门能教给我们很多东西的语言。OpenDylan团队继承了大量的代码(包括编译器和库等),他们正在努力让这些代码可以投入生产使用。
这里有几个问题合在一起。
Dylan是什么?可以看看它的维基百科页面,这是个不错的开始。Dylan的特别之处在于,它是一种Lisp语言,但没有Lisp那种复杂的语法。这在Dylan刚被提出时吸引了不少人。此外,Dylan还实现了一个相当强大的宏系统(这可以说是Lisp的一大优势),而且没有Lisp的语法。
今天Dylan为什么有趣?其实它只是另一种编程语言,而且还是比较老的那种。它是在90年代初设计的,所以现在有很多更新的语言。不过,如果你喜欢Lisp的风格,但又不想用那种语法,Dylan可能是最好的选择。
Dylan对你来说有什么特别之处?这是个主观的问题,主要看你自己。你对什么感兴趣?你的目标是什么?你现在使用的工具是什么,是否对它们不满意?