BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

OSCON 2014大会上Go语言相关主题总结

| 作者 臧秀涛 关注 4 他的粉丝 发布于 2014年8月28日. 估计阅读时间: 4 分钟 | ArchSummit北京2018 共同探讨机器学习、信息安全、微服务治理的关键点

在O'Reilly举办的OSCON 2014大会上,Go语言相关的主题要多于以往,这也从一个侧面说明了人们对这门语言的关注程度越来越高。Go语言官方博客对此进行了总结。这些主题包括5个演讲,2个研讨会及1个非正式的讨论(Birds of a Feather)。内容涉及从Java切换到Go、MongoDB与Go、面向对象的Go等内容。

我们先来看一下这些演讲。

Matt Stine的演讲题目是《A recovering Java developer learns Go》,介绍了他从Java切换到Go的经验。他首先介绍了Go语言产生的背景,以及Go的目标:

  • 安全、高效的静态类型、编译型语言
  • 动态、解释型语言的开发效率和感觉
  • 解决现代计算环境的问题
    • 多核处理器
    • 网络系统
    • 大规模计算集群
    • Web编程模型

然后他又从特性与惯用法、包/模块、类型/OOP/接口以及并发4个方面对比了Go和Java。

Steve Francia演讲的题目是《Painless Data Storage with MongoDB and Go》,他是MongoDB的主要开发者,他介绍了使用MongoDB和Go语言的实践经验。他提到,之所以选择Go语言,原因是:

  • Go的执行速度接近C
  • Go的编译时间可以与动态、解释型语言媲美
  • Go很友好

    比如很多地方感觉就像动态语言,容易全部记住的很小的语言核心等

  • Go是并发的

    并发是语言的一部分,任何函数都可以变成一个goroutine,goroutine可以并发运行,通过Channel通信

Steve还有一场演讲——《Go for Object Oriented Programmers》,介绍了如何在Go中实现某些面向对象概念。主要内容包括:

  • 如何在Go语言中使用面向对象编程的基本元素,如类、对象等
  • Go语言中的静态类型与伪动态类型
  • 在Go语言中构建优美的接口
  • 使用Go接口和鸭子类型简化架构
  • 有其他OO语言背景的开发者常犯的错误
  • Go语言中好的设计原则

Josh Bleecher Snyder以《Gophers with hammers》为题,谈到了他编写Go源代码处理工具的经验。Go语言在设计时就考虑到了工具的问题,本身也提供了很多工具,比如go、godoc、gofmt等。有时候需要根据自己的需求定制或开发一些工具,Josh分享的就是他在这方面的经验。

Francesc Campoy的演讲题目是《Inside the Go playground》,谈到了Go Playground中所有可能出错,但是Go团队却未加阻止的地方。Go Playground是Go语言官方推出的一个Web服务,支持开发者在页面提交源代码,代码会在网站后台编译并运行,之后结果会显示在网页上。其架构如图所示:

他分析了后端在接受代码、编译并运行过程中可能出现的问题,比如资源耗尽、越权访问等。

两个研讨会是Steve Francia的《Getting started with Go》和Chris McEniry的《Quick introduction to system tools programming with Go》

在非正式的讨论上,来自不同公司的Go语言专家介绍并探讨了Go入门、Go最佳实践、Go与MongoDB以及在App Engine上使用Go等主题。

这些演讲和研讨会给我们带来了很多干货,感兴趣的读者可以查阅相关讲稿。


感谢郭蕾对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT