【ArchSummit】如何通过AIOps推动可量化的业务价值增长和效率提升?>>> 了解详情
写点什么

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:492945
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

一文盘点PoseiSwap近期的生态利好

EOSdreamer111

太猛了!Github大佬那白嫖的分布式进阶宝典,啃完感觉能吊锤面试官

Java你猿哥

Java 架构 软件开发 ssm 架构设计

如何让 300 万程序员爱上 CODING?

CODING DevOps

Django笔记三十三之缓存操作

Hunter熊

Python redis django 缓存

UserDAO(UWT)会是WEB3.0中新的宠儿吗?

币离海

Web3.0 UserDAO UWT

斯坦福、Nautilus Chain等联合主办的 Hackathon 活动,现已接受报名

EOSdreamer111

Turbo Boost Switcher Pro for mac(cpu温度监测工具) 2.10.2

真大的脸盆

Mac Mac 软件 CPU温度监测工具

低代码实现探索(五十八)低代码平台

零道云-混合式低代码平台

2023-05-20:go语言的slice和rust语言的Vec的扩容流程是什么?

福大大架构师每日一题

golang rust 福大大

使用Go语言实现工厂模式的三种方式

Jack

一文盘点PoseiSwap近期的生态利好

西柚子

Django笔记三十四之分页操作

Hunter熊

Python django 分页

专精特新 ︱ 腾讯云 CODING 助力消费电子类企业高速发展期的研运一体化

CODING DevOps

斯坦福、Nautilus Chain等联合主办的 Hackathon 活动,现已接受报名

股市老人

文心一言 VS 讯飞星火 VS chatgpt (19)-- go语言的slice和rust语言的Vec的扩容流程是什么?

福大大架构师每日一题

福大大 文心一言 讯飞星火

一文盘点PoseiSwap近期的生态利好

股市老人

AIGC背后的技术分析 | 机器学习中的卷积神经网络

TiAmo

卷积神经网络 AIGC

双模齐下,提质增效:CODING 携手知微共创 BizDevOps 体系新篇章

CODING DevOps

Midjourney|文心一格prompt教程[进阶篇]:Midjourney Prompt 高级参数、各版本差异、官方提供常见问题

汀丶人工智能

人工智能 AI绘画 MidJourney 文生图 prompt learning

mac端好用的建模软件分享~

真大的脸盆

Mac Mac 软件 建模工具 三维建模软件

9款好用的项目工时软件推荐

PingCode

项目管理 工时管理

Ribbon默认负载均衡规则替换为NacosRule

越长大越悲伤

Spring Cloud

Python潮流周刊#2:Rust 让 Python 再次伟大

Python猫

Python

由斯坦福、Nautilus Chain等联合主办的 Hackathon 活动,现已接受报名

鳄鱼视界

Midjourney|文心一格 Prompt:完整参数列表、风格汇总、文生图词典合集

汀丶人工智能

人工智能 AI绘画 MidJourney 文生图 prompt learning

轻松建模、编辑、分析尽在Rhino 7中文激活版~

真大的脸盆

Mac 3D Mac 软件 建模软件 3d建模

求爷爷告奶奶,阿里大佬才甩出这份Spark+Hadoop+中台实战pdf

程序知音

大数据 hadoop spark 后端技术

一文读懂大语言模型

俞凡

人工智能

Cloud Studio 高阶玩家:强大的 YAML 模板

CODING DevOps

由斯坦福、Nautilus Chain等联合主办的 Hackathon 活动,现已接受报名

西柚子

开源字节 CRM 系统

源字节1号

开源 软件开发 小程序开发

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