HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

  • 2014-08-27
  • 本文字数:1268 字

    阅读完需:约 4 分钟

在 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 )关注我们,并与我们的编辑和其他读者朋友交流。

2014-08-27 03:493012
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 134.3 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

app开发

Geek_8da502

万界星空科技电子电器装配行业MES解决方案

万界星空科技

mes 万界星空科技mes 电子mes 电子工厂 电子电器制造业

单日30PB量级!火山引擎ByteHouse云原生的数据导入这么做

字节跳动数据平台

数据库 大数据 云原生 数仓 企业号12月PK榜

摆脱Excel 寻求现代零售智能化管理的出路

第七在线

万界星空科技MES系统中的生产调度流程

万界星空科技

数字化转型 工业互联网 mes 云mes 万界星空科技mes

云数据库RDS MySQL和ClickHouse 同步攻略

NineData

MySQL Clickhouse 数据复制 数据转换 NineData

跨境电商通讯服务

cts喜友科技

通信 通讯

无需专有硬件 XSKY星辰天合 XDcache 大幅提升文件写性能

XSKY星辰天合

数据中台的业务价值和技术价值

用友BIP

数据中台

认证LeSS实践者课程 - 2024.1,广州

ShineScrum捷行

大规模敏捷

如何创建逼真的3D模型

3D建模设计

材质修改 材质贴图 材质纹理

从 0 到 1 手动搭建 k8s 集群 - 添加 master 节点

doramingo

云原生 扩容 kubenetes

用友发布数据资产入表解决方案 加速激发数据要素价值

用友BIP

数据资产入表

IPQ4019/IPQ4029 router is used to develop TDMA under openwrt - Better performance and efficiency for wireless networks.

wifi6-yiyi

5G wifi IPQ4019 TDMA

从技术角度分析如何选择灰度测试方式

Onegun

功能测试 灰度测试

C/C++内存操作 | AI工程化部署

AIWeker

c AI AI工程化部署

2024年高效远程协同运维工具推荐

行云管家

IT运维 远程协同 协同运维

大型语言模型在实体关系提取中的应用探索(二)

数由科技

知识图谱 ChatGPT LLM 实体抽取 Bard

mac电脑强大的文件重命名工具A Better Finder Attributes 7注册激活版

胖墩儿不胖y

Mac软件 文件重命名工具 文件重命名软件 批量重命名软件

强大的矢量图编辑器:Boxy SVG免激活最新版

mac大玩家j

Mac软件 矢量图处理工具 矢量图编辑器

Hudi 在 vivo 湖仓一体的落地实践

vivo互联网技术

数据湖 大数据计算与存储 效率提升

软件测试/人工智能|Edge浏览器实用插件推荐

霍格沃兹测试开发学社

软件测试/人工智能|解决Selenium中的异常问题:“error sending request for url”

霍格沃兹测试开发学社

软件测试/人工智能|教你掌握 Conda 的基本用法

霍格沃兹测试开发学社

如何删除/替换3D模型的材质贴图

3D建模设计

材质合批 材质修改 材质贴图 材质纹理

GLB/GLTF 模型压缩轻量化

3D建模设计

材质合批 材质修改 材质贴图 材质纹理

OSCON 2014大会上Go语言相关主题总结_语言 & 开发_臧秀涛_InfoQ精选文章