跟上Go演进步伐,你只需要关注这几件事儿
跟上Go演进步伐,你只需要关注这几件事儿 | Tony Bai Tony Bai一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ 关于我 文章列表 跟上Go演进步伐,你只需要关注这几件事儿 九月 30, 2024 0 条评论 ...
跟上Go演进步伐,你只需要关注这几件事儿 | Tony Bai Tony Bai一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ 关于我 文章列表 跟上Go演进步伐,你只需要关注这几件事儿 九月 30, 2024 0 条评论 ...
从零开始编程:Go语言真的适合新手吗? | Tony Bai Tony Bai一个程序员的心路历程 Google Go语言编码风格规范 Google Go语言编码风格规范:指南篇 Google Go语言编码风格规范:决定篇 Google Go语言编码风格规范:最佳实践篇 Go语言第一课FAQ 关于我 文章列表 从零开始编程:Go语言真的适合新手吗? 八月 22, 2024 0 条评论 ...
本文永久链接 – https://tonybai.com/2024/07/21/simd-in-go 前些日子,一些资深Gopher,比如fasthttp的作者Aliaksandr Valialkin因函数迭代器加入Go 1.23版本而抱怨Go的演进走错了方向:朝着增加复杂性和隐式代码执行的方向发展,而没有专注于Go语言的基本设计哲学——简单性、生产力和性能。Valialkin希望Go团队能专注于一些性能打磨和优化的环节,比如使用SIMD提升一些计算场景下Go代码的性能,避免Go的某些领地被以性能和安全性著称的Rust抢去! ...
本文永久链接 – https://tonybai.com/2024/06/16/gopher-rust-first-lesson-managing-deps 在上一章《Gopher的Rust第一课:Rust代码组织》中,我们了解了Rust的代码组织形式,知道了基于Cargo构建项目以及Rust代码组织是目前的标准方式,同时Cargo也是管理项目外部依赖的标准方法,而项目内部的代码组织则由Rust module来完成。 在这一章中,我们将聚焦Rust的依赖管理,即Cargo对外部crate依赖的管理操作。我将先介绍几种依赖的来源类型(来自crates.io或其他Package Registries、来自某个git仓库以及来自本地的crate等),然后说说Cargo依赖的常见操作,包括依赖的添加、升降版本和删除;最后,聊一下如何处理依赖同一个依赖项的不同版本。 ...
本文永久链接 – https://tonybai.com/2024/06/06/gopher-rust-first-lesson-organizing-rust-code 在上一章的讲解中,我们编写了第一个Rust示例程序”hello, world”,并给出了rustc版和cargo版本。在真实开发中,我们都会使用cargo来创建和管理Rust包。不过,Hello, world示例非常简单,仅仅由一个Rust源码文件组成,而且所有源码文件都在同一个目录中。但真实世界中的实用Rust程序,无论是公司商业项目,还是一些知名的开源项目,甚至是一些稍复杂一些的供教学使用的示例程序,它们通常可不会这么简单,都有着复杂的代码结构。 ...
本文永久链接 – https://tonybai.com/2024/05/27/gopher-rust-first-lesson-first-rust-program 经过上一章的学习,我想现在你已经成功安装好一个Rust开发环境了,是时候撸起袖子开始写Rust代码了! 程序员这个历史并不算悠久的行当,却有着一个历史悠久的传统,那就是每种编程语言都将一个名为“hello, world”的示例作为这门语言学习的第一个例子,这个传统始于20世纪70年代那本大名鼎鼎的由布莱恩·科尼根(Brian W. Kernighan)与C语言之父丹尼斯·里奇(Dennis M. Ritchie)合著的《C程序设计语言》。 ...
本文永久链接 – https://tonybai.com/2024/05/10/gopher-rust-first-lesson-setup-dev-env 经过上一章的对Rust诞生演化的了解以及设计哲学的探讨后,如果你依然决定继续Rust编程学习之旅,那么欢迎你和我一起正式走进Rust学习和实践的课堂。 编程不是“纸上谈兵”,它是一门实践的艺术。编程语言的学习离不开动手实践,因此学习任何一门编程语言的第一步都是要拥有一个这门编程语言的开发环境,这样我们才可以动手编码,理论与实践结合,不仅加速学习效率,还能取得更好的学习效果。 ...
本文永久链接 – https://tonybai.com/2024/04/22/gopher-rust-first-lesson-all-about-rust 要说这两年后端编程语言谁最火,Rust说自己第二,没人敢说第一。Rust连续8年霸榜stackoverflow最受推崇的编程语言,甚至被推特之父Jack Dorsey称为“完美的编程语言”: 注:最火:仅代表人气最旺,最受欢迎,但并不代表使用者最多。 如果你经常读我的博客,你可能会问:“你不是Go语言布道师吗?怎么也要转Rust了?”其实不然,学习Rust不是要蹭热度,而是实际开发的需要。这些年在汽车行业这个赛道上,云端和车端都要兼顾。目前车端基础软件的开发语言主要是C/C++,但内存安全、性能不输C且高可靠的Rust日益受到车载软件开发的青睐,AUTOSAR组织在2022年成立了Rust工作组就是一个重要的信号。并且据我所知,一些国内造车新势力已经或正在将一些Rust开发的中间件或应用放到了量产车或即将量产的车上。 ...
本文永久链接 – https://tonybai.com/2024/01/24/rust-vs-go-in-2024 本文译自《Rust vs Go in 2024》。 我可以说些什么而不让大家生气吗? Rust和Go哪个更好?你应该为下一个项目选择哪种语言,为什么?两者在性能、简单性、安全性、功能特性、规模化(scale)和并发性等方面如何比较?它们有什么共同点,又有什么根本区别?让我们通过Rust和Go的友好且公平的比较来找到答案。 ...
本文永久链接 – https://tonybai.com/2023/07/31/a-guide-of-using-apache-arrow-for-gopher-part6 Apache Arrow是一种开放的、与语言无关的列式内存格式,在本系列文章的前几篇中,我们都聚焦于内存表示与内存操作。 但对于一个数据库系统或大数据分析平台来说,数据不能也无法一直放在内存中,虽说目前内存很大也足够便宜了,但其易失性也决定了我们在特定时刻还是要将数据序列化后存储到磁盘或一些低成本的存储服务上(比如AWS的S3等)。 ...