
除非你像我一样学程序语言只是为了到处献宝,否则你在学一套程序语言前,应该先仔细评估到底要学哪一套。每个程序语言的用途都有很大的差异,走了冤枉路可能会耽误到计画实作的进程。
我大致上把程序语言分成五类,分述如下:
Web Page Script Languages
用来做网页的语言,可以对网页做控制。如果你希望设计出很炫的网页,光靠 HTML 是不够的,你还得学一套 WebPageScript Language,比方说JavaScript(ECMAScript)和微软的JScript。不过两者都是系出同门,所以差不多。WML Script(WAP手机的 script)也是袭自JavaScript。
许多人知道我不会 JavaScript 之后,都会大吃一惊地反问:「可是你不是会Java,怎么不顺便学JavaScript,两个语言不是差不多」。如果依照此推理,我看我差不多每个语言都要学了,因为除了REBOL和汇编语言比较特殊之外,我觉得其它语言的语法都差不多(但用途差很多)。
不过我最近的确是有打算开始学JavaScript,因为我发现用到它的机会还不少。除了网页会用到之外,我最近所接触的SVG(Scalable VectorGraphics)就使用 JavaScript 来达到动画效果。
Interpreted Languages(直译式语言)
这类直译式的语言包括了 Perl、Python、REBOL、Ruby... 等,也常被称为script语言,通常是用来取代批次档和 shellscript以便和底下的操作系统沟通。基本上,每个人至少都应该要会一套这类的语言,当你需要做某件简单的工作,你可以透过直译式的语言来轻易地办到,这么一来,你就可以不必大张旗鼓地使用Java和 C++ 等工具了。
直译式的语言通常比较高阶,程序比较好写,往往简短地几行程序就抵得过 Java 或C++的一堆程序代码。因为不用编译而且高阶,所以这类语言的程序效率通常很差,又因为原始程序代码暴露在外,所以拿它来写写工具程序自己用可以,但是拿来开发软件产品比较不恰当(除非你不在乎原始码外流)。目前这类语言最常被用来开发网页服务器端的程序,或者是设计软件的prototype。
Python 有一些不错的语言特性,目前在国外算是满热门的;Ruby是日本一位教授设计的,但是这语言太新了,目前好象只有Addison Wesley 的一本英文书和 OReilly的一本日文书可供参考;REBOL则是我近期最喜欢的程序语言,非常特别,REBOL语言的思维和别的语言差异非常大,许多时候很接近英文句子。至于Perl,我就没有研究了,台湾欧莱礼公司已经有 Perl的专家了,如果我现在去学 Perl的话,短期内是不可能超越他的,所以我看算了 :(
Hybrid Languages(混合式语言)
Java,C# 都是混合式语言,介于直译式语言和编译式语言之间(不管是在执行效能上或程序简单性上)。
C# 的语言有许多奇怪的特色,但也有一些不错的特色。C# 的学习使用上的难度介于 Java 和 C/C++ 之间。C#是Microsoft .NET 平台上最重要的语言,值得我们持续观察其后续发展。至于 Java 我就不用多说了,相信Sleeplessin Java 的读者们应该都知道 Java 是怎么一回事。
至于 Visual Basic,在 .NET 平台主推 C# 语言,而 VisualBasic.NET的语言又比以前复杂许多的情况下, Visual Basic 的前途似乎很不看好。
Compiling Languages(编译式语言)
C/C++,Delphi(Object Pascal)都是编译式语言。这几年来,C++ 已经变得越来越庞大了,大多数的C++程序员只用到(也只懂)C++ 功能的一小部份。想成为 C++ 语言真正的高手,没有耗上三五年是不可能的。虽然C++很复杂,但是真正想成为程序高手的人应该都要懂 C/C++,重要的 API 都会有 C/C++ 的版本,由此可见C/C++的重要性。至于 Delphi,在 Microsoft .NET 推出之后会对 Delphi 造成一些打击(Microsoft.NET的语言名单中连 Scheme、Eiffel 和 Mercury 这种少用的语言都出现了,独缺 Delphi),但是Delphi能透过 Kylix 来跨越 Windows 和 Linux,又是一个很大的吸引力,如果你想要跨 Linux 和Windows 平台的RAD 工具(语言),目前 Delphi 似乎是最好的选择。
Assembly Languages(汇编语言)
使用汇编语言,你将尝试到一砖一瓦堆砌出程序的乐趣(或痛苦)。汇编语言可以说是最接近硬件的语言,学会汇编语言,就可以对计算机的运作有相当程度的了解。不过,目前连开发驱动程序都不太需要用到汇编语言了。恐怕只有做DSP和 OS 等极少部份的人需要用到汇编语言。我也好久没写汇编程序了,以前 DOS 时代,我还用汇编语言写过一个 PE2。
程序语言学习顺序的建议
通常 WebScript最简单,直译式语言其次,接着是混合式语言,和编译式语言,最麻烦的是汇编语言。如果你完全没有程序经验,想开始学程序设计的话,你可以从JavaScript着手,等到程序基础观念建立得差不多了,再往下学习直译式语言,然后再学习混合式语言 ...,以此类推。
希望这篇文章能解决读者们选择程序语言的困扰。
作者:蔡学镛
我大致上把程序语言分成五类,分述如下:
Web Page Script Languages
用来做网页的语言,可以对网页做控制。如果你希望设计出很炫的网页,光靠 HTML 是不够的,你还得学一套 WebPageScript Language,比方说JavaScript(ECMAScript)和微软的JScript。不过两者都是系出同门,所以差不多。WML Script(WAP手机的 script)也是袭自JavaScript。
许多人知道我不会 JavaScript 之后,都会大吃一惊地反问:「可是你不是会Java,怎么不顺便学JavaScript,两个语言不是差不多」。如果依照此推理,我看我差不多每个语言都要学了,因为除了REBOL和汇编语言比较特殊之外,我觉得其它语言的语法都差不多(但用途差很多)。
不过我最近的确是有打算开始学JavaScript,因为我发现用到它的机会还不少。除了网页会用到之外,我最近所接触的SVG(Scalable VectorGraphics)就使用 JavaScript 来达到动画效果。
Interpreted Languages(直译式语言)
这类直译式的语言包括了 Perl、Python、REBOL、Ruby... 等,也常被称为script语言,通常是用来取代批次档和 shellscript以便和底下的操作系统沟通。基本上,每个人至少都应该要会一套这类的语言,当你需要做某件简单的工作,你可以透过直译式的语言来轻易地办到,这么一来,你就可以不必大张旗鼓地使用Java和 C++ 等工具了。
直译式的语言通常比较高阶,程序比较好写,往往简短地几行程序就抵得过 Java 或C++的一堆程序代码。因为不用编译而且高阶,所以这类语言的程序效率通常很差,又因为原始程序代码暴露在外,所以拿它来写写工具程序自己用可以,但是拿来开发软件产品比较不恰当(除非你不在乎原始码外流)。目前这类语言最常被用来开发网页服务器端的程序,或者是设计软件的prototype。
Python 有一些不错的语言特性,目前在国外算是满热门的;Ruby是日本一位教授设计的,但是这语言太新了,目前好象只有Addison Wesley 的一本英文书和 OReilly的一本日文书可供参考;REBOL则是我近期最喜欢的程序语言,非常特别,REBOL语言的思维和别的语言差异非常大,许多时候很接近英文句子。至于Perl,我就没有研究了,台湾欧莱礼公司已经有 Perl的专家了,如果我现在去学 Perl的话,短期内是不可能超越他的,所以我看算了 :(
Hybrid Languages(混合式语言)
Java,C# 都是混合式语言,介于直译式语言和编译式语言之间(不管是在执行效能上或程序简单性上)。
C# 的语言有许多奇怪的特色,但也有一些不错的特色。C# 的学习使用上的难度介于 Java 和 C/C++ 之间。C#是Microsoft .NET 平台上最重要的语言,值得我们持续观察其后续发展。至于 Java 我就不用多说了,相信Sleeplessin Java 的读者们应该都知道 Java 是怎么一回事。
至于 Visual Basic,在 .NET 平台主推 C# 语言,而 VisualBasic.NET的语言又比以前复杂许多的情况下, Visual Basic 的前途似乎很不看好。
Compiling Languages(编译式语言)
C/C++,Delphi(Object Pascal)都是编译式语言。这几年来,C++ 已经变得越来越庞大了,大多数的C++程序员只用到(也只懂)C++ 功能的一小部份。想成为 C++ 语言真正的高手,没有耗上三五年是不可能的。虽然C++很复杂,但是真正想成为程序高手的人应该都要懂 C/C++,重要的 API 都会有 C/C++ 的版本,由此可见C/C++的重要性。至于 Delphi,在 Microsoft .NET 推出之后会对 Delphi 造成一些打击(Microsoft.NET的语言名单中连 Scheme、Eiffel 和 Mercury 这种少用的语言都出现了,独缺 Delphi),但是Delphi能透过 Kylix 来跨越 Windows 和 Linux,又是一个很大的吸引力,如果你想要跨 Linux 和Windows 平台的RAD 工具(语言),目前 Delphi 似乎是最好的选择。
Assembly Languages(汇编语言)
使用汇编语言,你将尝试到一砖一瓦堆砌出程序的乐趣(或痛苦)。汇编语言可以说是最接近硬件的语言,学会汇编语言,就可以对计算机的运作有相当程度的了解。不过,目前连开发驱动程序都不太需要用到汇编语言了。恐怕只有做DSP和 OS 等极少部份的人需要用到汇编语言。我也好久没写汇编程序了,以前 DOS 时代,我还用汇编语言写过一个 PE2。
程序语言学习顺序的建议
通常 WebScript最简单,直译式语言其次,接着是混合式语言,和编译式语言,最麻烦的是汇编语言。如果你完全没有程序经验,想开始学程序设计的话,你可以从JavaScript着手,等到程序基础观念建立得差不多了,再往下学习直译式语言,然后再学习混合式语言 ...,以此类推。
希望这篇文章能解决读者们选择程序语言的困扰。
上一篇文章:成为编程高手的八大奥秘
下一篇文章:如何成为一名Java初级程序员
全站资源
- 微软官方入门教程19:轻松掌握Vista系统的快
- 微软2008大冲击,预借Vista SP1力促Vista市
- 在收件箱中获得 Windows Vista 的最新更新
- 微软官方Vista入门教程全集19篇(Vista学院
- Windows Vista 的成功将势不可挡
- 快快抛弃Vista,拥抱XP SP3!你觉得呢?
- 浅谈Vista系统关闭虚拟内存与使用内存盘加速
- 嘿嘿,按下键盘上面的三个键,马上让你的Vi
- Windows Vista的盗版率只有Windows XP的一半
- 3DMark和PCMark Vantage新版将只支持Vista系
阅读排行
- 一个三流学校程序员的奋斗!
- 你该学什么程序语言
- 一个中专生的程序员之路
- 月薪3200 博客网架构师艰难浪迹于北京
- 如何成为一名Java初级程序员
- 成为编程高手的八大奥秘
- 10岁学编程 拥有19项专利的女程序员
- 一个程序员如何月进万金的?
- 程序人生:我刚工作的那些年 A
- 一个软件测试工程师20年的地位浮沉
最新技术文档
- 程序员之间的战争 战场是用户电脑
- 你是否想知道 如何进入程序设计的领域
- 程序员的灯下黑:坚持和良好心态近乎道
- 中国程序员应读“名著”
- 程序员的灯下黑:管理还是技术?兴趣优先
- 程序员面试试题之关于继承
- 程序员:我是“坚守者”还是"背叛者"?
- 一个程序员如何月进万金的?
- 中国程序员的地域分布图
- Hibernate之父Gavin King
专题教程
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
病毒专杀栏
