Redian新闻
>
程序设计语言启发以及聚类分析图
avatar
程序设计语言启发以及聚类分析图# JobHunting - 待字闺中
t*a
1
板上的各位最近好像对程序设计语言的讨论很多,那么可能会对这张图感兴趣。
从wiki抓来的,简单做了一下聚类。
avatar
y*g
2
要是interactive就好了

【在 t****a 的大作中提到】
: 板上的各位最近好像对程序设计语言的讨论很多,那么可能会对这张图感兴趣。
: 从wiki抓来的,简单做了一下聚类。

avatar
p*2
3
看着很累。能不能给个summary
avatar
t*a
4
右键点击图片,view image,然后可以放大了看。
回头有时间我去找d3做个interactive的。
二爷,你说的summary是指什么阿?number of influenced language? 类别归属关系?
avatar
p*2
5

讲讲你看了之后的感受,心得什么的。任何都行。

【在 t****a 的大作中提到】
: 右键点击图片,view image,然后可以放大了看。
: 回头有时间我去找d3做个interactive的。
: 二爷,你说的summary是指什么阿?number of influenced language? 类别归属关系?

avatar
t*a
6
呵呵,我还没啥心得,罗列一下基本数据
按照影响启发了其他语言的数目排序:
C Lisp
20 20
Smalltalk Scheme
18 16
Java Pascal
15 13
C++ ALGOL
11 10
Python Perl
7 7
Self ML
7 7
ALGOL_60 Eiffel
6 6
Logo Communicating_sequential_processes
6 5
PL/I Fortran
5 5
ALGOL_68 Ada
5 5
按照被其他语言启发影响的数目排序:
Haskell Java Python Perl Ruby MOO Scala
16 11 11 9 9 8 8
ECMAScript D Clojure C C++ JavaScript Io
8 7 7 6 6 6 6
Scratch Groovy C_Sharp Ada Modula-3 Lua
6 6 5 5 5 5
avatar
p*2
7

大牛学过几十门语言了?

【在 t****a 的大作中提到】
: 呵呵,我还没啥心得,罗列一下基本数据
: 按照影响启发了其他语言的数目排序:
: C Lisp
: 20 20
: Smalltalk Scheme
: 18 16
: Java Pascal
: 15 13
: C++ ALGOL
: 11 10

avatar
p*2
8
对了大牛,你 对FP编程的性能有深入一些的体会吗?比如比命令式编程比,一般是快
还是慢,慢多少。
我感觉对FP方式编程性能不是很有底。
avatar
t*a
9
偶会的语言有一些,很熟的寥寥无几。FP语言抽象级别高,肯定是要慢的,但通常在一
个数量级,比如haskell比c慢3-5倍。个人感觉,用FP就是追求强大的语言feature,
productivity,并行化,代码质量,而不是运行效率了。

【在 p*****2 的大作中提到】
: 对了大牛,你 对FP编程的性能有深入一些的体会吗?比如比命令式编程比,一般是快
: 还是慢,慢多少。
: 我感觉对FP方式编程性能不是很有底。

avatar
t*a
10
再贴几张图:
貌似语言发明的越来越快了
avatar
p*2
11

大牛还在研究尾递归吗?

【在 t****a 的大作中提到】
: 再贴几张图:
: 貌似语言发明的越来越快了

avatar
t*a
12
Objected-oriented抢了过程式的饭碗
FP貌似缓慢增长,不明显
avatar
t*a
13
type inference逐渐大行其道?
avatar
t*a
14
偶不懂诶,玩了几天clojure的尾递归玩了个大概就算了,前面有人说不能把所有递归
转成尾递归,自己也没玩出来,后来就去搞memoize了,那个更实用些
clojure里iterate函数也很好用,做bfs一行就搞定了。也许其他FP语言也差不多

【在 p*****2 的大作中提到】
:
: 大牛还在研究尾递归吗?

avatar
p*2
15

memoize是什么意思呀?你发现有哪些递归不能转成尾递归呢?
iterate函数指的是foreach这类的吗?

【在 t****a 的大作中提到】
: 偶不懂诶,玩了几天clojure的尾递归玩了个大概就算了,前面有人说不能把所有递归
: 转成尾递归,自己也没玩出来,后来就去搞memoize了,那个更实用些
: clojure里iterate函数也很好用,做bfs一行就搞定了。也许其他FP语言也差不多

avatar
t*a
16
memoize:
比如给一个函数f(x,y)要进行复杂的计算,如果把它定义成memoize了的话,程序就记
住了它的返回值,下次call f(x,y)就立即返回结果。
用递归实现DP的时候很有用,因为DP的时候很多子问题是重复的
尾递归:就说背包问题用DP求解,我就不会转尾递归;以及一堆其他的问题比如换硬币
什么的;凡是涉及到在函数里多次call不同子问题,然后在它们的结果上做运算的,我
都不知道该怎么转尾递归。二爷要是有办法请教教我。
我这里说的iterate是一个“高阶函数”比如定义另一个函数f(x), 那么
iterate f(x)会产生一个序列,结果是x, f(x), f(f(x)), f(f(f(x))), ... 这东西挺
有用的。
avatar
d*e
17
你是研究PL的?

【在 t****a 的大作中提到】
: memoize:
: 比如给一个函数f(x,y)要进行复杂的计算,如果把它定义成memoize了的话,程序就记
: 住了它的返回值,下次call f(x,y)就立即返回结果。
: 用递归实现DP的时候很有用,因为DP的时候很多子问题是重复的
: 尾递归:就说背包问题用DP求解,我就不会转尾递归;以及一堆其他的问题比如换硬币
: 什么的;凡是涉及到在函数里多次call不同子问题,然后在它们的结果上做运算的,我
: 都不知道该怎么转尾递归。二爷要是有办法请教教我。
: 我这里说的iterate是一个“高阶函数”比如定义另一个函数f(x), 那么
: iterate f(x)会产生一个序列,结果是x, f(x), f(f(x)), f(f(f(x))), ... 这东西挺
: 有用的。

avatar
t*a
18
我是感兴趣自己玩的...

【在 d**e 的大作中提到】
: 你是研究PL的?
avatar
d*e
19
太牛了!
当年上PL课,第一次考试考了个13分。。。

【在 t****a 的大作中提到】
: 我是感兴趣自己玩的...
avatar
p*2
21

PL是什么呀?

【在 d**e 的大作中提到】
: 太牛了!
: 当年上PL课,第一次考试考了个13分。。。

avatar
t*a
22
我真的是外行,PL是什么的缩写我都不知道。
上头的数据都是从wiki弄来综合的。

【在 d**e 的大作中提到】
: 太牛了!
: 当年上PL课,第一次考试考了个13分。。。

avatar
d*e
23
programming language
我特崇拜懂这个的牛人

【在 t****a 的大作中提到】
: 我真的是外行,PL是什么的缩写我都不知道。
: 上头的数据都是从wiki弄来综合的。

avatar
p*2
24

看来你也是PL牛人呀。膜拜一个。

【在 d**e 的大作中提到】
: programming language
: 我特崇拜懂这个的牛人

avatar
d*e
25
我啥也不懂,就是因为学过但什么也不懂,所以觉得学得好的都是超级牛的人

【在 p*****2 的大作中提到】
:
: 看来你也是PL牛人呀。膜拜一个。

avatar
p*2
26

PL里边都学啥东西呀?

【在 d**e 的大作中提到】
: 我啥也不懂,就是因为学过但什么也不懂,所以觉得学得好的都是超级牛的人
avatar
d*e
28
归结到底还是数学的东西比较多 (可能也不对,因为我不懂)
我上过的课讲过FP(OCaml),lambda calculus,还有很多当时不理解现在也不理解也忘
清光的东东。

【在 p*****2 的大作中提到】
:
: PL里边都学啥东西呀?

avatar
p*2
29

大牛说说FP还有哪些点需要重点研究的?

【在 t****a 的大作中提到】
: 呵呵,还不太看得懂,回头再想想。
avatar
p*2
30

数学我贼差了。算了不想了。

【在 d**e 的大作中提到】
: 归结到底还是数学的东西比较多 (可能也不对,因为我不懂)
: 我上过的课讲过FP(OCaml),lambda calculus,还有很多当时不理解现在也不理解也忘
: 清光的东东。

avatar
t*a
33
我是外行,不清楚啊。我自己想学学type theory。

【在 p*****2 的大作中提到】
:
: 有重点吗?

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