当前位置: 首页> 书评> 正文

JAVASCRIPT语言精髓与编程实践《这是一本硬书》

  • 小小评论家小小评论家
  • 书评
  • 2023-03-26 16:53:47
  • 66

首先声明,我看的只是InfoQ发布的本书的节选部分《动态函数式语言精髓》,虽然只是节选,但却相当的精彩,我的评论如下:

个人感觉,这是一本硬书。

这本书不是简单的介绍某种语言的教科书,也不是介绍某些技巧的XX宝典,这本书是一本探讨理论的书,是一本探讨编程语言范式的书,这样一本书看下来的代价就是你的头发至少要掉个几十根,而你头脑中对于编程语言的思考和概念也将随之清晰。

本书主要通过javascript语言作为介绍的媒介,从而探讨语言的实现以及语言本身的种种特性。

javascript作为一种语言,很优美,它既有动态语言的特性,也有命令式语言的本质,既有函数式编程的风骨,也有面向对象的内涵,用javascript这种语言来作为描述语言范式的一种工具,虽然有它的局限性,但是也有它的独到之处,而用javascript作为表述语言上也能体现这本书的一些观点。

虽然作者认为语言只不过是一种工具,一种思想的表示,不是思想本身。但是,在不同的语言身上,我们能够看到语言所代表的思想,以及那些思想下实现的本质。

当然由于本书是谈理论的书,所以难免有些枯燥,作者明显是个理工类出身,文笔也并不优美,但是某些语句还是相当的精彩的,节选部分如下:

1、一种语言只是一种思想的表示,不是思想本身。

2、语言只是一种工具,工具的选择只在于“功用”能否达到,而不在于工具是什么。

3、命令式语言 -> 冯诺依曼体系,以“存储”和“处理”为核心。

4、在语言中存储被抽象为内存,处理被抽象成运算(指令或者语句)。

5、命令式语言的核心:通过运算去改变内存中的数据 。

6、数据的表现形式是编程的根本。

7、命令式语言发展上的所有努力,最终都必然面临的问题是“如何抽象数据存储”。

8、接口提出的观点就是:只暴露数据体的逻辑行为能力,而不暴露这种能力的实现方法和基于的数据特征。

9、对象的引用是面向对象体系的灾难之源。

10、接口设计的目标系统与计算机系统的功能特性的投影。

11、原型的含义是指:如果构造器有一个原型对象A,则由该构造器创建的实例都必须复制自A。

12、基于原型的“构建过程”可以被简单的映射为“复制”。

13、基于原型继承的对象系统的设计理念:将对象(类)的继承关系,与对象(类)的行为描述分离。所有原型继承的实质其实是从无到有的一个过程。

补充完善中。。。

阅读全文