Redian新闻
>
Clojure主要用途是什么?
avatar
p*2
2
fp
avatar
d*e
3
我想知道是哪个领域,交易?图像?还是并发?

【在 p*****2 的大作中提到】
: fp
avatar
l*n
4
大并发

【在 d******e 的大作中提到】
: 我想知道是哪个领域,交易?图像?还是并发?
avatar
p*2
6
这个不如go

【在 l**********n 的大作中提到】
: 大并发
avatar
l*n
7
单机还是集群?

【在 p*****2 的大作中提到】
: 这个不如go
avatar
a*n
8
主要用途是练习数括号的技术
搞了几个月的Lisp
果断决定跳scala不跳clojure了

【在 d******e 的大作中提到】
: t
avatar
l*n
9
scala不是一个更大的坑?too much DSL

【在 a******n 的大作中提到】
: 主要用途是练习数括号的技术
: 搞了几个月的Lisp
: 果断决定跳scala不跳clojure了

avatar
h*i
10
为啥需要数括号?有工具的啊。
我用vim的,用paredit插件,从来不用数括号。用emacs的人肯定也不用数括号。用了
lisp,就要用结构性编辑器,利用括号的结构为自己服务啊。
不会这么笨吧?居然以为别的lisp用户数括号的技术很好?居然还数了几个月,不会问
人的么,真能忍耐啊。

【在 a******n 的大作中提到】
: 主要用途是练习数括号的技术
: 搞了几个月的Lisp
: 果断决定跳scala不跳clojure了

avatar
h*i
11
我个人的看法,Clojure主要适用于繁杂的数据转换。现实中用Clojure的大部分人都在
用它做Web, 可能主要是因为web应用说白了就是数据的整合和转换。Clojure其他的功
能都是锦上添花。比如理论上很好听的大并发啦啥的其实用到的地方很少,算是吸引人
进来的噱头。人进来能呆下来的原因,其实是因为数据处理的方便。
Clojure日常编程主要的任务就是在用一些常用函数把几个常用数据结构折腾来折腾去
。Clojure代码的可读性很强,就在于常用的东西就那么几个。从某种意义上说,
Clojure把C系语言的常用结构扩展了一点点,从一切都是循环,变成了一切都是几十个
函数在几个数据结构上操作,记住了就完了。
当年我用C作主打语言的时候,其实也能记住标准库的所有函数,所以觉得Clojure其实
复杂程度和C也差不多。而Java更复杂,要理解一个Java写的东东需要很长时间,主要
是因为Java OOP把什么东西都包起来藏起来,而C和Clojure几乎都是裸露的数据结构。
我还是喜欢直白的东西,不愿意学别人的概念体系,也不喜欢用僵硬的体系机构来组织
程序。说白了,Clojure就是吧json放进语言里面,所以觉得爽。

【在 d******e 的大作中提到】
: t
avatar
h*i
12
我觉得一个语言社区的文化和口味有时候更重要。
Clojure社区的文化是反对随意发明DSL的,虽然有macro,搞DSL很容易,但其实
Clojure的DSL很少见。可能是因为用Clojure发明DSL很容易,所以没有人把发明DSL当
成一个可以炫耀的东西,这样反而DSL很少。大家都很注意重用已有的DSL,比如用来写
HTML的, 几乎所有库都自觉使用了hiccup这个DSL的语法,没有人人都去自己发明一个
出来,这样感觉比较好。

【在 l**********n 的大作中提到】
: scala不是一个更大的坑?too much DSL
avatar
p*2
13

集群这两都一般吧?要看akka, vertx吧?

【在 l**********n 的大作中提到】
: 单机还是集群?
avatar
z*e
14
dsl对于一般程序员来说会造成混乱
因为绝大多数程序员不懂domain knowledge
虽然也懂一点,但是毕竟不是一回事
所以能够创造出他们能够接受的dsl是这个东西的使命
我的意思不是让程序员去写dsl,而是让用户本身能够采纳程序员写出的dsl
然后做创造,举个例子
就像统计学家大部分人会用r
r就是一种dsl,如果能够创造出r这种dsl来,交给搞统计的去搞
而程序员负责把r脚本翻译成class的话,这种分工和协作就很理想了
这就有点像硬件工程师用c,软件工程师用java的那种感觉了
scala能造出这种轮子才是成功

【在 l**********n 的大作中提到】
: scala不是一个更大的坑?too much DSL
avatar
a*n
15
呵呵,确实比较笨,而且没人可问。全是自己搞。
用的是atom ,也有插件
写的时候都没问题
但是改code, 插入code, 删code 的时候常出错
插件能告诉你有没有缺括号什么的,
但是有时候括号没少但是地方不对
只好数括号
果断跳scala
Scala 和 swift 这样分号都可以不要的太爽了
clojure 这样一个procedure最后一堆括号的太受不了了。

【在 h*i 的大作中提到】
: 为啥需要数括号?有工具的啊。
: 我用vim的,用paredit插件,从来不用数括号。用emacs的人肯定也不用数括号。用了
: lisp,就要用结构性编辑器,利用括号的结构为自己服务啊。
: 不会这么笨吧?居然以为别的lisp用户数括号的技术很好?居然还数了几个月,不会问
: 人的么,真能忍耐啊。

avatar
n*3
16
r 的 dplyr 和 python 比 它 数据 处理 要强。
clojure performance is good and very productive.适合全站工臣狮

【在 h*i 的大作中提到】
: 我个人的看法,Clojure主要适用于繁杂的数据转换。现实中用Clojure的大部分人都在
: 用它做Web, 可能主要是因为web应用说白了就是数据的整合和转换。Clojure其他的功
: 能都是锦上添花。比如理论上很好听的大并发啦啥的其实用到的地方很少,算是吸引人
: 进来的噱头。人进来能呆下来的原因,其实是因为数据处理的方便。
: Clojure日常编程主要的任务就是在用一些常用函数把几个常用数据结构折腾来折腾去
: 。Clojure代码的可读性很强,就在于常用的东西就那么几个。从某种意义上说,
: Clojure把C系语言的常用结构扩展了一点点,从一切都是循环,变成了一切都是几十个
: 函数在几个数据结构上操作,记住了就完了。
: 当年我用C作主打语言的时候,其实也能记住标准库的所有函数,所以觉得Clojure其实
: 复杂程度和C也差不多。而Java更复杂,要理解一个Java写的东东需要很长时间,主要

avatar
t*r
17
clojure 是作前端么?不太理解。
avatar
e*o
18
clojuescript 编译成js

【在 t**r 的大作中提到】
: clojure 是作前端么?不太理解。
avatar
t*r
19
不是脱裤子放屁么?js这么好写

【在 e*******o 的大作中提到】
: clojuescript 编译成js
avatar
h*i
20
用LISP的人,括号都是编辑器管的,增删code都是以block为单位的,不会去一个字符
字符的搞,所以不会出现括号地方不对的问题。
结构性的代码就要用结构性的编辑器啊。LISP有括号,所以任何可扩展的编辑器很容易
就可以变成了LISP编辑器。我觉得atom啥的,如果是程序员用的编辑器,必然也有
paredit, 因为LISP语法这么规律的,太容易实现结构性编辑了。
这不,我随便一google就找到了,人还是要灵活点。
https://github.com/MarcoPolo/atom-paredit
笨到连个编辑器都不会弄的,能做好的程序员么?Are you kidding me?

【在 a******n 的大作中提到】
: 呵呵,确实比较笨,而且没人可问。全是自己搞。
: 用的是atom ,也有插件
: 写的时候都没问题
: 但是改code, 插入code, 删code 的时候常出错
: 插件能告诉你有没有缺括号什么的,
: 但是有时候括号没少但是地方不对
: 只好数括号
: 果断跳scala
: Scala 和 swift 这样分号都可以不要的太爽了
: clojure 这样一个procedure最后一堆括号的太受不了了。

avatar
h*i
21
clojure能做前端,用Clojurescript。
但目前很少有只用clojurescript而不用clojure作后端的。一般来说,后端已经用了
clojure的小组,为了前端能继续用他们喜欢的语言,还有就是追求前后端的对称性,
比如用同样的代码来进行HTML渲染,很多人就在前端也用clojurescript。
特别是现在clojure 1.7引入条件编译以后,同一个cljc文件可以同时含有clj和cljs代
码,就更能促进前后端的代码共用。

【在 t**r 的大作中提到】
: clojure 是作前端么?不太理解。
avatar
h*i
22
你说的数据处理是numerical analysis,已经是规整的矩阵数据了。我说的数据处理是
日常的ETL,是进来乱七八糟各种各样的数据,出去也是乱七八糟各种各样的数据。
clojure作numerical analysis现在还不行,主要是没有有闲的专业人士来弄。学术界
的人用clojure的很少,用clojure的人大都是搞web应用的,没这闲功夫,可能也没有
能力来弄比较好的numerical analysis库,需要啥的时候,得自己弄。
至于乱七八糟数据的ETL,还没有比clojure更方便的。

【在 n*****3 的大作中提到】
: r 的 dplyr 和 python 比 它 数据 处理 要强。
: clojure performance is good and very productive.适合全站工臣狮

avatar
h*i
23
js好写?
好写就不会有《javascript, the good part》,这样的名著了。

【在 t**r 的大作中提到】
: 不是脱裤子放屁么?js这么好写
avatar
z*e
24

etl这是在说streaming吗?storm
的确现在spark还不行,kafka几个也都一般般
就等flink出来看看效果了

【在 h*i 的大作中提到】
: 你说的数据处理是numerical analysis,已经是规整的矩阵数据了。我说的数据处理是
: 日常的ETL,是进来乱七八糟各种各样的数据,出去也是乱七八糟各种各样的数据。
: clojure作numerical analysis现在还不行,主要是没有有闲的专业人士来弄。学术界
: 的人用clojure的很少,用clojure的人大都是搞web应用的,没这闲功夫,可能也没有
: 能力来弄比较好的numerical analysis库,需要啥的时候,得自己弄。
: 至于乱七八糟数据的ETL,还没有比clojure更方便的。

avatar
h*i
25
streaming是一个能很好表现Clojure ETL能力的地方,所以难怪storm比较成功。
还有一个领域是log processing,也有点streaming的味道,所以riemann也比较成功。
这个更极端,连config文件都要求用户直接写clojure,搞得很多system admin能写点
clojure了。

【在 z****e 的大作中提到】
:
: etl这是在说streaming吗?storm
: 的确现在spark还不行,kafka几个也都一般般
: 就等flink出来看看效果了

avatar
z*e
26
一般data处理分为
dataset也就是batch processing
和datastream,也就是real time processing
前者基本上快被scala统一了,spark比较红火
后者目前最好用的是clojure,也就是storm
flink如果能统一这两个,或者直白点说
就是直接抄袭这两个,那就太好了
avatar
a*n
27
怎么这么激动。。。Are you kidding me 都上来了。。。
我确实比较笨, 也不是好的程序猿。不知道paredit这么个东西。
不过看到这么多括号还是犯晕。
LISP在业内的外号是啥?
Lots of Irritating and Stupid Parentheses
还是跳scala喽。

【在 h*i 的大作中提到】
: 用LISP的人,括号都是编辑器管的,增删code都是以block为单位的,不会去一个字符
: 字符的搞,所以不会出现括号地方不对的问题。
: 结构性的代码就要用结构性的编辑器啊。LISP有括号,所以任何可扩展的编辑器很容易
: 就可以变成了LISP编辑器。我觉得atom啥的,如果是程序员用的编辑器,必然也有
: paredit, 因为LISP语法这么规律的,太容易实现结构性编辑了。
: 这不,我随便一google就找到了,人还是要灵活点。
: https://github.com/MarcoPolo/atom-paredit
: 笨到连个编辑器都不会弄的,能做好的程序员么?Are you kidding me?

avatar
d*e
28
t
avatar
p*2
29
fp
avatar
d*e
30
我想知道是哪个领域,交易?图像?还是并发?

【在 p*****2 的大作中提到】
: fp
avatar
l*n
31
大并发

【在 d******e 的大作中提到】
: 我想知道是哪个领域,交易?图像?还是并发?
avatar
p*2
33
这个不如go

【在 l**********n 的大作中提到】
: 大并发
avatar
l*n
34
单机还是集群?

【在 p*****2 的大作中提到】
: 这个不如go
avatar
a*n
35
主要用途是练习数括号的技术
搞了几个月的Lisp
果断决定跳scala不跳clojure了

【在 d******e 的大作中提到】
: t
avatar
l*n
36
scala不是一个更大的坑?too much DSL

【在 a******n 的大作中提到】
: 主要用途是练习数括号的技术
: 搞了几个月的Lisp
: 果断决定跳scala不跳clojure了

avatar
h*i
37
为啥需要数括号?有工具的啊。
我用vim的,用paredit插件,从来不用数括号。用emacs的人肯定也不用数括号。用了
lisp,就要用结构性编辑器,利用括号的结构为自己服务啊。
不会这么笨吧?居然以为别的lisp用户数括号的技术很好?居然还数了几个月,不会问
人的么,真能忍耐啊。

【在 a******n 的大作中提到】
: 主要用途是练习数括号的技术
: 搞了几个月的Lisp
: 果断决定跳scala不跳clojure了

avatar
h*i
38
我个人的看法,Clojure主要适用于繁杂的数据转换。现实中用Clojure的大部分人都在
用它做Web, 可能主要是因为web应用说白了就是数据的整合和转换。Clojure其他的功
能都是锦上添花。比如理论上很好听的大并发啦啥的其实用到的地方很少,算是吸引人
进来的噱头。人进来能呆下来的原因,其实是因为数据处理的方便。
Clojure日常编程主要的任务就是在用一些常用函数把几个常用数据结构折腾来折腾去
。Clojure代码的可读性很强,就在于常用的东西就那么几个。从某种意义上说,
Clojure把C系语言的常用结构扩展了一点点,从一切都是循环,变成了一切都是几十个
函数在几个数据结构上操作,记住了就完了。
当年我用C作主打语言的时候,其实也能记住标准库的所有函数,所以觉得Clojure其实
复杂程度和C也差不多。而Java更复杂,要理解一个Java写的东东需要很长时间,主要
是因为Java OOP把什么东西都包起来藏起来,而C和Clojure几乎都是裸露的数据结构。
我还是喜欢直白的东西,不愿意学别人的概念体系,也不喜欢用僵硬的体系机构来组织
程序。说白了,Clojure就是吧json放进语言里面,所以觉得爽。

【在 d******e 的大作中提到】
: t
avatar
h*i
39
我觉得一个语言社区的文化和口味有时候更重要。
Clojure社区的文化是反对随意发明DSL的,虽然有macro,搞DSL很容易,但其实
Clojure的DSL很少见。可能是因为用Clojure发明DSL很容易,所以没有人把发明DSL当
成一个可以炫耀的东西,这样反而DSL很少。大家都很注意重用已有的DSL,比如用来写
HTML的, 几乎所有库都自觉使用了hiccup这个DSL的语法,没有人人都去自己发明一个
出来,这样感觉比较好。

【在 l**********n 的大作中提到】
: scala不是一个更大的坑?too much DSL
avatar
p*2
40

集群这两都一般吧?要看akka, vertx吧?

【在 l**********n 的大作中提到】
: 单机还是集群?
avatar
z*e
41
dsl对于一般程序员来说会造成混乱
因为绝大多数程序员不懂domain knowledge
虽然也懂一点,但是毕竟不是一回事
所以能够创造出他们能够接受的dsl是这个东西的使命
我的意思不是让程序员去写dsl,而是让用户本身能够采纳程序员写出的dsl
然后做创造,举个例子
就像统计学家大部分人会用r
r就是一种dsl,如果能够创造出r这种dsl来,交给搞统计的去搞
而程序员负责把r脚本翻译成class的话,这种分工和协作就很理想了
这就有点像硬件工程师用c,软件工程师用java的那种感觉了
scala能造出这种轮子才是成功

【在 l**********n 的大作中提到】
: scala不是一个更大的坑?too much DSL
avatar
a*n
42
呵呵,确实比较笨,而且没人可问。全是自己搞。
用的是atom ,也有插件
写的时候都没问题
但是改code, 插入code, 删code 的时候常出错
插件能告诉你有没有缺括号什么的,
但是有时候括号没少但是地方不对
只好数括号
果断跳scala
Scala 和 swift 这样分号都可以不要的太爽了
clojure 这样一个procedure最后一堆括号的太受不了了。

【在 h*i 的大作中提到】
: 为啥需要数括号?有工具的啊。
: 我用vim的,用paredit插件,从来不用数括号。用emacs的人肯定也不用数括号。用了
: lisp,就要用结构性编辑器,利用括号的结构为自己服务啊。
: 不会这么笨吧?居然以为别的lisp用户数括号的技术很好?居然还数了几个月,不会问
: 人的么,真能忍耐啊。

avatar
n*3
43
r 的 dplyr 和 python 比 它 数据 处理 要强。
clojure performance is good and very productive.适合全站工臣狮

【在 h*i 的大作中提到】
: 我个人的看法,Clojure主要适用于繁杂的数据转换。现实中用Clojure的大部分人都在
: 用它做Web, 可能主要是因为web应用说白了就是数据的整合和转换。Clojure其他的功
: 能都是锦上添花。比如理论上很好听的大并发啦啥的其实用到的地方很少,算是吸引人
: 进来的噱头。人进来能呆下来的原因,其实是因为数据处理的方便。
: Clojure日常编程主要的任务就是在用一些常用函数把几个常用数据结构折腾来折腾去
: 。Clojure代码的可读性很强,就在于常用的东西就那么几个。从某种意义上说,
: Clojure把C系语言的常用结构扩展了一点点,从一切都是循环,变成了一切都是几十个
: 函数在几个数据结构上操作,记住了就完了。
: 当年我用C作主打语言的时候,其实也能记住标准库的所有函数,所以觉得Clojure其实
: 复杂程度和C也差不多。而Java更复杂,要理解一个Java写的东东需要很长时间,主要

avatar
t*r
44
clojure 是作前端么?不太理解。
avatar
e*o
45
clojuescript 编译成js

【在 t**r 的大作中提到】
: clojure 是作前端么?不太理解。
avatar
t*r
46
不是脱裤子放屁么?js这么好写

【在 e*******o 的大作中提到】
: clojuescript 编译成js
avatar
h*i
47
用LISP的人,括号都是编辑器管的,增删code都是以block为单位的,不会去一个字符
字符的搞,所以不会出现括号地方不对的问题。
结构性的代码就要用结构性的编辑器啊。LISP有括号,所以任何可扩展的编辑器很容易
就可以变成了LISP编辑器。我觉得atom啥的,如果是程序员用的编辑器,必然也有
paredit, 因为LISP语法这么规律的,太容易实现结构性编辑了。
这不,我随便一google就找到了,人还是要灵活点。
https://github.com/MarcoPolo/atom-paredit
笨到连个编辑器都不会弄的,能做好的程序员么?Are you kidding me?

【在 a******n 的大作中提到】
: 呵呵,确实比较笨,而且没人可问。全是自己搞。
: 用的是atom ,也有插件
: 写的时候都没问题
: 但是改code, 插入code, 删code 的时候常出错
: 插件能告诉你有没有缺括号什么的,
: 但是有时候括号没少但是地方不对
: 只好数括号
: 果断跳scala
: Scala 和 swift 这样分号都可以不要的太爽了
: clojure 这样一个procedure最后一堆括号的太受不了了。

avatar
h*i
48
clojure能做前端,用Clojurescript。
但目前很少有只用clojurescript而不用clojure作后端的。一般来说,后端已经用了
clojure的小组,为了前端能继续用他们喜欢的语言,还有就是追求前后端的对称性,
比如用同样的代码来进行HTML渲染,很多人就在前端也用clojurescript。
特别是现在clojure 1.7引入条件编译以后,同一个cljc文件可以同时含有clj和cljs代
码,就更能促进前后端的代码共用。

【在 t**r 的大作中提到】
: clojure 是作前端么?不太理解。
avatar
h*i
49
你说的数据处理是numerical analysis,已经是规整的矩阵数据了。我说的数据处理是
日常的ETL,是进来乱七八糟各种各样的数据,出去也是乱七八糟各种各样的数据。
clojure作numerical analysis现在还不行,主要是没有有闲的专业人士来弄。学术界
的人用clojure的很少,用clojure的人大都是搞web应用的,没这闲功夫,可能也没有
能力来弄比较好的numerical analysis库,需要啥的时候,得自己弄。
至于乱七八糟数据的ETL,还没有比clojure更方便的。

【在 n*****3 的大作中提到】
: r 的 dplyr 和 python 比 它 数据 处理 要强。
: clojure performance is good and very productive.适合全站工臣狮

avatar
h*i
50
js好写?
好写就不会有《javascript, the good part》,这样的名著了。

【在 t**r 的大作中提到】
: 不是脱裤子放屁么?js这么好写
avatar
z*e
51

etl这是在说streaming吗?storm
的确现在spark还不行,kafka几个也都一般般
就等flink出来看看效果了

【在 h*i 的大作中提到】
: 你说的数据处理是numerical analysis,已经是规整的矩阵数据了。我说的数据处理是
: 日常的ETL,是进来乱七八糟各种各样的数据,出去也是乱七八糟各种各样的数据。
: clojure作numerical analysis现在还不行,主要是没有有闲的专业人士来弄。学术界
: 的人用clojure的很少,用clojure的人大都是搞web应用的,没这闲功夫,可能也没有
: 能力来弄比较好的numerical analysis库,需要啥的时候,得自己弄。
: 至于乱七八糟数据的ETL,还没有比clojure更方便的。

avatar
h*i
52
streaming是一个能很好表现Clojure ETL能力的地方,所以难怪storm比较成功。
还有一个领域是log processing,也有点streaming的味道,所以riemann也比较成功。
这个更极端,连config文件都要求用户直接写clojure,搞得很多system admin能写点
clojure了。

【在 z****e 的大作中提到】
:
: etl这是在说streaming吗?storm
: 的确现在spark还不行,kafka几个也都一般般
: 就等flink出来看看效果了

avatar
z*e
53
一般data处理分为
dataset也就是batch processing
和datastream,也就是real time processing
前者基本上快被scala统一了,spark比较红火
后者目前最好用的是clojure,也就是storm
flink如果能统一这两个,或者直白点说
就是直接抄袭这两个,那就太好了
avatar
a*n
54
怎么这么激动。。。Are you kidding me 都上来了。。。
我确实比较笨, 也不是好的程序猿。不知道paredit这么个东西。
不过看到这么多括号还是犯晕。
LISP在业内的外号是啥?
Lots of Irritating and Stupid Parentheses
还是跳scala喽。

【在 h*i 的大作中提到】
: 用LISP的人,括号都是编辑器管的,增删code都是以block为单位的,不会去一个字符
: 字符的搞,所以不会出现括号地方不对的问题。
: 结构性的代码就要用结构性的编辑器啊。LISP有括号,所以任何可扩展的编辑器很容易
: 就可以变成了LISP编辑器。我觉得atom啥的,如果是程序员用的编辑器,必然也有
: paredit, 因为LISP语法这么规律的,太容易实现结构性编辑了。
: 这不,我随便一google就找到了,人还是要灵活点。
: https://github.com/MarcoPolo/atom-paredit
: 笨到连个编辑器都不会弄的,能做好的程序员么?Are you kidding me?

avatar
n*p
55
https://plugins.jetbrains.com/plugin/10080-rainbow-brackets

【在 a******n 的大作中提到】
: 呵呵,确实比较笨,而且没人可问。全是自己搞。
: 用的是atom ,也有插件
: 写的时候都没问题
: 但是改code, 插入code, 删code 的时候常出错
: 插件能告诉你有没有缺括号什么的,
: 但是有时候括号没少但是地方不对
: 只好数括号
: 果断跳scala
: Scala 和 swift 这样分号都可以不要的太爽了
: clojure 这样一个procedure最后一堆括号的太受不了了。

avatar
T*e
57
看完这部书的时间不会比你学closure的时间长

【在 h*i 的大作中提到】
: js好写?
: 好写就不会有《javascript, the good part》,这样的名著了。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。