当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 关于学编程语言的一些观点
帖子发表于 : 2007-08-30 8:58 
头像

注册: 2005-09-01 20:48
帖子: 510
送出感谢: 0 次
接收感谢: 0 次
最近看里几篇文章,很受影响。给学及有志于学Computer Science(计算机)的朋友。假设你不想将来只做一个没有什么特殊技能的大路程序员--重所周知:这个工作没什么不好的,除了可能不太稳定,工资有限,竞争比较大,总有新技术新潮流追赶,算是项体力活,年纪大了干不了。。。

首先要声明早些看了另一篇文章,强调了Computer Science绝不只是编程而已,让我有番感触。确实,转学CS到了高年级的课才发现:你用什么编程语言,老师真的不关心了,课上已经不教了,假设你已经知道怎么编程了;决定你分数的还是你懂不懂课上教的算法和原理,用什么编程语言,怎么用,都是你自己的事了,而且也没太大关系了。之前学的C 还有 Java,只是让你掌握一门工具。之前我选课老是在考虑:恩!学了java,很有用;dot Net,一定要学!结果选的这个课,老师实际上课一点不教C#,给了你例子自己去研究。

言归正传,本来想搜Ruby的一个问题,搜出了这个 Blog
作者是IBM 的Java 虚拟机的开发者。 最后还连出来一个有意思的链接"Execution in the Kingdom of Nouns",很遗憾这篇我还没有看,不过可以假设是批判Java语言的。

那个Blog链接了几篇很有意思的文章,总之就是说现在教计算机的都一股脑的教Java实在是一个不太好的趋势,Java本身没有错,关键是它太简单了,又没有足够的功能,用它也许能够教出称职的Coder,不过很难训练出优秀的程序员,更别说计算机领域的专家了。大学里教编程语言,主要是教学生掌握编程语言的能力,更重要的是使用现有语言(们)来解决现有问题的能力,只学一门Java,或或类似的语言是远远不够的。说到这里,推荐看看关于这个Blub programmer Blub programmer的观点。

你要是看完第一篇文章里的链接,估计我看过的你也都看了,说实话量不少,花了我小半天的时间。很对不起鸟文不好的朋友,我最近没时间翻译,不然我希望自己能翻译一部分出来。不过这也是现实:我们发明了算盘,不过计算机起源于鸟国,而且说实话算盘很难说的上是真正的计算机的始祖。我在干什么,拾人牙慧而已。

顺便把里面有用的链接再列一遍:
Pure programming joy
http://duimovich.blogspot.com/2006/08/p ... g-joy.html

High School Computing: The Inside Story
http://www.trollope.org/scheme.html

Beating The Averages
http://www.paulgraham.com/avg.html

Can Your Programming Language Do This?
http://www.joelonsoftware.com/items/2006/08/01.html

The Perils of JavaSchools
http://www.joelonsoftware.com/articles/ ... hools.html

Kids these days
http://inside-swt.blogspot.com/2006/07/ ... -days.html

Execution in the Kingdom of Nouns
http://steve-yegge.blogspot.com/2006/03 ... nouns.html

差点忘了,我们在校学生或者新入行者换迎前辈们指点!


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-08-30 10:08 
头像

注册: 2006-05-13 4:02
帖子: 10606
送出感谢: 0 次
接收感谢: 7
很好


_________________
HP Pavilion DV6-2064CA: AMD Turion II Ultra Dual-Core Mobile M640, HD4650, 2GBx2 DDR2-800, Seagate 500GB 7200RPM SATA, BD-ROM
DELL UltraSharp 2209WA
Arch64, Testing repo


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-09-02 7:11 
头像

注册: 2005-09-01 20:48
帖子: 510
送出感谢: 0 次
接收感谢: 0 次
昨天看一个同学的Blog,才知道我链接的bloger之一 Paul Graham 是个IT界很有名的人物,他不光和文章里说过的一样用基本没人用的AI语言Clips,写了第一个web-application创业成功,后来他开始作作类似于风险投资的Y_Combinator专门提供资金给小的IT研究项目,这点我觉得很有眼光!他的Blog本身就很值得一看,既有程序员的眼光,更兼有企业家的见地。

话又说回来,这些天一直在想我发的这一组链接的文章到底说明了什么观点。现在自己再总结一下就是:如果你要学一门新的编程语言的话,如果不是为了一个具体的项目,而只是为了学习而学习,或者说是想提高自己。不要选不能改变你编程思维方式的语言。照我的理解就是如果你学了Java,就要考虑学C\C++,或者Ruby,python等等等。。我想很多人的想法和我之前一样,觉得最关键是学好一种语言,Java的库说实话干什么都差不多了,而且往上往下都能走。可是编程语言影响一个人编程的方式,用的越久,越熟,思维越容易被限制。很容易就变成程序员的大众,没有任何优势,更不用说学术上做研究或者是自己创业了。学好什么工具都是本事,是好事,不过要是从头到尾只练一把锤子,结果看到什么都只想用锤子去砸,万一锤子不流行了呢,万一你要改行搬鸡蛋了呢 :) 举了一个可能不恰当的比方,不过中国文化里有不少东西也有他的哲学在里面:程咬金的三板斧能当开国英雄,但是十八般武艺样样精通的人物很少提及,给我的感觉是中国文化里面鼓励人成为专家而不是博学。不过放在编程语言的学习我很同意那些文章里面的说法,尤其是对在校生和年轻人,不要只限于Java之类很流行的语言用的好,多发掘发掘一些没什么人用的的有代表性语言,开阔自己的眼界,锻炼自己编程的思维方式。就像文章里面的一个作者说的,同样优秀的人才,类似的语言(我记不清了,随便说了,见谅)学过了C++掌握Java可能也就是几天的时间,没有任何问题;不过只学过Java再去学C++,很多概念他可能就一直弄不清楚了。


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-09-24 18:16 

注册: 2005-09-09 11:32
帖子: 45
送出感谢: 0 次
接收感谢: 0 次
语言是工具,确实重要
不过也没有这么高深吧,有兴趣,时间的话挑一些流派的代表性语言学下不就好了 ;)

工作1年,我现在觉得欠缺的是
对于一个问题,如何划分模块,定义接口,这方面的经验,能力不够
还有就是算法方面,之前基本是一片空白,得从头开始
至于其他的
就是计算机内的一些特定领域,方法,知识,比如网络编程,多线程,UNICODE之类的经验积累了

当然,分析,解决问题的能力,从经验中学习进步的能力,以及相应的数学背景就不用多说了


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-09-25 5:48 
头像

注册: 2007-05-10 19:42
帖子: 255
地址: 南京, Deutschland, Karlsruhe
送出感谢: 0 次
接收感谢: 0 次
基本上一门语言三天就可以上手了,最花时间的是对庞大库的熟练运用
当然设计模式是最关键的.


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-09-27 20:12 

注册: 2007-09-15 10:55
帖子: 11
送出感谢: 0 次
接收感谢: 0 次
编程的理念和思路,语言只是一种工具,练就内功是否更重要!


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-09-27 21:18 

注册: 2007-09-14 19:51
帖子: 972
送出感谢: 0 次
接收感谢: 0 次
那也要先把一门语言学好吧?


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-09-28 6:13 
头像

注册: 2005-09-01 20:48
帖子: 510
送出感谢: 0 次
接收感谢: 0 次
halve 写道:
语言是工具,确实重要
不过也没有这么高深吧,有兴趣,时间的话挑一些流派的代表性语言学下不就好了 ;)

工作1年,我现在觉得欠缺的是
对于一个问题,如何划分模块,定义接口,这方面的经验,能力不够
还有就是算法方面,之前基本是一片空白,得从头开始
至于其他的
就是计算机内的一些特定领域,方法,知识,比如网络编程,多线程,UNICODE之类的经验积累了

当然,分析,解决问题的能力,从经验中学习进步的能力,以及相应的数学背景就不用多说了

这就是我的观点,当然什么是代表性的语言就不是那么简单的问题了.不过至少我觉得C要学的比较明白.


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2007-09-28 7:44 
头像

注册: 2007-08-24 20:16
帖子: 164
地址: Hangzhou, China
送出感谢: 0 次
接收感谢: 0 次
貌似楼主在批判Java太简单。4GL一般都是以开发效率为基础的OO语言拉,不简单不易用的话哪里能有很高的开发效率。而且Java由于其平台的强大,现在成为主要的中间件平台,用Java来做中间件也不是简单的事情。如果单单只是做应用的话,Java就快淘汰了,因为一般的应用肯定是用当时最流行的语言来开发。

楼主的第一句话似乎有点过了。其实国外很多强人都是coder,而且都是上了年纪的coder,可以说很多新技术就是他们发明和推广的,比如tw的Martin Fowler,Kent Back,Bjarne Stroustrup等等。只是国内之前的氛围还不够,所以导致coder的都是年轻的,像国内现在的coder牛人大部分都没有过40,以后会慢慢改变的。

每一门语言都代表着一种不同的文化,不同的思想。


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 0 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译