Welcome 微信登录

首页 / 软件开发 / JAVA / 冒号和他的学生们(连载17)——语言讨论

冒号和他的学生们(连载17)——语言讨论2011-07-01 BlogJava 郑晖17.语言讨论

因了解而喜爱,因无知而憎恶 ——题记

教室里,学员们正热火朝天地讨论着流行的编程语言。冒号推门而入,沸水锅被浇了一瓢冷水,立刻平静下来。

冒号笑吟吟地看着大家:“怎么不讨论了?”

众人齐道:“该您了!”

“首先需要声明的是,本课评论编程语言,乃是应众位之邀,实非本意。”冒号严肃起来,“因为这种评论,不可避免地会带上个人色彩,容易产生误导。正所谓,通禅悟道者拈花不语,坐井观天者蛙鸣鼓噪。”

众人迅速自动对号:看来我们就是一群蛤蟆。

“这样一来,我的处境就很尴尬了。”冒号自嘲着。

有人在幸灾乐祸地偷笑。

“也罢,即使作蛙鸣,至少也要先跳出井来。”冒号毅然决然地加入了蛤蟆的行列,“要谈,就旗帜鲜明地谈,该赞叹的就赞叹,该鄙视的就鄙视。说些你好我好大家好之类不痛不痒的话,倒不如不说。”

叹号一拍大腿:“好,这样才够痛快!”

冒号启开话题:“如果说编程范式是一种文化,那么编程语言更像是一种宗教——尽管它本不该是。每种语言都有大批忠实的信徒,随时可能与其他的信徒发生宗教战争。”

逗号深有同感:“周围和网上关于语言的争论从来不绝于耳,志不同道不合者动辄恶语相向。”

冒号有些忿忿然:“这些信徒或准信徒们认为他们所崇拜的语言鹤立鸡群,远比其他语言高明得多,恨不得成为全天下程序员的通用语言。对其他语言的使用者,或居高临下地同情,或不屑一顾地讥讽。无知与偏见总是相辅相成的,他们中的绝大多数顶多熟悉一两种语言,其他的或浅尝辄止、或道听途说,却敢妄评优劣,岂不可笑之极?”

引号点头称是:“是啊,没有深入的了解,怎会有深入的比较。只是真正掌握好一门语言已殊为不易,同时掌握几种就更难。学完一种语言再看另一种,总觉得别扭。”

“这就是第一堂课所说的‘学会’与‘会学’的差距。”冒号挑明,“每种语言都有天然设计上的不同,当你用得很别扭时,恰恰说明没有真懂。正如刀法以劈为主,枪法以扎为主,你若反其道而行之,刀扎枪劈,怎不别扭?如果愣拿双节棍当单节棍使,恐怕没砸到别人先砸晕自己了。可见不是兵器问题,而是招法问题。”

下面隐约传来周杰伦《双节棍》的调子。

问号注意到:“似乎不只是初学者,大师们也会对一些语言提出过尖锐的批评。”

冒号引用道:“C++的发明者Bjarne Stroustrup说过这样一句话,语言只有两种:一种怨声载道,一种无人问津。”

众笑。

句号有所体会:“一种语言如果用者甚众,自有其可取之处。没有一种语言是完美的,爱之深者尚苛之切,何况其余者乎?”

冒号忽然问:“你们知道对一种语言最大的批判是什么吗?”

众人纷纷摇头。