转自:http://www.blogjava.net/xyz98/archive/2008/05/01/197629.html
冒号和他的学生们
——程序员提高班纪事
2、首轮提问
敬畏老师莫如敬畏真理 ——题记
众人面面相觑,一阵沉默后开始窃窃私语,显然有些不太习惯这种教学方式——笔记本上还没写两个字呢,老师就把球给踢回来了。
冒号也不说话,只是微笑地望着大家。
还是问号打破僵局,开始发问:“老师——”
冒号扬手打断他:“这里没有老师,唯一的老师是你自己。本班的一个特色是:师生角色模糊,大家自主学习,相互启发,教学相长。”
问号顿了顿:“老冒——”全班哄堂大笑,“学软件开发,当然得先学语言,计算机语言这么多,到底哪个好,或者说学哪个好?”
冒号笑道:“这个问题很典型,很实在,也很初级。”问号被“初级”这个字眼刺得面上一红,“如果信奉流行的就是好的,那么也许可以给你一个参考答案。”
冒号转身在黑板上写下一串清单——
Java(20.7%) C(15.6%) VB(10.8%) PHP(10.1%) C++(9.8%) Perl(5.8%)
ython(4.6%) C#(4.1%) Delphi(2.7%) Ruby(2.7%) JavaScript(2.5%) D(1.1%)
“根据TIOBE截至2008年3月份的统计结果,选出以上流行度超过1%的12种程序语言。从中可以看出,它们的总占有率超过90%,应该算得上是当今主流语言的代表。”
引号很疑惑:“怎么可能那么流行的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),应当属于程序语言。”
问号杀了个回马枪:“那CSS、RSS算是程序语言吗?”
冒号从容作答:“与XSLT类似,CSS是一种样式语言(Stylesheet Language),但不是以XML的形式出现。它将传统的HTML中的样式逻辑提炼出来,大大丰富和简化了HTML。不过它基本没有执行指令,更谈不上图灵完备,因此不属程序语言。至于RSS,只是一种用XML来描述的数据交换规范,甚至连语言都算不上。”
“就算这些不是程序语言,那也是计算机语言,该学的还是得学。”句号想起问号开始问的是计算机语言,老冒有偷换概念之嫌。
“不错,”冒号点点头,“不仅要学语言,还要熟悉相应的开发环境和开发工具等等,当然最重要的是学习其中的思想。”
“唉,学完这些头发都白了,程序员可是吃青春饭的。”叹号叹息道。
冒号扫视了一下,说道:“现在班上每个人都尊口已开,这是一个很好的开始。开放言论才能解放思想,思想解放了才能产生灵感和激情。缺乏灵感和激情的程序员,学习起来吃力,工作起来辛苦,最后就会感慨这是吃青春饭的职业。”
叹号不好意思地挠了挠头:“灵感嘛,偶尔也许能闪一下,激情可就难喽!
冒号注视着他,一字一顿地说:“没有激情作氧气,灵感的火花注定转瞬即灭。”
分享到:
相关推荐
### 冒号和他的学生们——程序员提高班纪事 #### 知识点概览与解析 在《冒号和他的学生们——程序员提高班纪事》这本书中,作者深入浅出地介绍了编程学习过程中的重要概念和技术要点,并结合实际案例帮助读者更好...
如果你从这下载了第一部分了。这一部分是对第一部分的一个概括和总结。指明了文章中讲了哪些问题,又是如何解决的。
《冒号和他的学生们》尝试用一种新的方式,对软件开发中的一些问题做力所能及的总结和探讨。诚如冒号的开班发言中所述:本文中的问题不一定是预设的,结论不一定是终极的,甚至不一定是正确的。学习方式是开放多元、...
时下流行的软件课程,文笔优美,思想深刻,深受好评的雅文 作者:http://www.blogjava.net/xyz98
### Python数据类型中的“冒号”[::]——分片与步长操作详解 在Python编程语言中,分片操作是一种非常实用的功能,它允许我们提取序列(如字符串、列表等)的一部分,并对其进行灵活的操作。分片操作的核心是使用`...
根据提供的文件信息,本文将对《冒号课堂——编程范式与OOP思想》电子书进行深入解析,重点探讨编程范式与面向对象编程(Object-Oriented Programming, OOP)的相关概念及其在实际开发中的应用。 ### 编程范式与OOP...
冒号课堂的“编程范式与OOP思想”课程深入浅出地讲解了这些概念,帮助学习者理解不同的编程范式,特别是掌握OOP的核心原则和实践技巧。通过阅读提供的PDF文件,你可以获得丰富的理论知识和实际应用示例,进一步提升...
《冒号课堂》系列电子书是一套专注于编程教育和对象导向编程(OOP)思想的教程,涵盖了mobi、azw3和pdf三种格式,旨在为读者提供灵活的学习选择。这些电子书版本均非影印版,而是可以直接编辑的文本形式,确保了阅读...
c++中冒号和双冒号的用法,在编程过程中,进程搞混,现总结出来与大家分享
### C++中点号冒号双冒号的深入解析 #### 一、引言 C++作为一种静态类型的编程语言,其语法中包含了多种符号来帮助开发者实现特定的功能。本文将重点探讨C++中的三个基本符号:点号(`.`)、冒号(`:`)以及双冒号(`::`...
Kotlin 中双冒号 :: 使用方法 Kotlin 中双冒号 :: 使用方法是一种特殊的语法结构,它可以将一个方法作为参数传递给另外一个方法。这种语法结构在实际开发中非常有用,本文将详细介绍 Kotlin 中双冒号 :: 使用方法的...
根据给定的学习课件《2写信——学生学习课件》的内容,我们可以提炼出以下关于书信写作的重要知识点: ### 书信的基本知识 书信作为一种传统的通信方式,虽然随着现代通讯技术的发展而逐渐减少使用频率,但它依然...
9. **教学过程**:教师应引导学生通过复习已有的知识(如减法和除法),引入新的概念——比,通过举例和讨论,让学生理解比的各部分含义,明确比与除法、分数的关系,并通过练习巩固新学知识。 10. **教学目标**:...
冒号课堂 完整版 分卷二 是完整版的 不是1.98M版本的 由于文件太大 只能分卷上传
本文将基于提供的内容,详细介绍MATLAB中冒号操作符的各种用法及其应用场景,旨在帮助初学者更好地理解和掌握这一关键概念。 #### 1. 基本用法 - **生成向量**:`a:b` 表示生成一个从`a`到`b`的等差序列。例如,`A...
这个名为“C++经典实例——体现继承和多态”的资源显然是为了帮助开发者深入理解和应用这两个关键特性。下面我们将详细探讨这两个主题以及它们在实际编程中的应用。 首先,我们来看“继承”。继承是面向对象设计的...