您现在的位置: 主页 > 上位机技术 > JAVA > Go 摆脱了 C,又惹上了 Java?
本文所属标签:
为本文创立个标签吧:

Go 摆脱了 C,又惹上了 Java?

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-07-23 

talks.golang.org 前几天放出了 PPT《Go in Go》和《The State of Go》讲解最近 Go 的开发动态和成果:

随着Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编)

C 已经成为过去时了。

Go 1.5 计划在 8 月份发布,将会尝试支持 iOS。(Go 1.4 已经正式支持 Android)

4月份进行的 NYJavaSIG 聚会上 Go 团队的技术主管经理分享了《Go for Java Programmers》,为 Java 程序员提供的 Go 入门指南,正式向 Java 领域进军了吗?

OSC 上两年前就有 Go 要涉猎 Java 领域的文章和讨论了:

不知道现在大家的看法是否有些改变。

《Go in Go》

随着Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编)

C 已经成为过去时了。

注: gccgo 仍然很强大

这篇文章主要探讨原始编译器 gcc

为什么之前用 C 编写?

启动

(而且 Go 的主要目的不是作为一个编译器实现语言)

为什么编译器使用 Go 重写?

虽然看起来很多优势,但是还是夸的太早了:)

为什么运行时也是用 Go 重写?

我们有自己的 C 编译器来编译运行时,我们需要一个带有跟 Go ABI 一样编译器,比如 segmented stacks。

使用Go 编写可以摆脱 C 编译器的劣势,这是比使用 Go 重写编译器还重要。

(所有使用 Go 重写编译器的理由都可以作为使用 Go 重写运行时的理由)

限制运行时只用一种语言编写,更容易进行集成,管理 stack 等等操作。

跟往常一样,简化是首要的考虑因素。

历史

为什么我们要有完全属于自己的工具链?

Go 的大规模重大改进要比 GCC 或者 LLVM 要更困难。

重大改进

由于使用自身工具简化的功能和使用 Go 重写后的一些改进:

(Gccgo 很快会有 segmented stacks 和 imprecise (stack) collection )

更多技术细节改进请看 PPT 原文。

启动

不需要 C 编译器,只需要一个 Go 编译器

因此需要从 1.5 的源代码去下载安装构建 Go

我们使用 Go 1.4+ 作为基础库来构建 1.5+ 的工具链

未来

未来仍然有很多任务要完成,但是 1.5 已经完成的差不多了。

总结

摆脱C 是 Go 项目的一个巨大改进,代码更整洁,提升可测试性,可部署性,也更容易运行。

新的统一工具链减少了代码数量,提升可维护性。

灵活的工具链对可移植性也很重要。

《The State of Go》

这篇PPT 主要讲解了 Go 1.5 的开发成果,用数据说话,各种图表显示 Go 1.5 跟 Go 1.4 简直不是一个级别的,大量的优化和极高的性能提升。

1. 并发垃圾收集机制,目标是:GC 延迟小于 10 毫秒。

新的垃圾收集机制是花费一些内存和 CPU 时间来换取更低的延迟时间:

2. 更高的并发性能,设置 GOMAXPROCS=N (where N is your number of CPUs):

3. 整体性能

《Go for Java programmers》

这是Google 的 Go 团队技术主管经理 Sameer Ajmani 分享的 PPT,为 Java 程序员快速入门 Go 而准备的。

Go 和 Java 有很多共同之处

Go 与 Java 的不同之处

Go 特意去掉了大量的特性

为什么 Go 要省去那些特性?

代码清晰明了是首要的

当查看代码时,可以很清晰的知道程序将会做什么

当编写代码的时候,也可以很清晰的让程序做你想做的

有时候这意味着编写出一个循环而不是调用一个模糊的函数。

(不要变的太枯燥)

更多详细内容和代码示例请看 OSC 翻译频道:http://www.oschina.net/translate/go-for-java-programmers-ppt。

talks.golang.org 前几天放出了 PPT《Go in Go》和《The State of Go》讲解最近 Go 的开发动态和成果:

随着Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编)

C 已经成为过去时了。

Go 1.5 计划在 8 月份发布,将会尝试支持 iOS。(Go 1.4 已经正式支持 Android)

4月份进行的 NYJavaSIG 聚会上 Go 团队的技术主管经理分享了《Go for Java Programmers》,为 Java 程序员提供的 Go 入门指南,正式向 Java 领域进军了吗?

OSC 上两年前就有 Go 要涉猎 Java 领域的文章和讨论了:

不知道现在大家的看法是否有些改变。

《Go in Go》

随着Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编)

C 已经成为过去时了。

注: gccgo 仍然很强大

这篇文章主要探讨原始编译器 gcc

为什么之前用 C 编写?

启动

(而且 Go 的主要目的不是作为一个编译器实现语言)

为什么编译器使用 Go 重写?

虽然看起来很多优势,但是还是夸的太早了:)

为什么运行时也是用 Go 重写?

我们有自己的 C 编译器来编译运行时,我们需要一个带有跟 Go ABI 一样编译器,比如 segmented stacks。

使用Go 编写可以摆脱 C 编译器的劣势,这是比使用 Go 重写编译器还重要。

(所有使用 Go 重写编译器的理由都可以作为使用 Go 重写运行时的理由)

限制运行时只用一种语言编写,更容易进行集成,管理 stack 等等操作。

跟往常一样,简化是首要的考虑因素。

历史

为什么我们要有完全属于自己的工具链?

Go 的大规模重大改进要比 GCC 或者 LLVM 要更困难。

重大改进

由于使用自身工具简化的功能和使用 Go 重写后的一些改进:

(Gccgo 很快会有 segmented stacks 和 imprecise (stack) collection )

更多技术细节改进请看 PPT 原文。

启动

不需要 C 编译器,只需要一个 Go 编译器

因此需要从 1.5 的源代码去下载安装构建 Go

我们使用 Go 1.4+ 作为基础库来构建 1.5+ 的工具链

未来

未来仍然有很多任务要完成,但是 1.5 已经完成的差不多了。

总结

摆脱C 是 Go 项目的一个巨大改进,代码更整洁,提升可测试性,可部署性,也更容易运行。

新的统一工具链减少了代码数量,提升可维护性。

灵活的工具链对可移植性也很重要。

《The State of Go》

这篇PPT 主要讲解了 Go 1.5 的开发成果,用数据说话,各种图表显示 Go 1.5 跟 Go 1.4 简直不是一个级别的,大量的优化和极高的性能提升。

1. 并发垃圾收集机制,目标是:GC 延迟小于 10 毫秒。

新的垃圾收集机制是花费一些内存和 CPU 时间来换取更低的延迟时间:

2. 更高的并发性能,设置 GOMAXPROCS=N (where N is your number of CPUs):

3. 整体性能

《Go for Java programmers》

这是Google 的 Go 团队技术主管经理 Sameer Ajmani 分享的 PPT,为 Java 程序员快速入门 Go 而准备的。

Go 和 Java 有很多共同之处

Go 与 Java 的不同之处

Go 特意去掉了大量的特性

为什么 Go 要省去那些特性?

代码清晰明了是首要的

当查看代码时,可以很清晰的知道程序将会做什么

当编写代码的时候,也可以很清晰的让程序做你想做的

有时候这意味着编写出一个循环而不是调用一个模糊的函数。

(不要变的太枯燥)

更多详细内容和代码示例请看 OSC 翻译频道:http://www.oschina.net/translate/go-for-java-programmers-ppt。

talks.golang.org 前几天放出了 PPT《Go in Go》和《The State of Go》讲解最近 Go 的开发动态和成果:

随着Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编)

C 已经成为过去时了。

Go 1.5 计划在 8 月份发布,将会尝试支持 iOS。(Go 1.4 已经正式支持 Android)

4月份进行的 NYJavaSIG 聚会上 Go 团队的技术主管经理分享了《Go for Java Programmers》,为 Java 程序员提供的 Go 入门指南,正式向 Java 领域进军了吗?

OSC 上两年前就有 Go 要涉猎 Java 领域的文章和讨论了:

不知道现在大家的看法是否有些改变。

《Go in Go》

随着Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编)

C 已经成为过去时了。

注: gccgo 仍然很强大

这篇文章主要探讨原始编译器 gcc

为什么之前用 C 编写?

启动

(而且 Go 的主要目的不是作为一个编译器实现语言)

为什么编译器使用 Go 重写?

虽然看起来很多优势,但是还是夸的太早了:)

为什么运行时也是用 Go 重写?

我们有自己的 C 编译器来编译运行时,我们需要一个带有跟 Go ABI 一样编译器,比如 segmented stacks。

使用Go 编写可以摆脱 C 编译器的劣势,这是比使用 Go 重写编译器还重要。

(所有使用 Go 重写编译器的理由都可以作为使用 Go 重写运行时的理由)

限制运行时只用一种语言编写,更容易进行集成,管理 stack 等等操作。

跟往常一样,简化是首要的考虑因素。

历史

为什么我们要有完全属于自己的工具链?

Go 的大规模重大改进要比 GCC 或者 LLVM 要更困难。

重大改进

由于使用自身工具简化的功能和使用 Go 重写后的一些改进:

(Gccgo 很快会有 segmented stacks 和 imprecise (stack) collection )

更多技术细节改进请看 PPT 原文。

启动

不需要 C 编译器,只需要一个 Go 编译器

因此需要从 1.5 的源代码去下载安装构建 Go

我们使用 Go 1.4+ 作为基础库来构建 1.5+ 的工具链

未来

未来仍然有很多任务要完成,但是 1.5 已经完成的差不多了。

总结

摆脱C 是 Go 项目的一个巨大改进,代码更整洁,提升可测试性,可部署性,也更容易运行。

新的统一工具链减少了代码数量,提升可维护性。

灵活的工具链对可移植性也很重要。

《The State of Go》

这篇PPT 主要讲解了 Go 1.5 的开发成果,用数据说话,各种图表显示 Go 1.5 跟 Go 1.4 简直不是一个级别的,大量的优化和极高的性能提升。

1. 并发垃圾收集机制,目标是:GC 延迟小于 10 毫秒。

新的垃圾收集机制是花费一些内存和 CPU 时间来换取更低的延迟时间:

2. 更高的并发性能,设置 GOMAXPROCS=N (where N is your number of CPUs):

3. 整体性能

《Go for Java programmers》

这是Google 的 Go 团队技术主管经理 Sameer Ajmani 分享的 PPT,为 Java 程序员快速入门 Go 而准备的。

Go 和 Java 有很多共同之处

Go 与 Java 的不同之处

Go 特意去掉了大量的特性

为什么 Go 要省去那些特性?

代码清晰明了是首要的

当查看代码时,可以很清晰的知道程序将会做什么

当编写代码的时候,也可以很清晰的让程序做你想做的

有时候这意味着编写出一个循环而不是调用一个模糊的函数。

(不要变的太枯燥)

更多详细内容和代码示例请看 OSC 翻译频道:http://www.oschina.net/translate/go-for-java-programmers-ppt。

talks.golang.org 前几天放出了 PPT《Go in Go》和《The State of Go》讲解最近 Go 的开发动态和成果:

随着Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编)

C 已经成为过去时了。

Go 1.5 计划在 8 月份发布,将会尝试支持 iOS。(Go 1.4 已经正式支持 Android)

4月份进行的 NYJavaSIG 聚会上 Go 团队的技术主管经理分享了《Go for Java Programmers》,为 Java 程序员提供的 Go 入门指南,正式向 Java 领域进军了吗?

OSC 上两年前就有 Go 要涉猎 Java 领域的文章和讨论了:

不知道现在大家的看法是否有些改变。

《Go in Go》

随着Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编)

C 已经成为过去时了。

注: gccgo 仍然很强大

这篇文章主要探讨原始编译器 gcc

为什么之前用 C 编写?

启动

(而且 Go 的主要目的不是作为一个编译器实现语言)

为什么编译器使用 Go 重写?

虽然看起来很多优势,但是还是夸的太早了:)

为什么运行时也是用 Go 重写?

我们有自己的 C 编译器来编译运行时,我们需要一个带有跟 Go ABI 一样编译器,比如 segmented stacks。

使用Go 编写可以摆脱 C 编译器的劣势,这是比使用 Go 重写编译器还重要。

(所有使用 Go 重写编译器的理由都可以作为使用 Go 重写运行时的理由)

限制运行时只用一种语言编写,更容易进行集成,管理 stack 等等操作。

跟往常一样,简化是首要的考虑因素。

历史

为什么我们要有完全属于自己的工具链?

Go 的大规模重大改进要比 GCC 或者 LLVM 要更困难。

重大改进

由于使用自身工具简化的功能和使用 Go 重写后的一些改进:

(Gccgo 很快会有 segmented stacks 和 imprecise (stack) collection )

更多技术细节改进请看 PPT 原文。

启动

不需要 C 编译器,只需要一个 Go 编译器

因此需要从 1.5 的源代码去下载安装构建 Go

我们使用 Go 1.4+ 作为基础库来构建 1.5+ 的工具链

未来

未来仍然有很多任务要完成,但是 1.5 已经完成的差不多了。

总结

摆脱C 是 Go 项目的一个巨大改进,代码更整洁,提升可测试性,可部署性,也更容易运行。

新的统一工具链减少了代码数量,提升可维护性。

灵活的工具链对可移植性也很重要。

《The State of Go》

这篇PPT 主要讲解了 Go 1.5 的开发成果,用数据说话,各种图表显示 Go 1.5 跟 Go 1.4 简直不是一个级别的,大量的优化和极高的性能提升。

1. 并发垃圾收集机制,目标是:GC 延迟小于 10 毫秒。

新的垃圾收集机制是花费一些内存和 CPU 时间来换取更低的延迟时间:

2. 更高的并发性能,设置 GOMAXPROCS=N (where N is your number of CPUs):

3. 整体性能

《Go for Java programmers》

这是Google 的 Go 团队技术主管经理 Sameer Ajmani 分享的 PPT,为 Java 程序员快速入门 Go 而准备的。

Go 和 Java 有很多共同之处

Go 与 Java 的不同之处

Go 特意去掉了大量的特性

为什么 Go 要省去那些特性?

代码清晰明了是首要的

当查看代码时,可以很清晰的知道程序将会做什么

当编写代码的时候,也可以很清晰的让程序做你想做的

有时候这意味着编写出一个循环而不是调用一个模糊的函数。

(不要变的太枯燥)

更多详细内容和代码示例请看 OSC 翻译频道:http://www.oschina.net/translate/go-for-java-programmers-ppt。

talks.golang.org 前几天放出了 PPT《Go in Go》和《The State of Go》讲解最近 Go 的开发动态和成果:

随着Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编)

C 已经成为过去时了。

Go 1.5 计划在 8 月份发布,将会尝试支持 iOS。(Go 1.4 已经正式支持 Android)

4月份进行的 NYJavaSIG 聚会上 Go 团队的技术主管经理分享了《Go for Java Programmers》,为 Java 程序员提供的 Go 入门指南,正式向 Java 领域进军了吗?

OSC 上两年前就有 Go 要涉猎 Java 领域的文章和讨论了:

不知道现在大家的看法是否有些改变。

《Go in Go》

随着Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编)

C 已经成为过去时了。

注: gccgo 仍然很强大

这篇文章主要探讨原始编译器 gcc

为什么之前用 C 编写?

启动

(而且 Go 的主要目的不是作为一个编译器实现语言)

为什么编译器使用 Go 重写?

虽然看起来很多优势,但是还是夸的太早了:)

为什么运行时也是用 Go 重写?

我们有自己的 C 编译器来编译运行时,我们需要一个带有跟 Go ABI 一样编译器,比如 segmented stacks。

使用Go 编写可以摆脱 C 编译器的劣势,这是比使用 Go 重写编译器还重要。

(所有使用 Go 重写编译器的理由都可以作为使用 Go 重写运行时的理由)

限制运行时只用一种语言编写,更容易进行集成,管理 stack 等等操作。

跟往常一样,简化是首要的考虑因素。

历史

为什么我们要有完全属于自己的工具链?

Go 的大规模重大改进要比 GCC 或者 LLVM 要更困难。

重大改进

由于使用自身工具简化的功能和使用 Go 重写后的一些改进:

(Gccgo 很快会有 segmented stacks 和 imprecise (stack) collection )

更多技术细节改进请看 PPT 原文。

启动

不需要 C 编译器,只需要一个 Go 编译器

因此需要从 1.5 的源代码去下载安装构建 Go

我们使用 Go 1.4+ 作为基础库来构建 1.5+ 的工具链

未来

未来仍然有很多任务要完成,但是 1.5 已经完成的差不多了。

总结

摆脱C 是 Go 项目的一个巨大改进,代码更整洁,提升可测试性,可部署性,也更容易运行。

新的统一工具链减少了代码数量,提升可维护性。

灵活的工具链对可移植性也很重要。

《The State of Go》

这篇PPT 主要讲解了 Go 1.5 的开发成果,用数据说话,各种图表显示 Go 1.5 跟 Go 1.4 简直不是一个级别的,大量的优化和极高的性能提升。

1. 并发垃圾收集机制,目标是:GC 延迟小于 10 毫秒。

新的垃圾收集机制是花费一些内存和 CPU 时间来换取更低的延迟时间:

2. 更高的并发性能,设置 GOMAXPROCS=N (where N is your number of CPUs):

3. 整体性能

《Go for Java programmers》

这是Google 的 Go 团队技术主管经理 Sameer Ajmani 分享的 PPT,为 Java 程序员快速入门 Go 而准备的。

Go 和 Java 有很多共同之处

Go 与 Java 的不同之处

Go 特意去掉了大量的特性

为什么 Go 要省去那些特性?

代码清晰明了是首要的

当查看代码时,可以很清晰的知道程序将会做什么

当编写代码的时候,也可以很清晰的让程序做你想做的

有时候这意味着编写出一个循环而不是调用一个模糊的函数。

(不要变的太枯燥)

更多详细内容和代码示例请看 OSC 翻译频道:http://www.oschina.net/translate/go-for-java-programmers-ppt。

101楼:中山野鬼 发表于 2015-05-29 21:59 回复此评论

哈,go的帖子,看了半天没说go的。。。。作为一个C程序员,我说一句,“屁股和脸盘,压根没毛关系。。。”哈。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

103楼:沃尔德 发表于 2015-05-30 01:11 回复此评论

虽然我golang用了一年多。感觉挺好。但是这里的评论更精彩啊。。。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

106楼:离尘垢心 来自 Android 发表于 2015-05-30 08:44 回复此评论

107楼:李文军 发表于 2015-05-30 10:59 回复此评论

其实go在国外没那么火,国内火的原因是因为一批推崇google的国内技术大牛再推造成的

108楼:李文军 发表于 2015-05-30 11:01 回复此评论

引用来自“李文军”的评论

其实go在国外没那么火,国内火的原因是因为一批推崇google的国内技术大牛再推造成的

109楼:jklin 来自 Android 发表于 2015-05-30 11:10 回复此评论

110楼:程允权 发表于 2015-05-30 12:53 回复此评论

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

116楼:jQer 发表于 2015-05-30 15:09 回复此评论

头一次见TMB拿“电商平台”在这摆活,真TM的楞清。你TMB这辈子连个压缩算法都没写过吧,还电商平台,我草。写过“电商平台”也能证明自己会编程???培训学校出来的么,SB孩子!!!

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

118楼:爱吻 发表于 2015-05-30 16:58 回复此评论

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

121楼:jQer 发表于 2015-05-30 17:49 回复此评论

烂程序员关心的是代码,好程序员关心的是数据结构和它们之间的关系。这句话很适合你这个菜B,连TM编程常识都没学会呢就装逼,回培训学校再呆两天。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

124楼:programes 来自 Android 发表于 2015-05-30 22:52 回复此评论

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

126楼:jQer 发表于 2015-05-31 08:34 回复此评论

至于网络,你是个连阻塞IO,非阻塞IO的定义都没听说过的白痴!!!更别提多线程,同步,异步,多路复用了。你的言辞,很明晰的证明了,你是个刚从民办培训学校毕业的菜逼,而你也没有否认。

只能呵呵。机器码和汇编更好,你怎么不去用。你用c写一个淘宝的分布式群集试试。不要用铁锹挖煤和挖土机挖的媒煤比质量……

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

133楼:jQer 发表于 2015-05-31 12:03 回复此评论

java在浏览器的失败原因:你无法用java把网络上的任何一个数据,轻易的描述出来,而javascript可以。确切的说是,基于lisp的迭代设计的更易于描述数据。易于描述数据也是现在R语言火的原因。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

137楼:装逼遭雷劈 发表于 2015-05-31 18:32 (非会员)

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

139楼:laurence 发表于 2015-05-31 20:53 (非会员)

引用来自“jQer”的评论

而CPU密集,最好的语言必然是C,JAVA GO说白了就是那些C用的不行的人的替代品。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

143楼:jQer 发表于 2015-05-31 21:31 回复此评论

人工智能编程语言:lisp prolog!没智商的杂种,记清楚了, 真的是跟你妈十八岁的逼一样 嫩。好好百度下 Lisp机 人工智能之父 麦卡锡 入演算, 写几行脑惨的java代码当你MB人工智能呢,SB玩意。

144楼:jQer 发表于 2015-05-31 21:35 回复此评论

别说学习,你那臭的跟屎一样,嫩的跟你妈逼一样的java代码连基本的数据模型都识别不出来。人工智能编程的语言是lisp, prolog。好好记着,比孩子,民办学校也就培养你这无知的东西。

145楼:jQer 发表于 2015-05-31 21:39 回复此评论

(call/cc λ (Laozi) (o (x YourMaMi Nijie) NiNai) ) 用Java识别下来,傻逼东西

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

别说学习,你那臭的跟屎一样,嫩的跟你妈逼一样的java代码连基本的数据模型都识别不出来。人工智能编程的语言是lisp, prolog。好好记着,比孩子,民办学校也就培养你这无知的东西。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

150楼:万源 来自 iPhone 发表于 2015-06-01 08:52 回复此评论

引用来自“冰力”的评论

Rust / Swift / Dlang / C++11 都比 Go 强。

151楼:aaa 发表于 2015-06-01 10:19 (非会员)

2位在这么互炒也没J8卵用,@jQer 上代码说话。

引用来自“抢小孩糖吃”的评论

个人感觉为什么Go可以说威胁到C,甚至代替,更多的是因为当前的多核心运算环境造成的。C需要花费大力气,并且相对不太好的兼容性,才能够完成多核工作。Go底层设计就是为了解决这个问题。C有变成汇编的趋势。

153楼:冰力 发表于 2015-06-01 10:48 回复此评论

引用来自“冰力”的评论

Rust / Swift / Dlang / C++11 都比 Go 强。

引用来自“西红柿幽幽子”的评论

但是问题是除了不到1%的需要底层需求,一堆稍有经验的java和go的开发者写的比精通C的一样好并且更快,因为PHP是世界上最好的语言!

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

引用来自“jQer”的评论

用GO你必须要搞清楚一点,GO不是面向CPU密集计算的,而是面向IO密集计算的!!!RUST才是面向CPU密集计算的语言,所以RUST叫系统编程语言,而GO是网络编程语言。GO跟JAVA的Spring是一个层面上的东西。对于那些无法同时操纵高级语言Python Ruby ...和系统语言比如C C++的中间类型的人,才会用JAVA GO。

talks.golang.org 前几天放出了 PPT《Go in Go》和《The State of Go》讲解最近 Go 的开发动态和成果:

随着Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编)

C 已经成为过去时了。

Go 1.5 计划在 8 月份发布,将会尝试支持 iOS。(Go 1.4 已经正式支持 Android)

4月份进行的 NYJavaSIG 聚会上 Go 团队的技术主管经理分享了《Go for Java Programmers》,为 Java 程序员提供的 Go 入门指南,正式向 Java 领域进军了吗?

OSC 上两年前就有 Go 要涉猎 Java 领域的文章和讨论了:

不知道现在大家的看法是否有些改变。

《Go in Go》

随着Go 1.5 版本的开发,现在整个系统都是使用 Go 编写的(有一小部分汇编)

C 已经成为过去时了。

注: gccgo 仍然很强大

这篇文章主要探讨原始编译器 gcc

为什么之前用 C 编写?

启动

(而且 Go 的主要目的不是作为一个编译器实现语言)

为什么编译器使用 Go 重写?

虽然看起来很多优势,但是还是夸的太早了:)

为什么运行时也是用 Go 重写?

我们有自己的 C 编译器来编译运行时,我们需要一个带有跟 Go ABI 一样编译器,比如 segmented stacks。

使用Go 编写可以摆脱 C 编译器的劣势,这是比使用 Go 重写编译器还重要。

(所有使用 Go 重写编译器的理由都可以作为使用 Go 重写运行时的理由)

限制运行时只用一种语言编写,更容易进行集成,管理 stack 等等操作。

跟往常一样,简化是首要的考虑因素。

历史

为什么我们要有完全属于自己的工具链?

Go 的大规模重大改进要比 GCC 或者 LLVM 要更困难。

重大改进

由于使用自身工具简化的功能和使用 Go 重写后的一些改进:

(Gccgo 很快会有 segmented stacks 和 imprecise (stack) collection )

更多技术细节改进请看 PPT 原文。

启动

不需要 C 编译器,只需要一个 Go 编译器

因此需要从 1.5 的源代码去下载安装构建 Go

我们使用 Go 1.4+ 作为基础库来构建 1.5+ 的工具链

未来

未来仍然有很多任务要完成,但是 1.5 已经完成的差不多了。

总结

摆脱C 是 Go 项目的一个巨大改进,代码更整洁,提升可测试性,可部署性,也更容易运行。

新的统一工具链减少了代码数量,提升可维护性。

灵活的工具链对可移植性也很重要。

《The State of Go》

这篇PPT 主要讲解了 Go 1.5 的开发成果,用数据说话,各种图表显示 Go 1.5 跟 Go 1.4 简直不是一个级别的,大量的优化和极高的性能提升。

1. 并发垃圾收集机制,目标是:GC 延迟小于 10 毫秒。

新的垃圾收集机制是花费一些内存和 CPU 时间来换取更低的延迟时间:

2. 更高的并发性能,设置 GOMAXPROCS=N (where N is your number of CPUs):

3. 整体性能

《Go for Java programmers》

这是Google 的 Go 团队技术主管经理 Sameer Ajmani 分享的 PPT,为 Java 程序员快速入门 Go 而准备的。

Go 和 Java 有很多共同之处

Go 与 Java 的不同之处

Go 特意去掉了大量的特性

为什么 Go 要省去那些特性?

代码清晰明了是首要的

当查看代码时,可以很清晰的知道程序将会做什么

当编写代码的时候,也可以很清晰的让程序做你想做的

有时候这意味着编写出一个循环而不是调用一个模糊的函数。

(不要变的太枯燥)

更多详细内容和代码示例请看 OSC 翻译频道:http://www.oschina.net/translate/go-for-java-programmers-ppt。



              查看评论 回复



嵌入式交流网主页 > 上位机技术 > JAVA > Go 摆脱了 C,又惹上了 Java?
 语言 密集 面向

网站地图

围观()