日历

August 2009
M T W T F S S
    Sep »
 12
3456789
10111213141516
17181920212223
24252627282930
31  

冒号课堂§1.2:首轮提问

冒号课堂

第一课 开班导言(2)

1.2 首轮提问——什么语言好?

郑晖

摘要

讨论流行的计算机语言


敬畏老师莫如敬畏真理

题记

!预览

  • 真正的老师是你自己

  • 没有激情作氧气,灵感的火花注定转瞬即灭

?提问

  • 谁是你真正的老师?

  • 程序员是吃青春饭的吗?

  • 计算机语言这么多,到底学哪个好?

:讲解

众人面面相觑,一阵沉默后开始窃窃私语,显然有些不太习惯这种教学方式——笔记本上还没写两个字呢,老师就把球给踢回来了。

冒号也不说话,只是微笑地望着大家。

还是问号打破僵局,开始发问:“老师——”

冒号扬手打断他:“请不要管我叫老师,真正的老师是你自己。本班的一个特色是:师生角色模糊,大家自主学习,相互启发,教学相长。”

“老冒——”问号顿了顿,全班哄堂大笑,“学软件开发,当然得先学语言,计算机语言这么多,到底哪个好,或者说学哪个好?”

冒号笑道:“这个问题很典型,很实在,也很初级。”

问号被“初级”这个字眼刺得面上一红。

“如果信奉流行的就是好的,那么也许可以给你一个参考答案。”冒号转身在黑板上写下一串清单¬——

Java(19.40%) C(15.84%) C++(9.63%) VB(8.84%) PHP(8.78%) C#(5.06%)

Python(4.57%) Perl(4.12%) Delphi(3.62%) JavaScript(3.54%) Ruby(3.28%) D(1.26%)

“根据TIOBE[1]截至2009年2月份的统计结果,选出以上流行度超过1%的12种编程语言。从中可以看出,它们的总占有率接近90%,应该算得上是当今主流语言的代表。尽管有人置疑TIOBE排名的权威性和合理性,但这份名单应该还是八九不离十的。”冒号道。

引号很疑惑:“怎么可能那么流行的ASP和JSP都不在其中呢?”

“对啊,”逗号附和着,“还有HTML和XML怎么不算呢?”

冒号解释道:“ASP、JSP和PHP是动态网页最流行的三种解决方案。动态网页的实现方式很多,但它们采取的几乎是同样的方式——在静态网页中植入一些能在服务器端运行的代码。在ASP和JSP中,这些代码并不涉及新的语言,故称之为模板、框架或脚本环境更合适些。PHP则不同,本身是一种新的编程语言,并且除了应用于服务端外,还能编写命令行脚本和桌面应用程序。至于HTML和XML,还有XHTML、WML等,均为SGML(Standard Generalized Markup Language)的子集,属于标记语言(Markup Language)。与通常意义上的编程语言有所不同,它们是处理的对象而不是处理的主体。可以说它们更接近数据格式标准,正如CSV和JSON一样。当然也不绝对,XSLT是一种特殊的XML,但却包含变量定义和处理逻辑,更学术地说,它是图灵完备的(Turing-complete)[2],应当属于编程语言。”

问号杀了个回马枪:“那CSS、RSS算是编程语言吗?”

冒号从容作答:“与XSLT类似,CSS是一种样式语言(Stylesheet Language),但不是以XML的形式出现。它将传统的HTML中的样式逻辑提炼出来,大大丰富和简化了HTML。不过它没有执行指令或运算,更谈不上图灵完备,因此不属编程语言。至于RSS,只是一种用XML来描述的数据交换规范,甚至连语言都算不上。”

叹号也插了进来:“近来网络开发语言AJAX特别火,难道不算编程语言吗?”

冒号摇头道:“的确有不少人以为AJAX是一门语言,但如果知道AJAX是Asynchronous JavaScript And XML的简称,便知其谬矣。事实上,它是综合了JavaScript、XML、HTML、CSS等多种语言的一种网络应用技术。”

“就算这些不是编程语言,那也是计算机语言或者与语言密切相关的技术,该学的还是得学。”句号想起问号开始问的是计算机语言,老冒有偷换概念之嫌。

“不错,”冒号点点头,“不仅要学语言,还要熟悉相应的开发环境和开发工具等等,当然最重要的是学习其中的思想。”

“唉,学完这些头发都白了,程序员可是吃青春饭的。”叹号叹息道。

冒号扫视了一下,说道:“现在班上每个人都尊口已开,这是一个很好的开始。开放言论才能解放思想,思想解放了才能产生灵感和激情。缺乏灵感和激情的程序员,学习起来吃力,工作起来辛苦,最后就会感慨这是吃青春饭的职业。”

叹号不好意思地挠了挠头。

逗号接言:“灵感嘛,偶尔也许能闪一下,激情可就难喽!

冒号注视着他,一字一顿地说:“没有激情作氧气,灵感的火花注定转瞬即灭。”

,插语

  1. TIOBE(http://www.tiobe.com)是一家评估编程语言流行度的权威机构,每月公布一次编程语言排行榜。

  2. 一个能计算出每个图灵可计算函数(Turing-computable function)的计算系统被称为图灵完备的。一个语言是图灵完备的,意味着该语言的计算能力与一个通用图灵机(Universal Turing Machine)相当,这也是现代计算机语言所能拥有的最高能力。

。总结

  • 本班倡导自主学习、相互启发,真正的老师不是别人,正是自己。

  • 当今主流语言的代表:Java,C,C++,VB,PHP,C#,Python,Perl, Delphi,JavaScript, Ruby和D。

  • “程序员是吃青春饭的职业”出自那些缺乏灵感和激情的人之口。

Be Sociable, Share!
分享/保存
 请您评分1星(很差)2星(不行)3星(一般)4星(不错)5星(很棒) (已有4人评分,平均分为:5.00 / 5)

1 comment to 冒号课堂§1.2:首轮提问

Leave a Reply

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

  

  

  

This blog is kept spam free by WP-SpamFree.