由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 最expressive的三大语言
相关主题
几年前一个科学预言python的崛起Ruby这么好的语言,衰落的也太可惜了。
C++ question批判Rust语言,以及C/C++为什么永远不会死(ZZ)
关于python[BSSD]rod johnson讲座的一点小感
感觉JVM上的FP语言都有个大问题groovy整个就是一个better python
clojure能单独做大系统么?随便扫了一下scala代码
C++怎么保证2行代码atomic高质量代码的标准
【失败感言】我是做PHP的 (转载)如何run spark scala 代码,不用jar 的情况下?
C++的牛B之处你们都还没体会到NFLX架构不是已经很稳定了 怎么还那么花钱programming
相关话题的讨论汇总
话题: java话题: 效率话题: expressive话题: scala话题: 代码
进入Programming版参与讨论
1 (共1页)
p*****2
发帖数: 21240
1
coffee
haskell
clojure
老生常谈了
l**********n
发帖数: 8443
2
最expressive应该是lisp啊
c******o
发帖数: 1277
3
define expressive?
l**********n
发帖数: 8443
4
xml也很expressive.
h*i
发帖数: 3446
5
效率吧。
上面这个排名好像是根据github平均commit size来的。这三个语言一次commit的平均
行数最少,假设一次commit就是一个程序的语义单位的话。

【在 c******o 的大作中提到】
: define expressive?
l**********n
发帖数: 8443
6
expressive英文不是效率的意思。

【在 h*i 的大作中提到】
: 效率吧。
: 上面这个排名好像是根据github平均commit size来的。这三个语言一次commit的平均
: 行数最少,假设一次commit就是一个程序的语义单位的话。

h*i
发帖数: 3446
7
expresiveness是表达力, 我说的是人们一般用什么来测量一个语言的表达力.
效率是一种测量方法,就是这个语言表达一个概念的效率,这儿假设所有通用计算机语
言能表达的东西都是一样的(DSL除外),都是turing complete, 哪么比较不同语言就
只能比效率。具体操作,有人就用github average commit size,假设一次commit代表
一个语义单位。

【在 l**********n 的大作中提到】
: expressive英文不是效率的意思。
c*******0
发帖数: 5247
8

这种效率计算明显是不科学的啊。
代码是人写的,哪里有算代码的效率而不是人的效率的道理?
人和代码打教导不外乎两件事,读代码,写代码
你要说expresiveness,那是比什么语言最容易读懂
你要说效率,那是比做同样的功能,同样的robustness情况下用什么语言写最快
人写代码不是为了代码,是为了解决问题的

【在 h*i 的大作中提到】
: expresiveness是表达力, 我说的是人们一般用什么来测量一个语言的表达力.
: 效率是一种测量方法,就是这个语言表达一个概念的效率,这儿假设所有通用计算机语
: 言能表达的东西都是一样的(DSL除外),都是turing complete, 哪么比较不同语言就
: 只能比效率。具体操作,有人就用github average commit size,假设一次commit代表
: 一个语义单位。

z****e
发帖数: 54598
9
c还有fp的爱好者往往喜欢秀智商
动不动就是这辈子不学啥,写尽多少行也宛然
言外之意就是你看我懂这个,我多牛逼,你不懂,所以宛然了
我前一段搞了搞clj,没觉得自己以前有多宛然
倒是因为clj不能马上投入生产,尤其是在app生产上
觉得浪费了不少时间,后来rxjava加了这些功能之后
很快就转了过去,因为变量和扁平化实在是太可爱了
当然还有最亲爱的debug,写app的利器
最后聊点大道理
人活一辈子,最后人看的是产出,不会因为会多少东西而怎样
因为会东西那是空的,是输入,最后看的是输出
输出是真正造福大众的东西,也是大众用来衡量并反馈的标准
产出多少,最后也就收获多少,而不是输入多少,就收获多少
太多人把会不会当成一种牛不牛的标准,这种价值观是错误的,应该予以批判
应该看输出,伟人之所以是伟人,都是因为他们的输出,而非输入
没有人在乎牛顿是不是博士,读了啥学校,说的都是牛顿发现了微积分
至于输入,谁在乎,都记不起来牛顿是不是博士了
而实践之后,很快就会发现,很多东西并不是其他人嘴巴上说的那么美好
往往有这样那样的问题,而一旦这些问题被摆到台面上来,很容易就会被他们所否认
比如我从来不debug,不需要变量,callback hell不存在,这种论断往往让人汗颜
这并不是一种解决问题的态度,而是一种否定问题存在的错误态度
悬崖不会因为闭眼而消失

【在 c*******0 的大作中提到】
:
: 这种效率计算明显是不科学的啊。
: 代码是人写的,哪里有算代码的效率而不是人的效率的道理?
: 人和代码打教导不外乎两件事,读代码,写代码
: 你要说expresiveness,那是比什么语言最容易读懂
: 你要说效率,那是比做同样的功能,同样的robustness情况下用什么语言写最快
: 人写代码不是为了代码,是为了解决问题的

h*i
发帖数: 3446
10
大部分人都是在比较语言的效率。人的效率大家都知道人和人不同,效率相差很大,但
这是一个吵不起来架的话题。
读代码有人研究过,结论好像是这只和代码长度有关,与何种语言没有显著关系。
写代码的效率上面我说了一种测量办法,很多人也认可。上面办法的假设,推理和结论
都很清楚,你说不科学,得说清楚它有什么问题。你认为他比的是代码,不是人。但是
,github上的代码都是人写的,而且这是很大的一个sample size,。假设平均来说,写
不同语言的人在技能上没有区分,来解决的问题在难度上也没有区别,那他这种测量办
法在sample size足够大的情况下,的确反映了不同语言的效率不同。

【在 c*******0 的大作中提到】
:
: 这种效率计算明显是不科学的啊。
: 代码是人写的,哪里有算代码的效率而不是人的效率的道理?
: 人和代码打教导不外乎两件事,读代码,写代码
: 你要说expresiveness,那是比什么语言最容易读懂
: 你要说效率,那是比做同样的功能,同样的robustness情况下用什么语言写最快
: 人写代码不是为了代码,是为了解决问题的

相关主题
C++怎么保证2行代码atomicRuby这么好的语言,衰落的也太可惜了。
【失败感言】我是做PHP的 (转载)批判Rust语言,以及C/C++为什么永远不会死(ZZ)
C++的牛B之处你们都还没体会到[BSSD]rod johnson讲座的一点小感
进入Programming版参与讨论
z****e
发帖数: 54598
11

显然不对,这个结论太过于草率,pure oop读起来难度要低太多
pure fp阅读起来需确保自己能懂fp,否则容易乱,不过也还好
但是oop+fp凑一起,彻底乱套的不少,说scala难以阅读的太多了,你不也不敢碰么?

【在 h*i 的大作中提到】
: 大部分人都是在比较语言的效率。人的效率大家都知道人和人不同,效率相差很大,但
: 这是一个吵不起来架的话题。
: 读代码有人研究过,结论好像是这只和代码长度有关,与何种语言没有显著关系。
: 写代码的效率上面我说了一种测量办法,很多人也认可。上面办法的假设,推理和结论
: 都很清楚,你说不科学,得说清楚它有什么问题。你认为他比的是代码,不是人。但是
: ,github上的代码都是人写的,而且这是很大的一个sample size,。假设平均来说,写
: 不同语言的人在技能上没有区分,来解决的问题在难度上也没有区别,那他这种测量办
: 法在sample size足够大的情况下,的确反映了不同语言的效率不同。

c*******0
发帖数: 5247
12

当然不是了,如果有人得出这种结论,只能说没在工业界呆过。C++同样的程序大部分
比Java短,谁更易读?
哪些人认可?FP爱好者?
这里问题很清晰啊,做同样一个东西,robustness相同,有什么数据能证明代码越短,
所花时间越少?Again,Java就是一个典型例子,verbose的style导致Java程序比大部
分语言程序都长,所以Java的效率最低?那工业界的人都是脑子被驴踢了。很多情况下
因为IDE,半个小时不到就能写几百行Java做不少事情,但因为代码长所以你这半个小
时的效率特别低?
这种sample一点意义都没有。你比比Java的commit和Matlab的commit?是不是说明
Matlab的效率比Java高?
我说了,如果你真的要比,很简单,所有条件都一样所花的时间,比如同样的
application,同样的用户量,同样的bug级别,同样的性能。然后你来比做这个
application所用的时间。
别的比较都是过家家,当不得真的。

【在 h*i 的大作中提到】
: 大部分人都是在比较语言的效率。人的效率大家都知道人和人不同,效率相差很大,但
: 这是一个吵不起来架的话题。
: 读代码有人研究过,结论好像是这只和代码长度有关,与何种语言没有显著关系。
: 写代码的效率上面我说了一种测量办法,很多人也认可。上面办法的假设,推理和结论
: 都很清楚,你说不科学,得说清楚它有什么问题。你认为他比的是代码,不是人。但是
: ,github上的代码都是人写的,而且这是很大的一个sample size,。假设平均来说,写
: 不同语言的人在技能上没有区分,来解决的问题在难度上也没有区别,那他这种测量办
: 法在sample size足够大的情况下,的确反映了不同语言的效率不同。

h*i
发帖数: 3446
13
这种比较本来就不可能条件完全一样,你觉得一点意义没有可以,但人家作出来了,有
数据说话,那就比你空口说”一点意义没有“强很多,这就是现实,有数据的比没数据
的强。
工业界的人用Java又不是因为Java效率高。编程效率除了马工自己吵,工业界的
decision maker又不care. 也许有的小公司care, 但大公司绝对不会care的。
Java马工多,随便换个人就能用,这更重要。而且,这种决定大多是middle
management作的,middle management和公司的利益都不一定一致,咋会管啥编程效率
问题,有时候效率也许是越低越好,大公司politics很复杂的,呵呵。
mathlab比java效率高应该是符合人们的常识的。

【在 c*******0 的大作中提到】
:
: 当然不是了,如果有人得出这种结论,只能说没在工业界呆过。C++同样的程序大部分
: 比Java短,谁更易读?
: 哪些人认可?FP爱好者?
: 这里问题很清晰啊,做同样一个东西,robustness相同,有什么数据能证明代码越短,
: 所花时间越少?Again,Java就是一个典型例子,verbose的style导致Java程序比大部
: 分语言程序都长,所以Java的效率最低?那工业界的人都是脑子被驴踢了。很多情况下
: 因为IDE,半个小时不到就能写几百行Java做不少事情,但因为代码长所以你这半个小
: 时的效率特别低?
: 这种sample一点意义都没有。你比比Java的commit和Matlab的commit?是不是说明

z****e
发帖数: 54598
14

且不说你说的这个数据是否真实存在
就说你自己,你不敢碰scala就是一个例子
scala在很多地方效率明显超过clj
就是代码量,各种implicit,可以很fancy
dsl都可以搞出来,代码量进一步压缩

【在 h*i 的大作中提到】
: 这种比较本来就不可能条件完全一样,你觉得一点意义没有可以,但人家作出来了,有
: 数据说话,那就比你空口说”一点意义没有“强很多,这就是现实,有数据的比没数据
: 的强。
: 工业界的人用Java又不是因为Java效率高。编程效率除了马工自己吵,工业界的
: decision maker又不care. 也许有的小公司care, 但大公司绝对不会care的。
: Java马工多,随便换个人就能用,这更重要。而且,这种决定大多是middle
: management作的,middle management和公司的利益都不一定一致,咋会管啥编程效率
: 问题,有时候效率也许是越低越好,大公司politics很复杂的,呵呵。
: mathlab比java效率高应该是符合人们的常识的。

h*i
发帖数: 3446
15
你非要让我来google,你自己来不行么?
http://redmonk.com/dberkholz/2013/03/25/programming-languages-r

【在 z****e 的大作中提到】
:
: 且不说你说的这个数据是否真实存在
: 就说你自己,你不敢碰scala就是一个例子
: scala在很多地方效率明显超过clj
: 就是代码量,各种implicit,可以很fancy
: dsl都可以搞出来,代码量进一步压缩

z****e
发帖数: 54598
16
你就是不敢碰scala
到现在你还是不敢碰scala,哪怕你已经知道了scala比clj更省代码
这个客观事实你否认不了
这种水文没空看,我就看你做什么,不看你说什么
talk是很misleading的,水文你要我可以写出很多来
很容易的

【在 h*i 的大作中提到】
: 你非要让我来google,你自己来不行么?
: http://redmonk.com/dberkholz/2013/03/25/programming-languages-r

z****e
发帖数: 54598
17
原文摘抄
(C [#50], C++ [#45], Java [#44])
还记得楼上怎么跟你说c++和java的么?

【在 h*i 的大作中提到】
: 你非要让我来google,你自己来不行么?
: http://redmonk.com/dberkholz/2013/03/25/programming-languages-r

h*i
发帖数: 3446
18
我C++都懒得学的人, 没那闲功夫学Scala。
Scala自己最active的committer都跳出来大骂Scala, 我费那闲工夫干嘛?难道我知道
得比他还多?LOL.

【在 z****e 的大作中提到】
: 你就是不敢碰scala
: 到现在你还是不敢碰scala,哪怕你已经知道了scala比clj更省代码
: 这个客观事实你否认不了
: 这种水文没空看,我就看你做什么,不看你说什么
: talk是很misleading的,水文你要我可以写出很多来
: 很容易的

h*i
发帖数: 3446
19
啥意思?我又没比较过C++和Java的效率。
我觉得C++繁复,和效率没关系吧?

【在 z****e 的大作中提到】
: 原文摘抄
: (C [#50], C++ [#45], Java [#44])
: 还记得楼上怎么跟你说c++和java的么?

z****e
发帖数: 54598
20
这是你不敢碰的理由
但是还是改变不了你用scala写可以更短的事实呀
你不说代码量么?stick to 代码量,不要乱换

【在 h*i 的大作中提到】
: 我C++都懒得学的人, 没那闲功夫学Scala。
: Scala自己最active的committer都跳出来大骂Scala, 我费那闲工夫干嘛?难道我知道
: 得比他还多?LOL.

相关主题
groovy整个就是一个better python如何run spark scala 代码,不用jar 的情况下?
随便扫了一下scala代码NFLX架构不是已经很稳定了 怎么还那么花钱programming
高质量代码的标准C++ OO approach to use multi-dim array for HPC
进入Programming版参与讨论
z****e
发帖数: 54598
21
别人帖子都不看完就说
说你什么好

当然不是了,如果有人得出这种结论,只能说没在工业界呆过。C++同样的程序大部分
比Java短,谁更易读?”

【在 h*i 的大作中提到】
: 啥意思?我又没比较过C++和Java的效率。
: 我觉得C++繁复,和效率没关系吧?

z****e
发帖数: 54598
22
scala在你那个破报告里面可不是什么靠后的语言哦
非常靠前,我感觉没啥区别,跟r差不多了,前后挨着
你信那篇报告的话,就应该果断尝试scala

【在 h*i 的大作中提到】
: 我C++都懒得学的人, 没那闲功夫学Scala。
: Scala自己最active的committer都跳出来大骂Scala, 我费那闲工夫干嘛?难道我知道
: 得比他还多?LOL.

h*i
发帖数: 3446
23
代码量/commit, 上面人家的结论都出来了,在常用语言中,Clojure第一,
coffeescript第二,Haskell第三。
换什么?

【在 z****e 的大作中提到】
: 这是你不敢碰的理由
: 但是还是改变不了你用scala写可以更短的事实呀
: 你不说代码量么?stick to 代码量,不要乱换

z****e
发帖数: 54598
24
how many lines of code change in each commit.
fp里面一行相当于其他语言多少行?
你就继续骗吧
反复说要flat,这样对比才相对公平
那种(((((...)))))的算一行,改了五六处只算一行的改动,这个显然偏向于fp啊
不科学,其他p改一处就一行,应该把列的宽度也考虑进去
列当然也是代码量的一部分,怎么能只考虑行捏?
应该数数字数比较科学
你用r建模,然后用clj再写一遍对吧?
scala可以做到你根本连翻译都不用,直接把r写成dsl
然后执行,你觉得哪个代码量更少?
我说的都是你的例子,按照你的实际环境来举例
你举的例子都是网络水文,那种宣传文章很容易找的啦
你一直躲开你自身的实际需要很说明问题

【在 h*i 的大作中提到】
: 代码量/commit, 上面人家的结论都出来了,在常用语言中,Clojure第一,
: coffeescript第二,Haskell第三。
: 换什么?

m******t
发帖数: 635
25
这个道理说的很赞啊,顶一个

【在 z****e 的大作中提到】
: how many lines of code change in each commit.
: fp里面一行相当于其他语言多少行?
: 你就继续骗吧
: 反复说要flat,这样对比才相对公平
: 那种(((((...)))))的算一行,改了五六处只算一行的改动,这个显然偏向于fp啊
: 不科学,其他p改一处就一行,应该把列的宽度也考虑进去
: 列当然也是代码量的一部分,怎么能只考虑行捏?
: 应该数数字数比较科学
: 你用r建模,然后用clj再写一遍对吧?
: scala可以做到你根本连翻译都不用,直接把r写成dsl

1 (共1页)
进入Programming版参与讨论
相关主题
NFLX架构不是已经很稳定了 怎么还那么花钱programmingclojure能单独做大系统么?
C++ OO approach to use multi-dim array for HPCC++怎么保证2行代码atomic
practical advice on Scala【失败感言】我是做PHP的 (转载)
输入参数的检查应该归caller还是callee?C++的牛B之处你们都还没体会到
几年前一个科学预言python的崛起Ruby这么好的语言,衰落的也太可惜了。
C++ question批判Rust语言,以及C/C++为什么永远不会死(ZZ)
关于python[BSSD]rod johnson讲座的一点小感
感觉JVM上的FP语言都有个大问题groovy整个就是一个better python
相关话题的讨论汇总
话题: java话题: 效率话题: expressive话题: scala话题: 代码