书名:Crafting Interpreters
作者:RobertNystrom
译者:
ISBN:9780990582939
出版社:GeneverBenning
出版时间:2021-7-28
格式:epub/mobi/azw3/pdf
页数:639
豆瓣评分: 9.6
书籍简介:
Despite using them every day, most software engineers know little about how programming languages are designed and implemented. For many, their only experience with that corner of computer science was a terrifying "compilers" class that they suffered through in undergrad and tried to blot from their memory as soon as they had scribbled their last NFA to DFA conversion on the final exam. That fearsome reputation belies a field that is rich with useful techniques and not so difficult as some of its practitioners might have you believe. A better understanding of how programming languages are built will make you a stronger software engineer and teach you concepts and data structures you'll use the rest of your coding days. You might even have fun. This book teaches you everything you need to know to implement a full-featured, efficient scripting language. You’ll learn both high-level concepts around parsing and semantics and gritty details like bytecode representation and garbage collection. Your brain will light up with new ideas, and your hands will get dirty and calloused. Starting from main(), you will build a language that features rich syntax, dynamic typing, garbage collection, lexical scope, first-class functions, closures, classes, and inheritance. All packed into a few thousand lines of clean, fast code that you thoroughly understand because you wrote each one yourself.
作者简介:
Robert Nystrom has programmed professionally for twenty years, about half of which is in games. During his eight years at Electronic Arts, he worked on behemoths like Madden and smaller titles like Henry Hatsworth in the Puzzling Adventure. He's shipped games on the PC, GameCube, PS2, XBox, X360, and DS, but is most proud of the tools and shared libraries he created for others to build on. He loves seeing usable, beautiful code magnify the creative ability of others.
Robert lives with his wife and two daughters in Seattle where you are most likely to find him cooking for his friends and plying them with good beer.
书友短评:
@ Closure 编译原理极佳的实践教材。先看龙书前端部分学理论,再跟着这本书一步步重写下(书中用的是java和c,可以用c++重写一遍),基本上编译原理就能学的不错了。 @ mysteryven 好书,认真读完了前半部分,后半部分是用c语言实现的比较完整的一个解释器,这个解释器又包含了一个编译器和一个虚拟机,这也是当前不少主流编程语言的实现方案,这部分需要以后再找时间好好学习。 @ 木纹 阅读体验极佳。作者循循善诱,就差“手把手”教学了。基本上每一行代码都包含在书中(极少数不一致的,可以在 github 上找到)。除了正文,还有 asides、challenges、design notes,趣味性、扩展性也都有了。 @ comxpuda 编程书籍写作模板,框架清晰也不失细节,读起来很愉悦,受益良多!最后quote一句:“ If you can handle compilers and interpreters, you can do anything you put your mind to.” @ 李星云 前半部分的基于树遍历的解释器比较容易理解,也比较容易实现。后半部分基于 VM 的实现更难一些。我觉的最大的缺点是后半部分是使用 C 语言实现的。C 本来就繁琐,导致整个实现夹杂了太多 C 语言的细节,比如实现动态数组,实现哈希表等等。整体来看,很不错,图画的挺棒,原理也讲清楚了。 @ 木纹 好书! @ accfcx 推荐 @ 梦之外 作者很用心,看得很爽,这才是真的一行代码一行代码删改下去,理论知识也简单明了
添加微信公众号:好书天下获取
评论前必须登录!
注册