随着技术的进步、市场的快速发展和系统复杂性的日益增加,软件工程师倾向于跳过软件效率这个令人不舒服的话题。然而,要想节省资金并确保业务成功,战术性的、由可观测性驱动的性能优化对于所有产品来说都是至关重要的。 通过本书,任何工程师都可以轻松学会如何有效、专业且无压力地提高软件效率。作者Bart?omiej P?otka讲解了提高系统速度和降低资源消耗所需的工具和知识。本书将指导你使用Go实现更好的日常工作效率。此外,书中大多数内容与语言无关,以便你将小而有效的习惯带入编程或产品管理周期。
在程序员与计算机的 交流 过程中,解释器无疑扮演着优秀的翻译角色。它为只懂0和1的计算机翻译源代码,为看似随机的字符赋予含义。这是如何实现的呢?充满好奇心的你,是否曾经思考过这个问题?跟随本书,你将揭开解释器的神秘面纱,通晓它的工作原理,并编写出自己的解释器。本书采用Go语言来为自创的编程语言Monkey实现解释器。你将为Monkey语言实现类C语法、变量绑定、基本数据类型、算术运算、内置函数、闭包等特性,并了解什么是词法分析器、语法分析器和抽象语法树。
本书是《用Go语言自制解释器》的续篇。在自制解释器时,你已经为Monkey语言实现了类C语法、变量绑定、基本数据类型、算术运算、内置函数、闭包等特性。是时候让Monkey继续成长了!在本书中,Monkey将继续 进化 ,并终成长为成熟的程序设计语言。在已有词法分析器、语法分析器和抽象语法树的基础上,你将为Monkey语言定义字节码指令,指定操作数,编写反汇编程序,构建执行字节码的虚拟机。通过动手学习,你将能够体验从无到有实现类C语言的乐趣。
本书主要分三个方面介绍Go语言:Go语言精华 并发和小而美的类型系统;Go语言缺陷;Go语言的哲学。本书重点介绍Go语言的实践和并发编程范式,力求让读者不但清楚并发的基本语法和原理,还学会怎么去使用。本书对Go语言规范中的命名类型、非命名类型,底层类型,动态类型等概念进行阐述,让开发者对Go的类型系统有全面的了解;同时,接口是Go类型系统*核心的一个元素,本书中也会花大量的笔墨进行介绍。Go虽然设计得小而美,但语言并不是完美的,有些陷阱和坑需要开发者特别小心,本书会专门介绍Go使用过程中的陷阱,包括: defer陷阱,接口nil,变量短声明引发的困惑,range的临时变量复用,slice底层数组重分配等。Go天然的并发支持能够更好地建模实际问题,本书在*后的部分会介绍Go语言的设计哲学,包括采用组合这种更通用的模式以使得表现力更强;
作为时下流行的一种系统编程语言,Go 简单易学,性能很好,且支持各类主流平台。已有大量项目采用 Go 编写,这其中就包括 Docker 等明星作品,其开发和执行效率早已被证明。本书经四年多逐步完善,内容覆盖了语言、运行时、性能优化、工具链等各层面知识。且内容经大量读者反馈和校对,没有明显的缺陷和错误。上卷细致解析了语言规范相关细节,便于读者深入理解语言相关功能的使用方法和注意事项。下卷则对运行时源码做出深度剖析,引导读者透彻了解语言功能背后的支持环境和运行体系,诸如内存分配、垃圾回收和并发调度等。本书不适合编程初学入门,可供有实际编程经验或正在使用Go 工作的人群参考。
本书深入地讲解了Go语言常见特性的内部机制和实现方式,大部分内容源自对Go语言源码的分析,并从中提炼出实现原理。通过阅读本书,读者可以快速、轻松地了解Go语言的内部运作机制。 本书首先介绍Go语言常见的数据结构及控制结构的实现原理,包括管道、切片、Hash表、select和for-range等,这部分内容大都以几个精心准备的测验题目开头,每个测验题目均对应一个知识点,读者可以借此测验自身对该知识点的掌握程度。接着介绍了Go语言*基础的概念,包括协程的概念、协程调度模型、协程调度策略,以及内存分配和垃圾回收相关的内容。本书还介绍了一些标准库、异常处理和依赖管理等非语法相关但非常重要的内容。*后结合作者的见闻,整理了一些发生在真实项目中的编程陷阱。
本书是《用Go语言自制解释器》的续篇。在自制解释器时,你已经为Monkey语言实现了类C语法、变量绑定、基本数据类型、算术运算、内置函数、闭包等特性。是时候让Monkey继续成长了!在本书中,Monkey将继续“进化”,并最终成长为成熟的程序设计语言。在已有词法分析器、语法分析器和抽象语法树的基础上,你将为Monkey语言定义字节码指令,指定操作数,编写反汇编程序,构建执行字节码的虚拟机。通过动手学习,你将能够体验从无到有实现类C语言的乐趣。
在程序员与计算机的“交流”过程中,解释器无疑扮演着优秀的翻译角色。它为只懂0和1的计算机翻译源代码,为看似随机的字符赋予含义。这是如何实现的呢?充满好奇心的你,是否曾经思考过这个问题?跟随本书,你将揭开解释器的神秘面纱,通晓它的工作原理,并编写出自己的解释器。本书采用Go语言来为自创的编程语言Monkey实现解释器。你将为Monkey语言实现类C语法、变量绑定、基本数据类型、算术运算、内置函数、闭包等特性,并了解什么是词法分析器、语法分析器和抽象语法树。