推荐语言:Go/Python/Clojure/F#/Haskell

时间:2022-09-11 09:26:48
建议2011年有计划学习新语言的朋友多考虑以下几种语言:

Go
Python
Clojure/F#/Haskell

都是优雅与实用并重的语言。Haskell的实用性或许稍弱,但是对个人的编程非常有帮助。

30 个解决方案

#1


该回复于2011-01-29 08:46:37被版主删除

#2


go还没有Windows版编译器吧?暂且先不考虑。而且不知道标准库是否完善实用。

#3


go也可以在windows下使用,不过现在还不那么完善。按说成熟度,go不是特别好,毕竟比较新,一些基础设施还不完善,之所以说实用,是因为按发展趋势来说,go是越来越好的,一方面是语言本身的优势,一方面google的支持,一方面是热度。现在有的这些问题,在不久的将来,应该都会被解决。热门语言最大的优势在于大多数你遇到的问题,都可以直接google到,或者被解决了,或者被讨论过。
至于标准库,先不说够不够用,即使不够用,也不是太大的问题。现在的项目很少有单纯靠标准库解决问题的了(.net平台或许除外),大多数项目都在使用社区库。当一门语言的使用范围足够广阔时,标准库永远是不够用的。

#4


该回复于2011-01-29 09:08:14被版主删除

#5


楼主能不能说一说自己的知识结构?以及今年的学习计划?我想大家可能都会感兴趣,呵呵。

#6


学Haskell还不如学 erlang哪.erlang都几十年历史了,成熟框架已很多.应用也很多.

#7


用过一小段时间的Erlang,以为除了写分布式应用,否则Erlang并不实用。可是绝大多数人并不写分布式。讲普通的并发(单结点),Erlang还不如Go好用。泛泛而论论函数式编程,Erlang也什么突出的,有点像函数式编程语言里的C,平淡如水,对个人思维上的帮助也有限(除非是第一次接触函数式编程的)。论实用的话,同样的接触不多,Erlang的库我没怎么听说过(事实上我很少听人讨论Erlang),Haskell的NB库就很多了,最常听说的parsec。当然,如果在Windows上搞GUI编程的话,这两个就都是扯淡了,F#略好点,但是都不如C#+WPF。

就我个人来讲,我觉得Erlang的意义在于两点,一是分布式的原生支持,这一点目前看来好像是独此一家,很有竞争力;另一点是它的流行,开了一个编程语言对并发支持的好头,特别是actor模式和process(轻量级线程),现在已经是纷纷效仿,有过之而无不及了。

但推荐嘛,当然还是出于个人偏好。我上面列的几门语言,还是我个人认为比较有用和有意思的。还有一门小众语言是Qi,因为实在是太小众了所以没列出来。

另外,要按历史,Erlang不见得比Haskell大多少,具体的数据不太清楚,但是两者应该都是80后。而且编程语言也从来不是可以倚老卖老的,年纪大了不值钱。

#8


引用 5 楼 fibbery 的回复:
楼主能不能说一说自己的知识结构?以及今年的学习计划?我想大家可能都会感兴趣,呵呵。

细说就惭愧了,比起别人来我没什么核心竞争力,写到简历里估计就一串手熟的编程语言可以列下。实际上我对其他的技术也不是太感兴趣,只有编程语言简单而脱俗,稍微有点兴趣。但近年也陷入了无用武之地的尴尬,学了新语言却没代码可写了。
年度计划就不贴了,从来没完成过-_-!

我一直在考虑要不要发起个项目,专门用各种语言代做作业,一方面自己可以练习下新语言,另一方面也可以给初学者当例子。

#9


引用 8 楼 iambic 的回复:
引用 5 楼 fibbery 的回复:
我一直在考虑要不要发起个项目,专门用各种语言代做作业,一方面自己可以练习下新语言,另一方面也可以给初学者当例子。

发起吧,我参与...俺之前有给本科生做过设计,不过一个题收入不咋地的说,太难得俺也不会

#10


Erlang python

#11


语言是为了完成项目,不必要为了语言而语言吧。。。。

#12


语言是为了兴趣。如果纯粹为了完成工作,那就像很多人一样,连把代码写好的动力都没有了。

#13


不管什么事情,如果原动力是兴趣,都会做得很好。

#14


只有python学明白了,
python就像说汉语一样(一个字‘顺’)
能搭上python的车 我太感谢自己了。
从基本兴趣到python引出更多更有趣的东西,
直到看见‘用python做科学计算’ 我受惊了,
感慨‘这才是科学’,配上一段上我感慨万千的代码。(有兴趣可以运行一下试试)


# -*- coding: utf-8 -*-
from numpy import *
from enthought.mayavi import mlab
#当科学以直观形式出现在我眼前的时候,我被惊呆了
# Create the data.
dphi, dtheta = pi/150, pi/150
[phi,theta] = mgrid[0:pi+dphi*1.5:dphi,0:2*pi+dtheta*1.5:dtheta]
m0 = 4; m1 = 3; m2 = 2; m3 = 3; m4 = 6; m5 = 2; m6 = 6; m7 = 4;
r = sin(m0*phi)**m1 + cos(m2*phi)**m3 + sin(m4*theta)**m5 + cos(m6*theta)**m7
x = r*sin(phi)*cos(theta)
y = r*cos(phi)
z = r*sin(phi)*sin(theta)

# View it.
s = mlab.mesh(x, y, z, representation="wireframe", line_width=1.0)

mlab.show()


#15


刚在看F#的书,除了dot net外,还不知道有啥好?

#16


函数式编程语言和.NET平台就是F#最大的优点,就是优雅与实用的体现。

#17


感觉现在学python真的很不错,不管怎么样都是自己因为真正喜欢这个语言才更加深入的去学习的。

#18


用C/C++的人更容易喜欢上Python,或者类似的高级语言,因为C/C++实在是太费劲了。

#19



python 有很多计算函数,还可以用来做测试平台的控制语言

#20


强烈支持python

#21


我也想学python

#22


目前来说python是我的最爱

#23


Haskell比较学院派,最近几年还好点,以前很少有人知道这个名字。它的历史也并不比Erlang短多少,Haskell语言是1990年在编程语言Miranda的基础上标准化的,并且以λ演算为基础发展而来,而Erlang问世于1987年。Erlang,Python,Haskell这几个我都了解一点点,但我还是最喜欢Haskell的语法(个人认为Haskell的语言是最优雅的),个人觉得Haskell比其他两者都更抽象很多,不容易掌握。不过Haskell太纯了,也导致有些代码写起来太麻烦了。Haskell也有很多优秀的库,如parsec和uulib,可以很容易写出类似于lex/yacc这样的工具。在学习的时候,试试写个简单Python的解释器应该比较让人兴奋的吧??
可能以后Haskell使用的人会更多,但要想和现在Python这样受欢迎很难很难。不过Haskell可能会影响其他语言的发展方向(如Perl,F#,Python的一些特性是以Haskell为样板设计的吧??)。目前Haskell的衍生语言有很多,如 并行Haskell,DNA-Hakell ,Haskell++,Mondrian等等。

#24


引用 14 楼 a590687 的回复:
只有python学明白了,
python就像说汉语一样(一个字‘顺’)
能搭上python的车 我太感谢自己了。
从基本兴趣到python引出更多更有趣的东西,
直到看见‘用python做科学计算’ 我受惊了,
感慨‘这才是科学’,配上一段上我感慨万千的代码。(有兴趣可以运行一下

恩   兴趣是最重要的……

#25


小众语言就是可以交流的人太少。

#26


一直迷恋scheme lisp ,看SICP,看了一小半夭折了。perl也是看了一点也夭折了,惭愧呀。工作总得为了应付去看MFC的,查找API。

#27


为什么没人说lisp呢,我决定2011年学学lisp,我的背景是熟悉c/c++/C#/python,爱python,对程序设计语言原理感兴趣,即编译原理。

#28


标题里的Clojure就是lisp。scheme和common lisp都不实用。
编译原理和程序语言设计原理完全是两回事。一个讲语言实现,一个讲语言设计。听起来挺有联系,其实十万八千里。

#29


再来顶一下python ,虽然现在没有多少时间来学,但是今年肯定会花更多的时间在python上面

#30


LISP是不是传说中的人工智能语言啊

#1


该回复于2011-01-29 08:46:37被版主删除

#2


go还没有Windows版编译器吧?暂且先不考虑。而且不知道标准库是否完善实用。

#3


go也可以在windows下使用,不过现在还不那么完善。按说成熟度,go不是特别好,毕竟比较新,一些基础设施还不完善,之所以说实用,是因为按发展趋势来说,go是越来越好的,一方面是语言本身的优势,一方面google的支持,一方面是热度。现在有的这些问题,在不久的将来,应该都会被解决。热门语言最大的优势在于大多数你遇到的问题,都可以直接google到,或者被解决了,或者被讨论过。
至于标准库,先不说够不够用,即使不够用,也不是太大的问题。现在的项目很少有单纯靠标准库解决问题的了(.net平台或许除外),大多数项目都在使用社区库。当一门语言的使用范围足够广阔时,标准库永远是不够用的。

#4


该回复于2011-01-29 09:08:14被版主删除

#5


楼主能不能说一说自己的知识结构?以及今年的学习计划?我想大家可能都会感兴趣,呵呵。

#6


学Haskell还不如学 erlang哪.erlang都几十年历史了,成熟框架已很多.应用也很多.

#7


用过一小段时间的Erlang,以为除了写分布式应用,否则Erlang并不实用。可是绝大多数人并不写分布式。讲普通的并发(单结点),Erlang还不如Go好用。泛泛而论论函数式编程,Erlang也什么突出的,有点像函数式编程语言里的C,平淡如水,对个人思维上的帮助也有限(除非是第一次接触函数式编程的)。论实用的话,同样的接触不多,Erlang的库我没怎么听说过(事实上我很少听人讨论Erlang),Haskell的NB库就很多了,最常听说的parsec。当然,如果在Windows上搞GUI编程的话,这两个就都是扯淡了,F#略好点,但是都不如C#+WPF。

就我个人来讲,我觉得Erlang的意义在于两点,一是分布式的原生支持,这一点目前看来好像是独此一家,很有竞争力;另一点是它的流行,开了一个编程语言对并发支持的好头,特别是actor模式和process(轻量级线程),现在已经是纷纷效仿,有过之而无不及了。

但推荐嘛,当然还是出于个人偏好。我上面列的几门语言,还是我个人认为比较有用和有意思的。还有一门小众语言是Qi,因为实在是太小众了所以没列出来。

另外,要按历史,Erlang不见得比Haskell大多少,具体的数据不太清楚,但是两者应该都是80后。而且编程语言也从来不是可以倚老卖老的,年纪大了不值钱。

#8


引用 5 楼 fibbery 的回复:
楼主能不能说一说自己的知识结构?以及今年的学习计划?我想大家可能都会感兴趣,呵呵。

细说就惭愧了,比起别人来我没什么核心竞争力,写到简历里估计就一串手熟的编程语言可以列下。实际上我对其他的技术也不是太感兴趣,只有编程语言简单而脱俗,稍微有点兴趣。但近年也陷入了无用武之地的尴尬,学了新语言却没代码可写了。
年度计划就不贴了,从来没完成过-_-!

我一直在考虑要不要发起个项目,专门用各种语言代做作业,一方面自己可以练习下新语言,另一方面也可以给初学者当例子。

#9


引用 8 楼 iambic 的回复:
引用 5 楼 fibbery 的回复:
我一直在考虑要不要发起个项目,专门用各种语言代做作业,一方面自己可以练习下新语言,另一方面也可以给初学者当例子。

发起吧,我参与...俺之前有给本科生做过设计,不过一个题收入不咋地的说,太难得俺也不会

#10


Erlang python

#11


语言是为了完成项目,不必要为了语言而语言吧。。。。

#12


语言是为了兴趣。如果纯粹为了完成工作,那就像很多人一样,连把代码写好的动力都没有了。

#13


不管什么事情,如果原动力是兴趣,都会做得很好。

#14


只有python学明白了,
python就像说汉语一样(一个字‘顺’)
能搭上python的车 我太感谢自己了。
从基本兴趣到python引出更多更有趣的东西,
直到看见‘用python做科学计算’ 我受惊了,
感慨‘这才是科学’,配上一段上我感慨万千的代码。(有兴趣可以运行一下试试)


# -*- coding: utf-8 -*-
from numpy import *
from enthought.mayavi import mlab
#当科学以直观形式出现在我眼前的时候,我被惊呆了
# Create the data.
dphi, dtheta = pi/150, pi/150
[phi,theta] = mgrid[0:pi+dphi*1.5:dphi,0:2*pi+dtheta*1.5:dtheta]
m0 = 4; m1 = 3; m2 = 2; m3 = 3; m4 = 6; m5 = 2; m6 = 6; m7 = 4;
r = sin(m0*phi)**m1 + cos(m2*phi)**m3 + sin(m4*theta)**m5 + cos(m6*theta)**m7
x = r*sin(phi)*cos(theta)
y = r*cos(phi)
z = r*sin(phi)*sin(theta)

# View it.
s = mlab.mesh(x, y, z, representation="wireframe", line_width=1.0)

mlab.show()


#15


刚在看F#的书,除了dot net外,还不知道有啥好?

#16


函数式编程语言和.NET平台就是F#最大的优点,就是优雅与实用的体现。

#17


感觉现在学python真的很不错,不管怎么样都是自己因为真正喜欢这个语言才更加深入的去学习的。

#18


用C/C++的人更容易喜欢上Python,或者类似的高级语言,因为C/C++实在是太费劲了。

#19



python 有很多计算函数,还可以用来做测试平台的控制语言

#20


强烈支持python

#21


我也想学python

#22


目前来说python是我的最爱

#23


Haskell比较学院派,最近几年还好点,以前很少有人知道这个名字。它的历史也并不比Erlang短多少,Haskell语言是1990年在编程语言Miranda的基础上标准化的,并且以λ演算为基础发展而来,而Erlang问世于1987年。Erlang,Python,Haskell这几个我都了解一点点,但我还是最喜欢Haskell的语法(个人认为Haskell的语言是最优雅的),个人觉得Haskell比其他两者都更抽象很多,不容易掌握。不过Haskell太纯了,也导致有些代码写起来太麻烦了。Haskell也有很多优秀的库,如parsec和uulib,可以很容易写出类似于lex/yacc这样的工具。在学习的时候,试试写个简单Python的解释器应该比较让人兴奋的吧??
可能以后Haskell使用的人会更多,但要想和现在Python这样受欢迎很难很难。不过Haskell可能会影响其他语言的发展方向(如Perl,F#,Python的一些特性是以Haskell为样板设计的吧??)。目前Haskell的衍生语言有很多,如 并行Haskell,DNA-Hakell ,Haskell++,Mondrian等等。

#24


引用 14 楼 a590687 的回复:
只有python学明白了,
python就像说汉语一样(一个字‘顺’)
能搭上python的车 我太感谢自己了。
从基本兴趣到python引出更多更有趣的东西,
直到看见‘用python做科学计算’ 我受惊了,
感慨‘这才是科学’,配上一段上我感慨万千的代码。(有兴趣可以运行一下

恩   兴趣是最重要的……

#25


小众语言就是可以交流的人太少。

#26


一直迷恋scheme lisp ,看SICP,看了一小半夭折了。perl也是看了一点也夭折了,惭愧呀。工作总得为了应付去看MFC的,查找API。

#27


为什么没人说lisp呢,我决定2011年学学lisp,我的背景是熟悉c/c++/C#/python,爱python,对程序设计语言原理感兴趣,即编译原理。

#28


标题里的Clojure就是lisp。scheme和common lisp都不实用。
编译原理和程序语言设计原理完全是两回事。一个讲语言实现,一个讲语言设计。听起来挺有联系,其实十万八千里。

#29


再来顶一下python ,虽然现在没有多少时间来学,但是今年肯定会花更多的时间在python上面

#30


LISP是不是传说中的人工智能语言啊