你好,我是周爱民,和你一样,我喜欢 JavaScript。
我是《JavaScript 语言精髓与编程实践》这本书的作者,这个书名正好也刻画了我追随 JavaScript 的轨迹:在过去的二十年中,我一面研究它的语言精髓,一面做编程实践。
支持 JavaScript 这门语言挣扎求生、一路行来的,是这门语言最初的、最精彩的设计:它是一门多范型语言,或者,也称为混合范型语言。JavaScript 的简单来自于此,复杂也来自于此;生存能力来自于此,诟病抨击也来自于此。
我和极客时间合作的《JavaScript 核心原理解析》专栏将在 11 月 11 日 17:00 上线,在专栏中,我会和你讲一讲我对 JavaScript 各种语言特性的理解,还会向你展示将这些语言特性和语言范型融合如一的具体挑战与折衷。
JavaScript 主要包括 5 个方面的语言特性:结构化编程、面向对象编程、动态语言、函数式语言和并行语言。因此在这个专栏中,我将以“语言”为核心,主要讨论语言设计,结构化和面向对象特性,以及部分的动态语言特性。这个专栏绝对能让你提升对代码的洞察力,让你可以在纷繁的代码中快速找到它在性能、组织、逻辑等这些方面的问题关键,也可以在语言层面给出合理的解释。
这个专栏每一讲的标题都是一行代码。我尽量使每一讲的标题在表达多种语言特性的同时,指向一个主要的、核心的内容讲述方向。我希望综合这些代码的特殊性,代码所涉问题的领域,代码的逐步分解解析,以及辨析与该代码相似的或同类的问题,一方面发掘它们潜在的应用,另一方面,则在于帮助你构建一个语言知识结构。
和你介绍一下我自己:
我是周爱民,《JavaScript 语言精髓与编程实践》作者,南潮科技(Ruff)首席架构师,我专注于软件开发和架构、项目管理二十余年,曾担任盛大网络平台架构师、支付宝业务架构师、豌豆荚首席架构师等职。著有《Delphi 源代码分析》《大道至简:软件工程实践者的思想》《大道至易:实践者的思想》《程序原本》《我的架构思想:基本模型、理论与原则》等书。
通过这个专栏,你将获得:
在专栏上线前,我也邀请了几位朋友品读,他们给了我一些反馈:
李松峰
360 Web 前端开发资深专家、前端技术委员会委员,W3C AC 代表
学习 JavaScript 已经成为今天的潮流,而 JavaScript 语言自身也在快速演进。
掌握一门语言的关键在于理解其核心原理。然而,在浩如烟海的 JavaScript 书籍、文档中,却鲜有能够真正通透其核心原理的。当然,如果条件允许,你可以去研读 ECMAScript 规范。但是对于一般 JavaScript 学习者而言,且不论规范中晦涩难懂的语言,仅仅是 ECMA-262 这部“皇皇巨著”(ECMAScript 2019 长达 700 多页),要从头到尾看一遍,都殊非易事。
但凡事都有例外,周爱民老师的《JavaScript 语言精髓与编程实践》一书曾被很多早期从业者奉为圭臬。今天,欣闻爱民老师将在极客时间辟专栏讲授“JavaScript 核心原理”,不禁为广大学习者感到庆幸。从目录来看,爱民老师已经清晰地标定了 JavaScript 的“四至边界”。《大学》云:“知止而后有定。”想必他已经对如何剖析这门奇特而又流行的语言胸有成竹,相信这也将是他多年语言实践的厚积薄发之作。
还等什么,快让周爱民老师讲给你听吧。
Winter
最早认识周爱民老师的时候,我还是一个学生,我看了他写的 JavaScript 面向对象编程系列文章,就去写邮件搭讪。
在那个时代,JavaScript 是一门没人注意的语言,从一门编程语言的角度去分析语言的文章非常少。
从 JavaScript 之父 Brendan 的一些言论看来,JavaScript 并非一个他满意的作品,跟我们今天常常遭遇的情景类似,Brendan 在开发中被迫服从了不少公司领导的“瞎指挥”,但是他仍然在其中融入了不少奇思妙想,如函数是一等公民、原型等特性。在这门语言最初被应用的几年,JavaScript 纯粹作为粘合剂脚本来使用,这些用于较为高级抽象的特性几乎无人关注。
而周爱民老师是非常早的一批注意到了这门语言的价值的人之一,作为一个对 Delphi、Erlang 等语言都有很深研究的架构师,周爱民老师早期的文章对国内早期的前端圈有非常积极和重要的影响。后来周老师又出版了著名的绿皮书——《JavaScript 语言精髓与编程实践》,这又是在语言分析层面的一个里程碑式的作品,也是如今重视应用技术的前端圈子里为数不多的着眼于语言本身的作品。
所以本次周老师再出山,来编写 JavaScript 专栏课程,我是非常期待的,也推荐给跟我一样喜欢研究 JavaScript 语言的朋友。
月影
在大约 15 年前,前端还处于“莽荒”时代,我还在蓝色理想和 51js 论坛“玩耍”,那时候就认识了周爱民。周爱民算是我的前辈,也是我的良师益友。
那个时代的特点是没有像现在那么纯粹的“前端工程师”这一角色。严格来说,包括爱民、包括我还有其他前辈、同行,我们都不能算是正儿八经的“前端工程师”,而只是一群碰巧喜欢 Web 开发,研究 JavaScript 的程序员。那时候的 JavaScript,也远没有现在完备、强大和性能优良。在论坛上,我们研究、学习、讨论,写有趣的代码,也有过激烈的争吵。
2012 年有幸拜读周爱民创作的《JavaScript 语言精髓与编程实践》,书中周爱民关于元编程、DSL 的思考颇有些超前于时代(想想现在的 jsx 和三大框架!)让我获益匪浅,所以对这本书至今还印象深刻。周爱民博学多才,在软件设计和开发方面有非常深入的研究,并且能够将一些很有深度或者很细节的问题用很浅显的语言表达和讲透,这非常有益于前端的同学深入学习 JavaScript。
因此我对这个专栏非常期待,也相信通过学习这一专栏必然能让对前端感兴趣的同学对 JavaScript 的理解更上一个台阶。
周裕波
我当年知道周爱民老师,是因为他在支付宝做架构师的时候,给内部的前端工程师分享了与架构相关的话题。当时我在做交流会,所以我就特别希望能够邀请到他,到交流会来分享前端架构。终于在 2010 年的时候得偿所愿,于是就有了交流会上的“从问题开始:前端,架构、框架与库的实战”这个分享。
到后面渐渐地对他有了更多了解。爱民老师除了是知名的架构师和 Delphi 专家外,同时也是 JavaScript 专家,对 JavaScript 语言了解得非常深入。大多数前端工程师知道他,应该都是因为他写的《JavaScript 语言精髓与编程实践》这本书。如果你读过此书,那你应该知道,读完此书你的 JavaScript 功力将大增,同时此书也倍受其他 JavaScript 的同行推荐。
要想成为 JavaScirpt 高手,就像电视里学习武功一样,不仅需要学习招式,还得学习内功心法。而爱民老师 11 月 11 日将要推出的极客时间课程《JavaScript 核心原理解析》,就是这样的内功心法。作为要成为 JavaScript 高手的你,值得拥有!
让我们一起期待 11 月 11 日 17:00,《JavaScript 核心原理解析》专栏的上线!