这本书的内容相符其英文名《Programming with Types》,讲述了与类型相关的基本概念,并教读者如何使用类型使编程更加安全。其中涉及了类型、积类型、子类型、函数类型、与异步相关的类型、迭代器、生成器和泛型等。对于之前没有系统接触过这方面知识的读者来说,可留下一个相对系统的印象。然而,相较于中文名为《编程与类型系统》的书,这本书的深度似乎还未达到一本专门讲解类型系统的书应有的水平。
需要注意的是,这本书并非专门讲解 TypeScript,其中未涉及条件类型、递归类型及 infer 等特性。全书只将 TypeScript 作为介质,用于讲解与类型相关的概念。此外,书中使用的 TypeScript 版本似乎相对较旧,提到的函数参数双变可以让读者感到不太自然。因为 TS 自 2.6 以后函数参数在严格模式下应是逆变的。而这本书的英文版在 2020 年出版,似乎没有掌握到最新版本的内容。
此外,书中还存在一些小错误,例如 TS 不支持函数重载等问题。然而,总体而言,这本书并没有发现太多其他错误。
虽然前几章相对较无聊,不过中间的子类型一章很值得阅读,对相关的基本知识进行了较系统的讲解,并混入了一些与范畴论相关的小拓展。而关于泛型和迭代器的内容对于我个人来说还算比较新颖,因为这些写法我平时很少使用。但对于熟悉 C++ 的老练使用者来说,这块内容可能就比较乏味了。
最后一章简单讲解了一些来自函数式编程的观念,例如高阶类型、Functor、Monad等等。但我个人感觉如果读者没有相关知识背景的话,这一章的内容可能理解起来有些困难。不过,在最后一章的拓展阅读中推荐的几本书还是不错的,我打算之后会去看看。
总的来说,这本书让我感觉乏味。尽管其中有几章值得一读,但总体而言并不太有意思。对于我来说,这些话题都是老生常谈,相较于目前网络上太多浅薄的函数式编程入门教程,它并没有提供太多深度。可以看看,但不必花太多时间精力细读。
相关推荐
© 2023-2025 百科书库. All Rights Reserved.
发表评价