阅读:11745回复:56
从初学者到编程高手,几种必学的编程语言(转贴)
他编程高手(主要是新闻组)的请教,我认为找到了满意我的答案。抛砖引玉,做个参考吧。
对于初学者,我建议从 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) 写程序 看似简单,但坚持下来你才会真正体会到,这里没有其他可以投机取巧的方法学习编程了。 至于学多少种,是越多越好吧。但并不是指每个都精通,我想大家也没那么多时间和精力。但在你有了坚实的编程经验和基础,了解其它语言的设计方法、构造会开阔你的眼界,没准什么时候你也可以编出自己的语言(咱中国人编的!!) :-) 要提醒大家的是,如果每种语言总是略学皮毛,然后又急匆匆的跳到另外一种语言,那你就会一事无成,永远彷徨在初学者的门槛边。我想这句话不只是对程序员,对我们来说也是生活中的一个道理。 |
|
沙发#
发布于:2005-04-23 09:49
汇编太痛苦了,还是C/C++
|
|
板凳#
发布于:2005-03-27 14:19
我觉得各种语言都应该懂一点,至少要通三门语言,否则以后的发展受限呀!
|
|
地板#
发布于:2005-03-15 20:09
f :)
|
|
|
地下室#
发布于:2005-03-15 20:08
2 :)
|
|
|
5楼#
发布于:2005-03-12 09:42
受益匪浅! :D
|
|
|
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的脚本语言) |
|
7楼#
发布于:2004-07-19 16:43
各位有没有用NI公司的Labview/CVI编制过驱动啊? CVI编程其实就是用C语言,CVI还可以画界面,然后自动生成框架 |
|
8楼#
发布于:2004-06-27 15:29
受益非浅!
|
|
|
9楼#
发布于:2004-06-25 20:38
本人觉得精通一门语言就行了,如果你做数据库开发,用DELPHI和VB比较好,不过VB与SQL SERVER结合比较好,做底层还是VC,网络还是用JAVA,我VB VC DELPHI 都学了,还是觉得VC好,一Windows是M$做的,二学了VB你面向对象概念和操作系统还是不懂
|
|
10楼#
发布于:2004-06-14 23:49
强啊!
佩服! |
|
11楼#
发布于:2004-05-19 10:46
傻子,ASM 就是汇编
|
|
12楼#
发布于:2004-05-11 21:01
汇编没必要学的很强吧
把c学好,涉及到要用汇编的,用c就差不多了 |
|
13楼#
发布于:2004-05-08 16:03
各位有没有用NI公司的Labview/CVI编制过驱动啊? 孤陋寡闻,learn。。。 |
|
14楼#
发布于:2004-05-08 10:35
各位有没有用NI公司的Labview/CVI编制过驱动啊?
|
|
15楼#
发布于:2004-04-23 20:51
许多语言有类似的道理,
学好一门,其它就好学了,只是语法区别, 和其他一些小问题了 :D |
|
|
16楼#
发布于:2004-04-14 15:00
作底层开发的话还是C ASM的天下,但是需要很深的理论基础和硬件功底。
作应用开发的话,我推荐用C++,作为一门语言C++有很多需要学习的地方,C C++的思想是不一样的。 |
|
|
17楼#
发布于:2004-04-06 15:45
请问楼上兄弟,acm是什么语言? |
|
18楼#
发布于:2004-03-10 10:50
不同的开发有不同的语言选择,要想良好的适应开发需求,必须精通的语言:asm c c++和操作系统的shell。别的语言吗,即使什么都不知道,也可以较好的适应开发 不对。 |
|
19楼#
发布于:2004-03-10 10:45
把C/C++学精,再学一点汇编,你无须再学其他任何语言。 就是,就是。 |
|
上一页
下一页