puzzle_man
著名写手
著名写手
  • 铜币9枚
  • 威望1点
  • 贡献值0点
  • 社区居民
阅读:661回复:7

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

楼主#
更多 发布于:2004-07-05 16:35
从初学者到编程高手,几种必学的编程语言


我自己在学习编程的过途中有的几个疑问,1)什么编程语言我需要学。 2)学多少种才算可以。最后通过我自己学习感受和对其他编程高手(主要是新闻组)的请教,我认为找到了满意我的答案。抛砖引玉,做个参考吧。
对于初学者,我建议从 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) 写程序 看似简单,但坚持下来你才会真正体会到,这里没有其他可以投机取巧的方法学习编程了。

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

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

--------------------
--------------------------------------------------------------------------
一个人的尊严和人格是绝对神圣而不可侵犯的
如若有歹人敢亵渎之,则必以天赋之自卫权利以应之!   -----[精武英雄]

注意:此人偶尔会使用不文明语言!!

--------------------------------------------------------------------------
传说中的最强ID!
[a]http://1319.nease.net[/a]


不论我们在BBS上如何风华一时,最终我们还是要回到现实。结果我们失去的是青春的时光,新鲜的美丽,锋芒毕露的才气,聪慧伶俐的自信,陌生人的捧场,新相识的快乐。最终慰籍我们的总是“草草杯盘共一欢,昏昏灯火话平生”的——寻常故人,寻常人生。[/b]
southeast
著名写手
著名写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
1C#
发布于:2004-07-05 16:56
Re:从初学者到编程高手,几种必学的编程语言
楼主,这是转贴吧,怎么也不注明一下,怎么说你也是斑竹啊。
网络上这样的文章多如牛毛,这种问题讨论的价值也不大。 -------------------- 好好吃饭,天天睡觉
努力赚钱,娶个老婆
[img]http://www.wait4c.com/bbs/userfiles/2196/2005051614543457820.jpg[/img]
slw4qd
著名写手
著名写手
  • 铜币2枚
  • 威望0点
  • 贡献值0点
2C#
发布于:2004-07-05 18:04
Re:从初学者到编程高手,几种必学的编程语言
python, java, C ,perl, 和 Lisp
和esr推荐的顺序和原因相似

-------------------- [email protected]
choeshin
小有名气
小有名气
  • 铜币0枚
  • 威望0点
  • 贡献值0点
3C#
发布于:2004-07-05 18:19
Re:从初学者到编程高手,几种必学的编程语言
我们一个学期就学C++和VB
垃圾 --------------------
[img]http://news.china.com/zh_cn/history/photos/11025921/20060407/images/11025921_2006040517423490010000.gif[/img]
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
4C#
发布于:2004-07-06 09:32
Re:从初学者到编程高手,几种必学的编程语言
It's my point of view:

must mastering:
ASM(熟悉機器)-C(抽象性)-PYTHON(應用對象)-SHELL(系統接口).

then select one or more directions:
Perl fit sys-admin系統管理
java fit bussiness商業應用
lisp fit ai人工智能
c++ fit sys-arch大型系統架構

一些工具。
VC/gcc/Delphi/Emacs/Vi..
make/cvs
flex/bision

一些模型和庫。
MFC/stl/ace.. [ 2004-07-06 09:37:26 mumu 修改 ]
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
5C#
发布于:2004-07-06 09:36
Re:从初学者到编程高手,几种必学的编程语言
語言不重要,語言應用的環境很重要。

玩SHELL你就要熟悉UNIX接口。並不是SHELL語法有多麽複雜。
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
mumu
写手
写手
  • 铜币0枚
  • 威望0点
  • 贡献值0点
6C#
发布于:2004-07-06 09:45
Re:从初学者到编程高手,几种必学的编程语言
my view:

計算機的工作者,至少應該熟悉三門語言。
不是因爲無聊或者酷,而是因爲你不可避免的要適應不同的環境。

其中,ASM/C是一類,性能或平臺優先。
C/JAVA/C++/PYTHON是一類,良好的設計。
SHELL/PERL/PYTHON是一類,膠水粘和。

可以看到,我對C和PYTHON的態度:)
王小波说:“中年妇女在中国是一种自然灾害,这倒不是因为她们不好看,而是因为她们故意要恶心人。” 一天,我乘坐公交车,一位MM突然转过头来对我说:“你帅吗?”我说:“我不帅!”MM突然给我一巴掌,并说:“我最讨厌说谎的人了!” 如果你更热爱金钱而非自由,更习惯于被奴役的安宁而畏惧令人充满活力的争取自由的抗争,那么,请你静静地走开。我们不会乞求你的建议或是帮助。伏下身去讨好那喂养你的人吧。但愿身上的锁链不会给你造成太多的痛苦,但愿未来的人们不会记起你曾经是我们的国人 Samuel Adams: 18世纪美国独立革命重要领袖,著有“殖民者的权利”
冰雨
小有名气
小有名气
  • 铜币0枚
  • 威望0点
  • 贡献值0点
7C#
发布于:2004-07-06 10:13
Re:从初学者到编程高手,几种必学的编程语言
建议不要先学OO。 -------------------- 我讨厌Windows,所以我装Linux;
我不喜欢Office,我用WPS;
我不装IE,我上网用Mozilla;
我不使.NET,我用J2EE。
我讨厌Windows,所以我装Linux; 我不喜欢Office,我用WPS; 我不装IE,我上网用Mozilla; 我不使.NET,我用J2EE。
游客

返回顶部