【go学习笔记1】为什么go
2014-01-25 22:17
197 查看
先来个wiki上关于go的解释:
Go是Google开发的一种编译型,並發型,并具有垃圾回收功能的编程语言。罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go语言,稍后Ian Lance Taylor, Russ Cox加入项目中。Go语言是基于Inferno操作系统所开发的。Go语言于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后追加Windows系统下的实现。--《Go - 维基百科,自由的百科全书》好吧,这是干啥的?我们有了C++,java,…………各种语言之后,为啥又要来个新的?
十年以来,主流的系统级编程语言并未出现过,但在这期间,计算环境已经发生了巨大的变化。以下是一些趋势:计算机的速度变得极快,但软件开发还不够快。
在今天,依赖管理成为了软件开发中一个大的部分,但C传统语言的“头文件”与清晰的依赖分析——以及快速编译背道而驰。
对于像Java和C++那笨重的类型系统的反抗越来越多,这将人们推向了Python和JavaScript之类的动态类型语言。
流行的系统语言对于像垃圾回收与并行计算那种基本思想的支持并不算好。
多核计算机的出现产生了一些麻烦与混乱。
我们相信这值得重新尝试一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它需要满足以下几点:它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。
Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。
Go的类型系统没有层级,因此不需要在类型之间的关系定义上花费时间。此外,尽管Go是静态类型的, 该语言也试图使类型感觉起来比典型的面向对象语言更轻量级。
Go完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。
按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。
那类似的语言还有node.js,erlang,为啥选go
好吧,我也刚开始,那就给出一些理由:
为什么 Node.js 很糟糕
golang与node.js的http模块性能对比测试(go1)
Go vs node.js vs PHP vs Python, Loop benchmark.
编程语言API性能大比拼
C、go、python、java、php和node.js 简单循环累加运算速度测试
好吧,为啥我会选go:
部署简单
并发性好
执行性能不错
语法类似C,没有压力
好了,还有问题的话,再开始之前,可以看下 官方faq
接下来,我的目标是通用的游戏服务器。
最后,附上一些学习资料:
Go入门指南
go官网 中文版
Go是Google开发的一种编译型,並發型,并具有垃圾回收功能的编程语言。罗伯特·格瑞史莫(Robert Griesemer),罗勃·派克(Rob Pike)及肯·汤普逊于2007年9月开始设计Go语言,稍后Ian Lance Taylor, Russ Cox加入项目中。Go语言是基于Inferno操作系统所开发的。Go语言于2009年11月正式宣布推出,成为开放源代码项目,并在Linux及Mac OS X平台上进行了实现,后追加Windows系统下的实现。--《Go - 维基百科,自由的百科全书》好吧,这是干啥的?我们有了C++,java,…………各种语言之后,为啥又要来个新的?
十年以来,主流的系统级编程语言并未出现过,但在这期间,计算环境已经发生了巨大的变化。以下是一些趋势:计算机的速度变得极快,但软件开发还不够快。
在今天,依赖管理成为了软件开发中一个大的部分,但C传统语言的“头文件”与清晰的依赖分析——以及快速编译背道而驰。
对于像Java和C++那笨重的类型系统的反抗越来越多,这将人们推向了Python和JavaScript之类的动态类型语言。
流行的系统语言对于像垃圾回收与并行计算那种基本思想的支持并不算好。
多核计算机的出现产生了一些麻烦与混乱。
我们相信这值得重新尝试一种新的语言,一种并发的、带垃圾回收的、快速编译的语言。它需要满足以下几点:它可以在一台计算机上用几秒钟的时间编译一个大型的Go程序。
Go为软件构造提供了一种模型,它使依赖分析更加容易,且避免了大部分C风格include文件与库的开头。
Go的类型系统没有层级,因此不需要在类型之间的关系定义上花费时间。此外,尽管Go是静态类型的, 该语言也试图使类型感觉起来比典型的面向对象语言更轻量级。
Go完全是垃圾回收型的语言,并为并发执行与通信提供了基本的支持。
按照其设计,Go打算为多核机器上系统软件的构造提供一种方法。
那类似的语言还有node.js,erlang,为啥选go
好吧,我也刚开始,那就给出一些理由:
为什么 Node.js 很糟糕
golang与node.js的http模块性能对比测试(go1)
Go vs node.js vs PHP vs Python, Loop benchmark.
编程语言API性能大比拼
C、go、python、java、php和node.js 简单循环累加运算速度测试
好吧,为啥我会选go:
部署简单
并发性好
执行性能不错
语法类似C,没有压力
好了,还有问题的话,再开始之前,可以看下 官方faq
接下来,我的目标是通用的游戏服务器。
最后,附上一些学习资料:
Go入门指南
go官网 中文版
相关文章推荐
- Go语言学习笔记一、基础知识
- 为什么说 2017 年你必须要学习 Go 了(多核,网络,多人协作,简单非OO,没有注解,Native,垃圾收集,代码优雅),附两个评论
- 【GO学习笔记】(五)
- Go语言学习笔记十二: 范围(Range)
- Go学习笔记之变量和常量
- GO语言学习笔记(一)
- Go 学习笔记
- Go语言学习笔记-编译时的pakcage文件目录约束
- Go语言学习笔记 -- 变量、类型和关键字
- Go语言学习7:Go语言为什么要用变量名后置的方式做声明
- Go学习笔记-第1章
- GO学习笔记 - 用":="实现短声明变量!
- GO 学习笔记 (一)
- GO学习笔记 - 数据类型转换
- Go语言学习笔记 --- 关键字、注释、结构、包相关和可见性规则
- Go学习笔记 - 关于Java、Python、Go编程思想的不同
- 吴恩达深度学习课程笔记 1.4为什么深度学习会兴起?
- Go丨语言学习笔记--switch
- Go学习笔记之基础数据类型
- go语言学习笔记-接口学习