1
0
mirror of https://github.com/chai2010/advanced-go-programming-book.git synced 2025-05-23 20:02:22 +00:00

Update ch1-01-genesis.md

病句
This commit is contained in:
junjie 2019-01-11 18:45:54 +08:00 committed by GitHub
parent 77361be8b2
commit ee7341ece9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -10,7 +10,7 @@ Go语言很多时候被描述为“类C语言”或者是“21世纪的C语
首先看基因图谱的左边一支。可以明确看出Go语言的并发特性是由贝尔实验室的Hoare于1978年发布的CSP理论演化而来。其后CSP并发模型在Squeak/NewSqueak和Alef等编程语言中逐步完善并走向实际应用最终这些设计经验被消化并吸收到了Go语言中。业界比较熟悉的Erlang编程语言的并发编程模型也是CSP理论的另一种实现。
再看基因图谱的中间一支。中间一支主要包含了Go语言中面向对象和包特性的演化历程。Go语言中包和接口以及面向对象等特性则继承自Niklaus Wirth所设计的Pascal语言以及其后所衍生的相关编程语言。其中包的概念、包的导入和声明等语法主要来自于Modula-2编程语言面向对象特性所提供的方法的声明语法等则来自于Oberon编程语言。最终Go语言演化出了自己特有的支持鸭子面向对象模型的隐式接口等诸多特性。
再看基因图谱的中间一支。中间一支主要包含了Go语言中面向对象和包特性的演化历程。Go语言中包和接口以及面向对象等特性则继承自Niklaus Wirth所设计的Pascal语言以及其后所衍生的相关编程语言。其中包的概念、包的导入和声明等语法主要来自于Modula-2编程语言面向对象特性所提供的方法的声明语法等则来自于Oberon编程语言。最终Go语言演化出了自己特有的支持鸭子面向对象模型的隐式接口等诸多特性。
最后是基因图谱的右边一支这是对C语言的致敬。Go语言是对C语言最彻底的一次扬弃不仅仅是语法和C语言有着很多差异最重要的是舍弃了C语言中灵活但是危险的指针运算。而且Go语言还重新设计了C语言中部分不太合理运算符的优先级并在很多细微的地方都做了必要的打磨和改变。当然C语言中少即是多、简单直接的暴力编程哲学则被Go语言更彻底地发扬光大了Go语言居然只有25个关键字sepc语言规范还不到50页))。