成为那个拿锤子的人

6456154762b384f28933a5e51b8fb05f.jpeg请点击上方蓝字TonyBai订阅公众号!

35311e35351e767e9ca88f28a80e2da8.png

“当你有一个锤子时,每件事看起来都像一个钉子”,这句来自心理学家亚伯拉罕·马斯洛(没错!就是提出五层需求理论的那个马斯洛)的名言揭示了人们在掌握一种技能或工具时,很容易将其视作通用解决方案的倾向,在技术领域,这种倾向尤为明显。

6c7da9f2b17d0d20b6aac9f3834ad588.png

同时这句话也常被用来描述人们对工具的过度依赖和思维的局限性。

在程序员圈子中,“语言战争(programming language war)[1]”是一个永不过时的话题,而马斯洛的“锤子”观点在每一种新语言兴起并掀起波澜时,总会被用作“讥讽”该语言拥趸的“思想武器”,细数当前的主流语言,莫不如此:

  • 上世纪90年代初,随着图形用户界面(GUI)和大型软件开发而兴起的C++语言;

  • 上世纪90年代末至2000年初期,随着互联网的普及和企业应用程序需求增加而大火儿的Java语言;

  • 从2001年开始,特别是在微软.NET框架推出之后逐渐成为Windows应用开发新霸主的C#语言;

  • 2004年以后,随着Ruby on Rails框架的推出,而在Web应用开发领域变成网红且语法优雅的Ruby语言;

  • 2009年以后,刚发布就赢得TIOBE编程语言排行榜年度最佳语言,并在之后引领云原生时代的Go语言[2]

  • 2010年诞生,从2016年开始连续8年霸榜Stackoverflow最受欢迎编程语言、打出“用Rust重写一切”的Rust语言[3]

这些语言都有自己的高光时刻,语言拥趸们举起大锤到处砸钉子,伴随而来的是来自其他语言阵营的讥讽。以我最熟悉的Go为例,在Go 1.5版本实现自举并实现GC延迟大幅度下降后[4],Go社区迎来了快速发展。Go也开始飘了!Gopher们乃至Go团队开始了在各个领域积(四)极(处)探(出)索(击),除了云原生基础设施和服务、Cli和Web这几个主流领域之外,Go还进军了GUI、游戏、移动开发[5]以及嵌入式系统等领域,这让Go语言一度也面临过与目前Rust相似的境遇和挑战,遭遇了一些质疑和嘲讽:

92923e91b400fa7929175045f42c8e7c.png

然而,这真的是一种糟糕的状态吗?手握大锤找钉子真的有错吗?让我们将视野从狭小的编程语言领域拓展到更广阔的其他领域。

我们先来看看汽车领域,如果说内燃机驱动技术和机械变速箱技术属于上一代成熟技术的话,那么基于锂电池和电动机的新能源驱动技术就是这个领域的“新锤子”,它也一直在被以丰田为代表的传统主机厂诟病。但以特斯拉为代表的的新能源车企是如何使用这柄锤子的呢?下面是特斯拉的产品发布历史:

  • 2008年 Roadster:特斯拉的首款量产电动车

  • 2012年 Model S:高档电动轿车,获得广泛好评,具有长续航和高性能,奠定了特斯拉在豪华车市场的地位。

  • 2015年 Model X:一款豪华电动SUV,以独特的鹰翼门设计和高度的安全性著称。

  • 2017年 Model 3:面向大众市场的紧凑型电动车,成为全球销量最高的电动车之一。

  • 2020年 Model Y:一款电动跨界SUV,基于Model 3平台,迅速赢得市场。

  • 2021年 Cybertruck:特斯拉的电动皮卡

  • 2022年 Tesla Semi:电动重型卡车,专注于运输行业的可持续性。

哦,没错!就像编程界一样,一旦他们拿到这柄锤子,也会到处找钉子:从轿车、SUV、皮卡到电动重卡,甚至国内一些新能源主机厂已经发布了几款概念版电动飞行汽车:

a00ca9a992a7db07e3d765e4c49a458d.png

我们再来看看四轴或多轴无人机领域,随着大疆等厂商拿到这把锤子后,无人机的应用范围得到了极大的拓展。从最初的航拍工具和玩具,逐渐演变为物流配送的利器,甚至展望未来,它们有可能成为飞行汽车的一部分。此外,一些军工企业也开始将无人机用于战场,成为一种武器。

如今,大语言模型正成为新时代的"锤子",从自然语言处理到代码生成,从内容创作到自动驾驶决策辅助,从寻找新蛋白质到新药研发等,正在重塑各个领域的工作方式。

到这里,我们看到每一种新技术的诞生,都像一把新锤子,重塑着所在领域的版图。它们不是简单的工具替换,而是带来了全新的思维方式和解决方案。现在,你还担心拿着锤子找钉子会遭到他人的“讥讽”吗?

在不断演变的科技世界,真正驱动变革的往往就是那些“拿锤子”的人。他们不只是拥有先进技术的工具,更重要的是,他们拥有通过这些工具改变世界的意愿。因此,找到并精通一项核心技术,就像获得了一把改变世界的锤子。这不是局限,而是机遇。重要的不是担心把所有问题都看成钉子,而是要深入理解你的"锤子",保持开放的心态,发现新的应用场景,勇于尝试用锤子去创新性解决问题。

由此可见,本文开头处马斯洛的那句话在今天有了新的意义:成为那个拿锤子的人,意味着你有能力参与改变世界的进程。拥抱你手中的锤子吧,这是你的幸运!我们要做的就是善用这份幸运,创造更大的价值

作为程序员,我们需要挑选一柄锤子并握在手中,而Go是一个很好的候选。如果你觉得拥抱Go这柄锤子,那我推荐大家关注极客时间的“Go语言第一课[6]”,这是一个很好的起点,帮助你入门Go语言并深入理解Go语言的精髓。

8f3dc70acfe87ea129b4020d9235b8e3.png
img{512x368}

同时,我的书籍《Go语言精进之路[7]》也将为你提供更深入的知识和实用技巧。

8cb97a2b9ef86663ae0a7bc2fe3ecb6f.png
img{512x368}

让我们一起在这条道路上不断探索,提升自我,以更好地应对未来的挑战!


参考资料

[1] 

语言战争(programming language war): https://www.microsoft.com/en-us/research/video/the-programming-language-wars/

[2] 

云原生时代的Go语言: https://tonybai.com/2024/08/17/go-the-c-language-of-the-internet-era-come-true/

[3] 

Rust语言: https://tonybai.com/tag/rust

[4] 

Go 1.5版本实现自举并实现GC延迟大幅度下降后: https://tonybai.com/2015/07/10/some-changes-in-go-1-5/

[5] 

移动开发: https://github.com/golang/mobile

[6] 

Go语言第一课: http://gk.link/a/10AVZ

[7] 

Go语言精进之路: https://item.jd.com/13694000.html

如果本文对你有所帮助,欢迎转发朋友圈!

点击下面标题,阅读更多干货!

从零开始编程:Go语言真的适合新手吗?

智能时代临近:我眼中AI编程的现在与未来

认知负荷对编程语言选择和学习的影响

Go语言的新时代:新领导团队和未来规划

使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B

编程界的“白开水”,喝上就会上瘾!


f6dd92c4c9b570880d60c16b5d2be8fc.jpeg

著名云主机服务厂商DigitalOcean发布最新的主机计划,入门级Droplet配置升级为:1 core CPU、1G内存、25G高速SSD,价格5$/月。有使用DigitalOcean需求的朋友,可以打开这个链接地址:https://m.do.co/c/bff6eed92687 开启你的DO主机之路。

Gopher Daily(Gopher每日新闻) - https://gopherdaily.tonybai.com

我的联系方式:

  • 微博(暂不可用):https://weibo.com/bigwhite20xx

  • 微博2:https://weibo.com/u/6484441286

  • 博客:tonybai.com

  • github: https://github.com/bigwhite

  • Gopher Daily归档 - https://github.com/bigwhite/gopherdaily

  • Gopher Daily Feed订阅 - https://gopherdaily.tonybai.com/feed

eb7431b03b09c0e13aad33556a45cff7.jpeg

商务合作方式:撰稿、出书、培训、在线课程、合伙创业、咨询、广告合作。

基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究(Matlab代码实现)内容概要:本文围绕“基于数据驱动的 Koopman 算子的递归神经网络模型线性化,用于纳米定位系统的预测控制研究”展开,提出了一种结合数据驱动方法与Koopman算子理论的递归神经网络(RNN)模型线性化方法,旨在提升纳米定位系统的预测控制精度与动态响应能力。研究通过构建数据驱动的线性化模型,克服了传统非线性系统建模复杂、计算开销大的问题,并在Matlab平台上实现了完整的算法仿真与验证,展示了该方法在高精度定位控制中的有效性与实用性。; 适合群:具备一定自动化、控制理论或机器学习背景的科研员与工程技术员,尤其是从事精密定位、智能控制、非线性系统建模与预测控制相关领域的研究生与研究员。; 使用场景及目标:①应用于纳米级精密定位系统(如原子力显微镜、半导体制造设备)中的高性能预测控制;②为复杂非线性系统的数据驱动建模与线性化提供新思路;③结合深度学习与经典控制理论,推动智能控制算法的实际落地。; 阅读建议:建议读者结合Matlab代码实现部分,深入理解Koopman算子与RNN结合的建模范式,重点关注数据预处理、模型训练与控制系统集成等关键环节,并可通过替换实际系统数据进行迁移验证,以掌握该方法的核心思想与工程应用技巧。
基于粒子群算法优化Kmeans聚类的居民用电行为分析研究(Matlb代码实现)内容概要:本文围绕基于粒子群算法(PSO)优化Kmeans聚类的居民用电行为分析展开研究,提出了一种结合智能优化算法与传统聚类方法的技术路径。通过使用粒子群算法优化Kmeans聚类的初始聚类中心,有效克服了传统Kmeans算法易陷入局部最优、对初始值敏感的问题,提升了聚类的稳定性和准确性。研究利用Matlab实现了该算法,并应用于居民用电数据的行为模式识别与分类,有助于精细化电力需求管理、用户画像构建及个性化用电服务设计。文档还提及相关应用场景如负荷预测、电力系统优化等,并提供了配套代码资源。; 适合群:具备一定Matlab编程基础,从事电力系统、智能优化算法、数据分析等相关领域的研究员或工程技术员,尤其适合研究生及科研员。; 使用场景及目标:①用于居民用电行为的高效聚类分析,挖掘典型用电模式;②提升Kmeans聚类算法的性能,避免局部最优问题;③为电力公司开展需求响应、负荷预测和用户分群管理提供技术支持;④作为智能优化算法与机器学习结合应用的教学与科研案例。; 阅读建议:建议读者结合提供的Matlab代码进行实践操作,深入理解PSO优化Kmeans的核心机制,关注参数设置对聚类效果的影响,并尝试将其应用于其他相似的数据聚类问题中,以加深理解和拓展应用能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值