- JavaScript語言精髓與編程實踐(第3版)
- 周愛民
- 928字
- 2020-07-02 15:37:30
第2版 代序
要有光
—《世界需要一種什么樣的語言》節選—
什么才是決定語言的未來的思想呢?或者我們也可以換個角度來提出這個問題:世界需要一種什么樣的語言?
特性眾多、適應性強,就是將來語言的特點嗎?我們知道,現在的C#與Java都在向這一目標前進。與特定的系統相關,就是語言的出路嗎?例如,曾經的VC++,以及它面向不同平臺的版本。當然,在類似的領域中,還有C,以及匯編……
這些列舉其實都是在特定環境下的特定語言,所不同的無非是環境的大小。這其實也是程序員的心病:我們到底選Windows平臺,還是Java平臺,或者Linux系統,再或者是……我們總是在不同的廠商及其支持的平臺中選擇,而最終這種選擇又決定了我們所使用的語言。這與喜好無關,也與語言的好壞無關,不過是一種趨利的選擇罷了。所以也許你在使用著的只是一種“并不那么‘好’”,以及并不能令你那么開心的編程語言。你越發辛勤地工作,越發地為這些語言搖旗鼓噪,你也就離語言的真相越來越遠。
當然,這也不過是一種假設。但是,真相不都是從假設開始的嗎?
語言有些很純粹,有些則以混雜著稱。如果編程世界只有一種語言,無論它何等復雜,也必因毫無比較而顯得足夠純粹。所以只有在多種語言之間進行比較,才會有純粹或混雜這樣的效果:純粹與混雜總是以一種或多種分類法為背景來描述的。
因此我們了解這些類屬概念的標準、原則,也就回溯到了語言的本質:它是什么、怎么樣,以及如何工作。在這本書中,將這些分類回溯到三種極端的對立:命令式與說明式,動態與靜態,串行與并行。分離它們,并揭示將它們混沌一物的方法與過程,如歷經涅槃。在這一經歷中,這本書就是我的所得。
多年以來,我在我所看不見的黑暗與看得見的夢境中追尋著答案。這本書是我最終的結論,或結論面前的最后一層表象:我們需要從純化的語言中領悟到編程的本質,并以混雜的語言來創造我們的世界。我看到:局部的、純化的語言可能帶來獨特的性質,而從全局來看,世界是因為混雜而變得有聲有色的。如果上帝不說“要有光”,那么我們將不能了解世象之表;而世象有了表面,便有了混雜的色彩,我們便看不見光之外的一切事物。我們依賴于光明,而事實是光明遮住了黑暗。
如同你現在正在使用的那一種、兩種或更多種語言,阻礙了你看到你的未來。
周愛民
2009年1月于本書精簡版序
- Mastering Articulate Storyline
- 數據結構與算法JavaScript描述
- R語言數據可視化實戰
- C語言程序設計實踐教程
- OpenShift在企業中的實踐:PaaS DevOps微服務(第2版)
- Statistical Application Development with R and Python(Second Edition)
- Web性能實戰
- Learning Concurrency in Python
- Python應用與實戰
- 高性能PHP 7
- 軟件設計模式(Java版)
- Developing Java Applications with Spring and Spring Boot
- 輕松學Scratch 3.0 少兒編程(全彩)
- Building Microservices with Go
- 高性能MVVM框架的設計與實現:San