p*****2 发帖数: 21240 | |
y*******g 发帖数: 6599 | 2 不用node了?clojure 二爷打算用在什么场合 |
p*****2 发帖数: 21240 | 3
node 也用, clojure做算法。
【在 y*******g 的大作中提到】 : 不用node了?clojure 二爷打算用在什么场合
|
r*******n 发帖数: 3020 | 4 期待二爷有时间写写 clojure vs scala
【在 p*****2 的大作中提到】 : 以后就是它了
|
c****e 发帖数: 1453 | |
p*****2 发帖数: 21240 | 6
scala:
OO, FP, imperative 混杂在一起,上手可能更容易一点,因为大家都熟悉OO和
imperative,但是语言变的复杂化了。
并发:AKKA,actor model 非常适合大型的分布式应用的开发, 如果开发大型应用应选
scala
静态类型,开发速度会比较慢,如果对Scala不是很熟悉,开发效率也未必比Java高
clojure:
基本上纯FP,上手可能更难一点,但是上手之后就是一个爽字了。
并发:STM model, 使得多线程编程更容易,也使得FP里面可以mutate state, thread
safe, 开发一般程序足够了,但是开发大型分布式应用明显不如AKKA
动态类型,适合快速开发
总的来说scala语言复杂,功能强大,clojure语言简单(熟悉以后),属于小快灵的风
格。两者对尾递归的支持都差不多。
【在 r*******n 的大作中提到】 : 期待二爷有时间写写 clojure vs scala
|
p*****2 发帖数: 21240 | 7
大家学一门新的语言应该就是1,2天吧。但是python,java这种例外。
【在 c****e 的大作中提到】 : 每次都是用两天就感悟。。。
|
g****r 发帖数: 1589 | 8 clojure不给力,fp就挺异端的了,lisp更异端,括号套括号套死你,写的程序一点美
感都没有
【在 p*****2 的大作中提到】 : 以后就是它了
|
d******3 发帖数: 70 | 9 和Haskell比呢?我觉得Haskell也挺爽的呀。没学过clojure。
thread
【在 p*****2 的大作中提到】 : : 大家学一门新的语言应该就是1,2天吧。但是python,java这种例外。
|
T******7 发帖数: 1419 | 10 Haskell is good stuff.
Common Lisp is good stuff .
.
★ 发自iPhone App: ChineseWeb 7.8
【在 d******3 的大作中提到】 : 和Haskell比呢?我觉得Haskell也挺爽的呀。没学过clojure。 : : thread
|
|
|
p*****2 发帖数: 21240 | 11
感觉可以优化。
【在 g****r 的大作中提到】 : clojure不给力,fp就挺异端的了,lisp更异端,括号套括号套死你,写的程序一点美 : 感都没有
|
p*****2 发帖数: 21240 | 12
以前看过一下,很多跟scala差不多。据说Haskell是最纯的FP?是不是state mutation
那里就复杂了?
【在 d******3 的大作中提到】 : 和Haskell比呢?我觉得Haskell也挺爽的呀。没学过clojure。 : : thread
|
d*******r 发帖数: 3299 | 13 为什么要混用,node.js 写复杂点的算法不行吗?
另外,一直没搞懂,为什么clojure没有scala那么流行。
Clojure貌似可以寄生在任何一门语言中: http://langlangmatrix.com/
二爷是要用 ClojureScript 和 Node.js 一起用吗? 这样就全是 JavaScript 了
发个好玩的 IDE,Clojure 专用,支持所谓 Live coding
http://www.chris-granger.com/lighttable/ |
d******3 发帖数: 70 | 14 Haskell是static typed,可能对静态语言的粉丝有吸引力。 state mutation觉得没有
很复杂。感觉closure最大的优势是支持JVM的库。在库的量上Haskell没法比。另外
Performance Reasoning也一直是Haskell的软骨。
mutation
【在 p*****2 的大作中提到】 : : 以前看过一下,很多跟scala差不多。据说Haskell是最纯的FP?是不是state mutation : 那里就复杂了?
|
T******7 发帖数: 1419 | 15 I m not a fan if Dynamic typing ,
★ 发自iPhone App: ChineseWeb 7.8
【在 d******3 的大作中提到】 : Haskell是static typed,可能对静态语言的粉丝有吸引力。 state mutation觉得没有 : 很复杂。感觉closure最大的优势是支持JVM的库。在库的量上Haskell没法比。另外 : Performance Reasoning也一直是Haskell的软骨。 : : mutation
|
l*****t 发帖数: 2019 | 16 不是说closure这两年的adoption没有Scala快了。
我个人认为,我们不比language性能,我们比community。
thread
【在 p*****2 的大作中提到】 : : 以前看过一下,很多跟scala差不多。据说Haskell是最纯的FP?是不是state mutation : 那里就复杂了?
|
p*****2 发帖数: 21240 | 17
比这干吗,不都是个玩吗?什么好玩玩什么?
【在 l*****t 的大作中提到】 : 不是说closure这两年的adoption没有Scala快了。 : 我个人认为,我们不比language性能,我们比community。 : : thread
|
p*****2 发帖数: 21240 | 18
Clojure的优势是JVM。有些东西不支持node。
【在 d*******r 的大作中提到】 : 为什么要混用,node.js 写复杂点的算法不行吗? : 另外,一直没搞懂,为什么clojure没有scala那么流行。 : Clojure貌似可以寄生在任何一门语言中: http://langlangmatrix.com/ : 二爷是要用 ClojureScript 和 Node.js 一起用吗? 这样就全是 JavaScript 了 : 发个好玩的 IDE,Clojure 专用,支持所谓 Live coding : http://www.chris-granger.com/lighttable/
|
p*****2 发帖数: 21240 | 19
大牛能稍微讲一下state mutation在Haskell里是什么机制吗?
【在 d******3 的大作中提到】 : Haskell是static typed,可能对静态语言的粉丝有吸引力。 state mutation觉得没有 : 很复杂。感觉closure最大的优势是支持JVM的库。在库的量上Haskell没法比。另外 : Performance Reasoning也一直是Haskell的软骨。 : : mutation
|
p*****2 发帖数: 21240 | 20
感觉不太适合做算法呀。set也没有,hash想看size貌似也看不了。
【在 d*******r 的大作中提到】 : 为什么要混用,node.js 写复杂点的算法不行吗? : 另外,一直没搞懂,为什么clojure没有scala那么流行。 : Clojure貌似可以寄生在任何一门语言中: http://langlangmatrix.com/ : 二爷是要用 ClojureScript 和 Node.js 一起用吗? 这样就全是 JavaScript 了 : 发个好玩的 IDE,Clojure 专用,支持所谓 Live coding : http://www.chris-granger.com/lighttable/
|
|
|
d******3 发帖数: 70 | 21 不是大牛,抛块砖头看看。Haskell认为95%的程序都可以用纯粹的FP来实现,完全不需
要mutable state。剩下5%的代码不得不用state来实现。所以Haskell就把纯和不纯的
Function严格区分出来,就像黑白两个世界一样,让程序员一目了然。所以从这方面来
说,Haskell也不是纯粹的FP语言。但是当state的转变被压缩到一小块程序中后,逻辑
思路就比较容易整理清晰。不知道Closure是不是也有类似的机制? 我最欣赏Haskell
的地方就是它既有静态语言的type checking,又有动态语言的简洁性,就是上手慢一
点。
【在 p*****2 的大作中提到】 : : 感觉不太适合做算法呀。set也没有,hash想看size貌似也看不了。
|
p*****2 发帖数: 21240 | 22
Haskell
多谢大牛。我比较关心concurrency, 这个Haskell是怎么解决的?对于state mutation
来说。
【在 d******3 的大作中提到】 : 不是大牛,抛块砖头看看。Haskell认为95%的程序都可以用纯粹的FP来实现,完全不需 : 要mutable state。剩下5%的代码不得不用state来实现。所以Haskell就把纯和不纯的 : Function严格区分出来,就像黑白两个世界一样,让程序员一目了然。所以从这方面来 : 说,Haskell也不是纯粹的FP语言。但是当state的转变被压缩到一小块程序中后,逻辑 : 思路就比较容易整理清晰。不知道Closure是不是也有类似的机制? 我最欣赏Haskell : 的地方就是它既有静态语言的type checking,又有动态语言的简洁性,就是上手慢一 : 点。
|
l*****t 发帖数: 2019 | 23 这个有什么课可以上面,感觉有很想回学校问教授的想法。
以前在学校里学这些个东东的时候哪里有什么concurrent 不concurrent ,都是
immutable 没有mutable的。我在想是不是哪些个人的研究方向,应该有些课程或
seminar 什么的听听吧。
mutation
【在 p*****2 的大作中提到】 : : Haskell : 多谢大牛。我比较关心concurrency, 这个Haskell是怎么解决的?对于state mutation : 来说。
|
d******3 发帖数: 70 | 24 刚粗略看了下Clojure,觉得在state mutation方面是比Haskell简化了。haskell里主
要还是靠monad来实现。monad是公认的难学,不过monad一旦做好了后,就使得不纯的
function具有了和纯function类似的特质,并发就变得很简单了。我总有点疑虑,
clojure的这种简化是不是还是要花一些代价的,总体来说。另外FP在把很多function
合成一个系统的时候,有type checking还是一个挺大的advantage吧。
mutation
【在 p*****2 的大作中提到】 : : Haskell : 多谢大牛。我比较关心concurrency, 这个Haskell是怎么解决的?对于state mutation : 来说。
|
p*****2 发帖数: 21240 | 25
function
看了看Haskell上也是STM吧?我个人比较喜欢dynamic的language,因为可以快速开发
。
【在 d******3 的大作中提到】 : 刚粗略看了下Clojure,觉得在state mutation方面是比Haskell简化了。haskell里主 : 要还是靠monad来实现。monad是公认的难学,不过monad一旦做好了后,就使得不纯的 : function具有了和纯function类似的特质,并发就变得很简单了。我总有点疑虑, : clojure的这种简化是不是还是要花一些代价的,总体来说。另外FP在把很多function : 合成一个系统的时候,有type checking还是一个挺大的advantage吧。 : : mutation
|
p*****2 发帖数: 21240 | 26
大牛全都学过呀?我都是自学
【在 l*****t 的大作中提到】 : 这个有什么课可以上面,感觉有很想回学校问教授的想法。 : 以前在学校里学这些个东东的时候哪里有什么concurrent 不concurrent ,都是 : immutable 没有mutable的。我在想是不是哪些个人的研究方向,应该有些课程或 : seminar 什么的听听吧。 : : mutation
|
d******3 发帖数: 70 | 27 haskell 也用STM。记得好像它是比较早用STM的。
【在 p*****2 的大作中提到】 : : 大牛全都学过呀?我都是自学
|
p*****2 发帖数: 21240 | 28
感觉STM用处不是很大呀。Clojure对异步的支持真是不怎么样。怪不得争不过Scala。
【在 d******3 的大作中提到】 : haskell 也用STM。记得好像它是比较早用STM的。
|
s***o 发帖数: 2191 | 29 那你最新的选择是...?
【在 p*****2 的大作中提到】 : : 感觉STM用处不是很大呀。Clojure对异步的支持真是不怎么样。怪不得争不过Scala。
|
p*****2 发帖数: 21240 | 30
感觉还是scala靠谱点。准备看看用pure FP来编程看看效果如何。
【在 s***o 的大作中提到】 : 那你最新的选择是...?
|