上QQ阅读APP看书,第一时间看更新
序一
FOREWORD
常有同学问我,学习技术的原理、机制到底有什么用?现在已经有很多不同的操作系统和编程语言,我们个人不太可能再去实现操作系统或编程语言!的确如此,如果以学习为目的,我们可以实现操作系统或编程语言的简陋原型,但在工作中并没有这样的需求和机会,而学习原理、机制的目的是增进自己对技术问题的判断,同时获得对典型问题和最佳方案的积累,让自己具备分析复杂技术问题和求解正确的技术方案的能力。
对于编程语言,优秀的程序员既能熟练地使用语言的各种特性,快速满足业务领域开发,又可以掌握语言的设计原理和底层机制。既是别人眼中的快刀手,也是面对难题,一击必中的高手。工作中在面对不同技术方案时,可以快速做出最合理的选择。既可以解决当前的问题,又可以让系统长治久安地演进,将来不会推倒重来,而这些分析判断都取决于你对技术原理和机制的理解。
最近几年,Go语言进展迅速,吸引广大的程序员学习和使用。Go语言有很多优秀特性,如goroutine可以让大家轻易写出高并发的服务。语言掌握起来也简单,往往学习两三周,就可以实际投入工作开发,但真正遇到复杂的场景、资源竞争或GC敏感时,缺少对Go语言机制和进程结构的理解,你会很难完成上述挑战。很可能当你使用Go语言多年后,仍然不能写出健壮的核心业务服务。
在《深度探索Go语言——对象模型与runtime的原理、特性及应用》中,封幼林把Go语言主要的核心特性从原理到应用,从底层的汇编代码到Go语言代码,以庖丁解牛般的剖析让读者对Go语言豁然开朗,使语言的原理与机制变得清晰和简单。相信读者在认真学习后,将使自己对Go语言理解与掌握有一个质的飞跃。
左文建
奇安信集团副总裁