Go语言精进之路:你知道什么是Go语言编程思维吗?

本文探讨了编程语言与思维的联系,以Go语言为例,指出Go的原生编程思维是高质量Go编程的关键。通过对比不同语言在素数筛问题上的实现,展示了Go语言的并发思维。学习Go语言需要采用其原生思维方式,以编写出符合Go哲学的代码。
摘要由CSDN通过智能技术生成

7397e9dfae093c104a01bbc5f7a808a1.gif

经过十几年的演化和发展,Go语言在全世界范围内已经拥有了百万级别的拥趸,在这些开发者当中,除了一部分新入行的编程语言初学者之外,更多的是从其他编程语言阵营转过来的开发者。由于Go语言上手容易,在转Go的初期大家很快就掌握了Go的语法。

但在编写更多Go代码之后,很多人发现自己写的Go代码总是感觉很别扭,并且总是尝试在Go语言中寻找自己上一门语言中熟悉的语法元素。自己的Go代码风格似乎和Go标准库、主流Go开源项目的代码在思考角度和使用方式上存在不小差异,并且每每看到Go核心开发团队的代码时总有一种醍醐灌顶的感觉。出现这种情况的主要原因就是大脑中上一门编程语言的思维方式在“作祟”。

本文将通过《Go语言精进之路:从新手到高手的编程思想、方法与技巧》这本书的内容来详细看一看编程语言与编程思维的关系以及Go语言的编程思维究竟是什么,以帮助大家更加深入地理解Go编程。

了解Go编程思维之前,我们先看看思维与语言之间究竟有什么联系呢?

1.语言与思维——来自大师的观点

在人类自然语言学界有一个很著名的假说——“萨丕尔—沃夫假说”,这个假说的内容是这样的:“语言影响或决定人类的思维方式。”

说到这个假说,我们不能不提及在2017年年初国内上映了一部口碑不错的美国科幻大片《降临》,这部片子改编自雨果奖获得者华裔科幻小说家Ted姜的《你一生的故事》。片中主线剧情的理论基础就是“萨丕尔—沃夫假说”。更夸张的是片中直接将该假说应用到外星人语言上,将其扩展到宇宙范畴。片中的女主作为人类代表与外星人沟通,并学会了外星语言,从此思维大变,拥有了预知未来的“超能力”,这也算是语言影响思维的极致表现了。

奇妙的是,在编程语言界,有位大师级人物也有着与“萨丕尔-沃夫假说”异曲同工的观点和认知,他就是首届图灵奖得主、著名计算机科学家艾伦·佩利(Alan J. Perlis),他从另外一个角度提出:“不能影响到你的编程思维方式的编程语言不值得去学习和使用。”

2.现实中的“投影”

从上述大师们的理论和观点,我们看到了语言与思维之间存在着某种联系。那么两者间的这种联系在真实编程世界中的投影又是什么样子的呢?我们来看一个简单的编程问题——素数筛:

问题描述:素数是一个自然数,它具有两个截然不同的自然数除数:1和它本身。这里的问题是如何找到小于或等于给定整数n的素数。针对这个问题,我们可以采用埃拉托斯特尼素数筛算法。

算法描述:先用最小的素数2去筛,把2的倍数剔除掉;下一个未筛除的数就是素数(

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值