perface.md

This commit is contained in:
Unknown
2013-04-07 17:25:42 -04:00
parent 00025273c4
commit 3fa6230ba7
2 changed files with 32 additions and 0 deletions

View File

@@ -3,6 +3,7 @@
## 第一部分学习Go语言 ## 第一部分学习Go语言
- 第1章Go语言的起源发展与普及 - 第1章Go语言的起源发展与普及
- 1.1 [起源与发展](01.1.md)
- 第2章安装与运行环境 - 第2章安装与运行环境
- 第3章编辑器、集成开发环境与其它工具 - 第3章编辑器、集成开发环境与其它工具

View File

@@ -31,3 +31,34 @@ Go语言出现的目的是希望在编程领域创造最实用的方式来进行
Go语言有一个被称之为“没有废物”的宗旨就是将一切没有必要的东西都去掉不能去掉的就无底线地简化同时追求最大程度的自动化。他完美地诠释了敏捷编程的KISS秘诀短小精悍 Go语言有一个被称之为“没有废物”的宗旨就是将一切没有必要的东西都去掉不能去掉的就无底线地简化同时追求最大程度的自动化。他完美地诠释了敏捷编程的KISS秘诀短小精悍
Go语言通过改善或去除在CC++或Java中的一些所谓“开放”特性来让开发者们的工作更加便利。这里只举例其中的几个比如对于变量的默认初始化内存分配与自动回收以及更简洁却不失健壮的控制结构。同时我们也会发现Go语言旨在减少不必要的编码工作这使得Go语言的代码更加简洁从而比传统的面向对象语言更容易阅读和理解。
与C++或Java这些有着庞大体系的语言相比Go语言简洁到可以将它整个的装入你的大脑中而且比学习ScalaJava的并发语言有更低的门槛真可谓是21世纪的C语言
作为一门系统编程语言你不应该为Go语言的大多数代码示例和练习都和控制台有着密不可分的关系而感到惊奇因为提供平台依赖性的GUI用户界面框架并不是一个简单的任务。有许多由第三方发起的GUI框架项目正在如火如荼地进行中或许我们会在不久的将来看到一些可用的Go语言GUI框架。不过现阶段的Go语言已经提供了大量有关Web方面的功能我们可以通过它强大的http和template包来达到Web应用的GUI实现。
我们会经常涉及到一些关于Go语言的编码规范了解和使用这些已经被广泛认同的规范应该是你学习阶段最重要的实践。我会在书中尽量使用已经讲解的概念或者技巧来解释相关的代码示例以避免你在不了解某些高级概念的情况下而感到迷茫。
我们通过227个完整的代码示例和书中的解释说明来对所有涉及到的概念和技巧进行彻底的讲解你可以下载这些代码到你的电脑上运行从而加深对概念的理解。
本书会尽可能地将前后章节的内容联系起来当然这也同时要求你通过学习不同的知识来对一个问题提出尽可能多的解决方案。记住学习一门新语言的最佳方式就是实践运行它的代码修改并尝试更多的方案。因此你绝对不可以忽略书中的130个代码练习这将对你学习好Go语言有很大的帮助。比如我们就为斐波那契算法提供了13个不同的版本而这些版本都使用了不同的概念和技巧。
你可以通过访问本书的[官方网站](https://sites.google.com/site/thewaytogo2012/)下载书中的代码,并获得有关本书的勘误情况和内容更新。
为了让你在成为Go语言大师的道路上更加顺利我们会专注于一些特别的章节以提供Go语言开发模式的最佳实践同时也会帮助初学者逃离一些语言的陷阱。第18章可以作为你在开发时的一个参考手册因为当中包含了众多的有价值的代码片段以及相关的解释说明。
最后要说明的是你可以通过完整的索引来快速定位你需要阅读的章节。书中所有的代码都在Go1版本下测试通过。 ***译者注所有代码经作者同意将会根据需要进行相关修改以在Go1.1版本下运行***
这里有一段来自在C++Java和Python领域众所周知的专家 Bruce Eckel 的评论:
“作为一个有着C/C++背景的开发者我在使用Go语言时仿佛呼吸到了新鲜空气一样令人心旷神怡。我认为使用Go语言进行系统编程开发比使用C++有着更显著的优势因为它在解决一些很难用C++解决的问题的同时让我的工作变得更加高效。我并不是说C++的存在是一个错误相反的我认为这是历史发展的必然结果。当我深陷在C语言这门略微比汇编语言好一点的泥潭时我坚信任何语言的构造都不可能支持大型项目的开发。像垃圾回收或并发语言支持这类东西在当时都是极其荒谬的主意根本没有人在乎。C++向大型项目开发迈出了重要的第一步,带领我们走进这个广袤无垠的世界。很庆幸 Stroustrup 做了让C++兼容C语言以能够让其编译C程序这个正确的决定。我们当时需要C++的出现。
“之后我们学到了更多。我们毫无疑问地接受了垃圾回收异常处理和虚拟机这些当年人们认为只有疯子才会想的东西。C++的复杂程度新版的C++甚至更加复杂极大了影响了软件开发的高效性这使得它再也不再适合这个时代。人们不再像过往那样认同在C++中兼容使用C语言的方法认为这些工作只是在浪费时间牺牲人们的努力。就在此时Go语言已经成功地解决了C++中那些本打算解决却未能解决的关键问题。”
我非常想要向发明这门精湛的语言的Go开发团队表示真挚的感谢尤其是团队的领导者 Rob PikeRuss Cox 和 Andrew Gerrand他们阐述的例子和说明都非常的完美。同时我还要感谢 Miek GiebenFrank MullerRyanne Dolan 和 Satish V.J. 给予我巨大的帮助,还有那些 Golang-nuts 邮件列表里的所有的成员。
欢迎来到Go语言开发的奇妙世界
##链接
- [目录](directory.md)
- 下一章: [Go语言的起源发展与普及](01.1.md)