chiden
驱动牛犊
驱动牛犊
  • 注册日期2002-11-12
  • 最后登录2003-01-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:11347回复:56

从初学者到编程高手,几种必学的编程语言(转贴)

楼主#
更多 发布于:2002-11-15 11:02
他编程高手(主要是新闻组)的请教,我认为找到了满意我的答案。抛砖引玉,做个参考吧。  

对于初学者,我建议从 python 开始学。因为它在语言设计上很整洁,帮助文件也很全面。而且也是 object-oriented (O-O),尽管我把它作为一个初学者开始的语言,并不代表它的用处和功能不强大。实际上它是个功能强大,可以用来做大的编程工程的语言。  
我知道国内对 python 可能还不了解,因为它相对来说也比较新(1990),到现在有12年的历史了,但是它在国外已经被广泛接受和认同,快速发展。不过我知道邮电出版社最近刚出了一本介绍 python 编程的书,大家可以查询。python 的主页 www.python.org  

Java 也是个很好的语言来开始学编程。不过它比 python 复杂。国外的大学现在都采用 java 作为电脑专业的凯时语言。总之我觉得除了 python 之外,它也可以作为一个极好的初学者语言。  

不过,会了这两种语言,并不代表你就是一个编程员了。学会编程的关键就是 -- “ 编程思想“ 。 学会怎样用一种很“ 广泛的思维“ 去考虑“ 编程问题 “,也就是这种思维是可以放之于任何一种编程语言都可以解决问题的,而不是局限于单纯的一种语言。这样当你需要学习一种新的语言时,你只要学习他的语法等等就可以了,至于怎样用这种语言解决编程问题不是早就在你的脑子里了吗。所以,这也就是为什么很多程序员可以拿到一种语言,一两个星期就可以使用的很熟练了。这,也同样要求你去学几种完全不同的语言。  

C 语言是非常有效率的,很多时候你都需要考虑内存的管理等底层的东西。很可惜这些都需要你去花很多的时间去做,问每一个 C/C++ 的程序员,用 C/C++ 编程是不是一个很头疼的事。好消息是,现在的机器都已经很高级,运算的很快,在很多时候我们是不用考虑用 C/C++ 去做,忽略它所带来的好处,当然除非这个工程真的很需要处理底层的东西(象 内核的编辑,3-D 图形等)。很多时候 python, java 等都可以实现。另外在现在很多工程所要求的时间都不是足够充裕来用 C/C++ 去做,所以在商业上时间就是金钱,这个代价谁也付不起。  

我这里并没有说 C/C++ 不好,你不应该学。相反我觉得我们应该学,但不是作为一个初学者的语言来学。在 C 和 C++ 之间,我推荐先学 C 。.因为它相对来说较小,简单。作为一种底层编程语言,C,你可以学到很直接的内存管理,指针,等。另外,很多语言都是用 C 来设计的, 比如 perl , java, python  

其它语言值得一学的有 perl , Lisp(当然你也很一说 effile, proflog),提到 perl 是因为它的实用性,广泛的应用在网络和系统管理,perl 提倡 \"There is always more than one way to do it\" 这主要是从 perl 的语法以及它的独特设计上来获得,记得用几行code 你就可以写出很有效率的程序?这也就是为什么我很喜欢perl 了。但是perl 的语法着实让很多人头疼 而且对于用 perl 写的大型程序,维护性不是很好,python 就没有这方面的问题,这也是为什么很多 perl 的用户转向了 python 。很多人用 perl 的目的和用 python 一样,避免在不要求 C 的效率时 使用 C。  
Lisp 据说是很有启迪性的语言,会让你成为一个更好的程序员.(我还没有到达那个程度 :-)  

我个人推荐 (python, java, C ,perl, 和 Lisp),因为他们使用不同的方法来编程,每一种都会在某种程度上交给你些很有价值的东西。  

谈到学习编程,单纯的上课和看书只会让你学习语言的特性等,只有学会用编程的思想来思考才是你终生受用的。这些只能依靠 “ 练习 “ 具体就是 1) 读程序 2) 写程序 看似简单,但坚持下来你才会真正体会到,这里没有其他可以投机取巧的方法学习编程了。  

至于学多少种,是越多越好吧。但并不是指每个都精通,我想大家也没那么多时间和精力。但在你有了坚实的编程经验和基础,了解其它语言的设计方法、构造会开阔你的眼界,没准什么时候你也可以编出自己的语言(咱中国人编的!!) :-)  

要提醒大家的是,如果每种语言总是略学皮毛,然后又急匆匆的跳到另外一种语言,那你就会一事无成,永远彷徨在初学者的门槛边。我想这句话不只是对程序员,对我们来说也是生活中的一个道理。

最新喜欢:

wuyongjunwuyong... okincnokincn
jiajia20050307
驱动牛犊
驱动牛犊
  • 注册日期2005-04-23
  • 最后登录2005-04-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
沙发#
发布于:2005-04-23 09:49
汇编太痛苦了,还是C/C++
azhu328
驱动牛犊
驱动牛犊
  • 注册日期2005-03-08
  • 最后登录2005-05-16
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2005-03-27 14:19
我觉得各种语言都应该懂一点,至少要通三门语言,否则以后的发展受限呀!
paladinii
驱动中牛
驱动中牛
  • 注册日期2003-10-28
  • 最后登录2012-03-09
  • 粉丝0
  • 关注0
  • 积分282分
  • 威望74点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
地板#
发布于:2005-03-15 20:09
f :)
Ideas for life!
paladinii
驱动中牛
驱动中牛
  • 注册日期2003-10-28
  • 最后登录2012-03-09
  • 粉丝0
  • 关注0
  • 积分282分
  • 威望74点
  • 贡献值0点
  • 好评度23点
  • 原创分0分
  • 专家分0分
地下室#
发布于:2005-03-15 20:08
2 :)
Ideas for life!
babybattle
驱动牛犊
驱动牛犊
  • 注册日期2004-07-12
  • 最后登录2005-10-17
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
5楼#
发布于:2005-03-12 09:42
受益匪浅! :D
总于找到家了。。。。
zyl910
驱动牛犊
驱动牛犊
  • 注册日期2005-02-20
  • 最后登录2006-09-28
  • 粉丝0
  • 关注0
  • 积分50分
  • 威望5点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
6楼#
发布于:2005-02-22 00:11
我现在彻底看透了

汇编、C/C++是用来做系统的
其他编程语言都是用来做应用的

90年代中很流行Word宏病毒
90年代末很流行VB、Delphi开发数据库应用
现在流行脚本语言编Web服务
这都是应用而已
与语言无关
你到头来还是依赖别人的软件

但应用性编程语言的研究是很有“钱”途的
正面理由:提高生产力,减轻程序员负担
反面理由:吸引外行人学XX语言,从而带动系统软件的销量。而且这样水越搅越混,一般人不知道真正的技术是什么,最终造成垄断(现在找硬件编程资料太难了,好不容易才找到这个网站)

Java与.Net之争只是附加效果
Microsoft推出.Net主要是为了向64位系统过渡
因为64位Windows肯定要跨IA32、IA64、AMD64三大平台
本机编译的代码只有1/3能运行的几率
这时候只有依赖虚拟机技术来跨平台


无论学了多少种编程语言都无法成为高手的
真正的高手懂编译原理,有个好点子就自己定义一种语言(如Word的VBA、E语言、Flash的脚本语言)
baaniaw
驱动牛犊
驱动牛犊
  • 注册日期2004-06-28
  • 最后登录2011-12-03
  • 粉丝0
  • 关注0
  • 积分7分
  • 威望31点
  • 贡献值0点
  • 好评度17点
  • 原创分0分
  • 专家分0分
7楼#
发布于:2004-07-19 16:43
各位有没有用NI公司的Labview/CVI编制过驱动啊?

CVI编程其实就是用C语言,CVI还可以画界面,然后自动生成框架
grayfox
驱动牛犊
驱动牛犊
  • 注册日期2004-04-18
  • 最后登录2012-11-02
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
8楼#
发布于:2004-06-27 15:29
受益非浅!
人人为我,我为人人!
zhao_bian
驱动牛犊
驱动牛犊
  • 注册日期2003-06-18
  • 最后登录2016-01-07
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
9楼#
发布于:2004-06-25 20:38
本人觉得精通一门语言就行了,如果你做数据库开发,用DELPHI和VB比较好,不过VB与SQL SERVER结合比较好,做底层还是VC,网络还是用JAVA,我VB VC DELPHI 都学了,还是觉得VC好,一Windows是M$做的,二学了VB你面向对象概念和操作系统还是不懂
cnxmx
驱动牛犊
驱动牛犊
  • 注册日期2004-06-09
  • 最后登录2010-01-05
  • 粉丝0
  • 关注0
  • 积分22分
  • 威望15点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
10楼#
发布于:2004-06-14 23:49
强啊!
佩服!
jec017
驱动太牛
驱动太牛
  • 注册日期2002-08-22
  • 最后登录2008-01-09
  • 粉丝0
  • 关注0
  • 积分91分
  • 威望10点
  • 贡献值0点
  • 好评度9点
  • 原创分0分
  • 专家分0分
11楼#
发布于:2004-05-19 10:46
傻子,ASM 就是汇编
czliang
驱动牛犊
驱动牛犊
  • 注册日期2004-05-08
  • 最后登录2004-05-13
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
12楼#
发布于:2004-05-11 21:01
汇编没必要学的很强吧

把c学好,涉及到要用汇编的,用c就差不多了
Leopard
驱动老牛
驱动老牛
  • 注册日期2001-07-13
  • 最后登录2021-12-15
  • 粉丝0
  • 关注0
  • 积分8分
  • 威望53点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
  • 社区居民
  • 忠实会员
13楼#
发布于:2004-05-08 16:03
各位有没有用NI公司的Labview/CVI编制过驱动啊?

孤陋寡闻,learn。。。
ppoopp
驱动牛犊
驱动牛犊
  • 注册日期2004-05-05
  • 最后登录2013-11-19
  • 粉丝0
  • 关注0
  • 积分192分
  • 威望71点
  • 贡献值0点
  • 好评度19点
  • 原创分0分
  • 专家分0分
14楼#
发布于:2004-05-08 10:35
各位有没有用NI公司的Labview/CVI编制过驱动啊?
zwgao
驱动牛犊
驱动牛犊
  • 注册日期2002-11-10
  • 最后登录2004-04-23
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
15楼#
发布于:2004-04-23 20:51
许多语言有类似的道理,
学好一门,其它就好学了,只是语法区别,
和其他一些小问题了 :D

zwgao
ftaohu
驱动牛犊
驱动牛犊
  • 注册日期2002-02-06
  • 最后登录2009-02-01
  • 粉丝0
  • 关注0
  • 积分10分
  • 威望1点
  • 贡献值0点
  • 好评度1点
  • 原创分0分
  • 专家分0分
16楼#
发布于:2004-04-14 15:00
作底层开发的话还是C ASM的天下,但是需要很深的理论基础和硬件功底。
作应用开发的话,我推荐用C++,作为一门语言C++有很多需要学习的地方,C C++的思想是不一样的。
敬畏耶和华时智慧的开端,承认至圣者才是悟性。 耶稣说:“我赐给你们一条新命令,乃是要你们彼此相爱,我怎样爱你们,你们也要怎样相爱,你们若有彼此相爱的心,众人就因此认出你们是我的门徒了!”
wangshihu
论坛版主
论坛版主
  • 注册日期2003-12-31
  • 最后登录2012-03-26
  • 粉丝0
  • 关注0
  • 积分26分
  • 威望96点
  • 贡献值0点
  • 好评度6点
  • 原创分0分
  • 专家分0分
17楼#
发布于:2004-04-06 15:45
请问楼上兄弟,acm是什么语言?
lanbincn
驱动牛犊
驱动牛犊
  • 注册日期2004-03-08
  • 最后登录2004-03-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
18楼#
发布于:2004-03-10 10:50
不同的开发有不同的语言选择,要想良好的适应开发需求,必须精通的语言:asm c c++和操作系统的shell。别的语言吗,即使什么都不知道,也可以较好的适应开发


 不对。
lanbincn
驱动牛犊
驱动牛犊
  • 注册日期2004-03-08
  • 最后登录2004-03-10
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
19楼#
发布于:2004-03-10 10:45
把C/C++学精,再学一点汇编,你无须再学其他任何语言。
C/C++编程是经验的积累,苦在前头,乐在后头,当你手头积累了大量的源代码后,你会发觉编什么程序都容易。这是我六年来编程经验的总结。


就是,就是。
上一页
游客

返回顶部