码农群英传连载(一) —— Go 语言之父 Rob Pike

国央企创新负责人如何通过平台提升技术需求挖掘与资源配置的精准性?.docx 国央企创新负责人如何通过平台提升技术需求挖掘与资源配置的精准性? 立即下载

近几年来在计算机语言排行榜上成长最快的语言就是 Go 语言。它勇往直前势如破竹,从几年前的 50 名之外快速跃进前十的宝座,而且还在马不停蹄向上攀登。

大家都知道 Go 语言是 Google 推出来的,它是由 Google 包养了一群骨灰级程序员组成了一个叫着「Go Team」的精英团队共同打造。这个队伍里有鼎鼎大名的 Unix 操作系统发明人 Ken Thompson,大胡子形象的他在人群之中拥有极高的辨识度。Ken Thompson 今年已经 75 岁了,刚参与 Go 项目时他正处于个人职业生涯的半退休状态,头发几乎全部掉光。

       640?wx_fmt=jpeg      

这个队伍里还有另外一个其貌不扬头发不多的灵魂人物,从 Go 团队建立之初,他就一直在里面了。这个人名气没有 Ken Thompson 那么大,知道他的人并不是太多,而这个人其实才是 Go 语言「元团队」里最为核心的人物 ,他就是今天要讲的程序英雄 —— 加拿大人 Rob Pike。

       640?wx_fmt=png      

我们现在看到的他已经是一个 60 多岁的老头了,年纪虽然只有我们的 2 倍多一点,但是在程序界工作的经验已经是我们大多数人的 5 ~ 6 倍。我们中国的程序员多半工作了十多年就几乎不愿再继续写代码了,但是他整整写了40多年还没有金盆洗手。别看他现在头发已经掉光了,遥想当年,他的头发也曾茂密过,从照片中看似乎还是一个不错的帅哥。

       640?wx_fmt=jpeg      

他来 Google 之前一直在贝尔实验室捣鼓它的 Plan9 操作系统,虽然几乎没人听说过世界上还有这么一个操作系统,Plan9 这个项目已经活了很多年,到现在还有不少人在继续维护,Plan9 的官方主页是 https://9p.io/plan9/。我翻阅了官网上对 Plan9 的说明文档,里面有关 Plan9 的论文多达几十篇,这些论文中 Rob Pike 的名字署满了近一半。这足以说明 Rob Pike 不容小嘘,他就是 Plan9 操作系统的灵魂人物。

       640?wx_fmt=png      

他是一个全能型程序员,从操作系统写到编译器,又从文本编辑器写到了 UI 界面。看到 Rob Pike 的伟大功绩,我不免要开始感叹自己的渺小,在他老人家面前我就是一个小学生 —— 都不如。

我本以为他只是一个单纯的程序员,但是查阅资料后发现,他居然还是一位业余天文学家,发明过珈玛射线射电望远镜。

       640?wx_fmt=jpeg      

更要命的是他还参加了 1980 年的奥运会射箭项目夺得了银牌。

       640?wx_fmt=gif      

1990年他上了电视,参与了大卫莱特曼的电视节目《Late Night with David Letterman》。

       640?wx_fmt=jpeg      

他写过两本书,分别是《Unix 编程环境》和《程序编程实践》,感兴趣的同学可以买来读一读,字字珠玑,读后必定受益匪浅。

他说过一句话让我等数据结构学的很一般的后辈特别受鼓舞 ——  只要掌握了数据结构中的四大法宝,就可以包打天下,他们是:array 、linked list 、hash table、binary tree 。这四大法宝可不是各自为战的,灵活结合才能游刃有余。比如,一个用 hash table 组织的 symbol table,其中个个都是由字符型 array 构成的 linked list 组成的。

他和 Linus 大神有相似的观点 —— 以数据为中心。如果已经选择了正确的数据结构并且把一切都组织得井井有条,正确的算法也就不言自明。编程的核心是数据结构,而不是算法。

如果你喜欢玩弄高级的算法和数据结构,他说过的话可能会打击你 —— 花哨的算法比简单算法更容易出 bug 、更难实现。尽量使用简单的算法配合简单的数据结构。

在他心目中,他一直以 Ken Thompson 为自己的导师

在我加入贝尔实验室一年多后,我开始和 Ken Thompson 一起在开发一个针对由 Gerard Holzmann 设计的很小的图形化交换语言的即时编译器上做结对编程。我打字比较快,所以我坐在电脑前,Ken 站在我身后看我编程。我们开发的很快,但经常会遇到问题,而且可以看出来出错了 —— 毕竟这是一个图形化的编程语言。当程序出错时,我本能的一头扎进问题,检查报错跟踪信息,添加调试打印语句,启动调试器,等等,但 Ken 只是站在那思考,完全不理会我也不查看我们写的出问题的代码。一段时间后我发现一个规律,Ken 经常会比我先找到问题出在什么地方,而且会突然的喊一嗓子,“我知道什么地方的问题了。”每次他的判断都很准确。我认识到,Ken 已经在脑海里构建了代码的模型,当有问题出现时,那是他脑子里的模型出了问题。在思考为什么会发生这些错误时,他能凭直觉找到模型中什么地方不对或发现写的代码跟这个模式什么地方有出入。

  Ken 教会了我一个极其重要的习惯:纠错前先思考。如果你一头扎进问题中,你可能只解决了当前出现问题的代码,但如果你先思考这个错误,这个 bug 是怎么引入的?你通常发现和纠正一个更高层次的问题,进而改进了系统设计,防止了更多 bug 的出现。

  我认识到这种编程思考模式非常的重要。有些人痴迷于一行行的、使用各种工具来调试所有的东西。但我现在相信,思考 —— 不看代码的思考 —— 是最好的调试途径,因为它能让你开发出更好的软件。

他和 Ken Thompson 一起发明了全世界无猿不知的 UTF8 编码格式。在前沿科技的量子计算和通讯领域也做过一些深入研究。

       640?wx_fmt=jpeg      

通过仔细翻阅他在贝尔实验室的个人主页,我发现 在 2003 年发起了一次严重车祸 —— 下坡的时候他从自行车上摔了下来!摔断了三根肋骨、锁骨碎裂、肩胛骨纵向分裂。辛亏当时带了头盔,不然有没有今天的 Go 语言都不好说。事后他饶有兴趣地将自己骨头的 X 射线底片放到了个人博客上和粉丝们一起仔细研究观赏。

       640?wx_fmt=jpeg      

感兴趣的同学可以点击「阅读原文」欣赏原汁原味的 Rob Pike 个人简历页,地址是 http://herpolhode.com/rob/。我不是很能理解 Rob Pike 为什么将上面的虫子作为个人主页的头像。

640?wx_fmt=jpeg

关注公众号「码洞」,催更《码农群英传》

科技中介服务机构在协助企业对接科研成果时,如何提升服务响应速度与专业化水平.docx 科技中介服务机构在协助企业对接科研成果时,如何提升服务响应速度与专业化水平 立即下载

相关推荐

国央企创新负责人在推动内部技术成果转化与外部协同创新时,如何实现资源的高效整合与协同联动?.docx

国央企创新负责人在推动内部技术成果转化与外部协同创新时,如何实现资源的高效整合与协同联动?

TIOBE 4 月榜单:少儿编程语言 Scratch 进入 TOP 20

转存失败重新上传取消 TIOBE 最近公布了2020年4月编程语言排行榜啦,你们看了吗? 四月榜单Scratch、SQL、Go、Swift 和 R 语言等有明显的上升趋势!但不可思议的是这个旨在教育孩子的编程语言—— Scratch 竟然在本月进入了 TIOBE 指数前 20! 对于这个疑惑,TIOBE的的软件首席执行官Paul Jansen 给我们做...

人邮异步社区 827

两路半桥LLC谐振变换器软开关Simulink仿真(模拟谐振参数不同、分裂电容)

内容概要:本文介绍了“两路半桥LLC谐振变换器软开关Simulink仿真”资源包,重点在于基于Simulink平台对两路半桥LLC谐振变换器进行高精度建模与动态仿真,特别考虑了谐振参数不一致及分裂电容等非理想工况对系统性能的影响。该仿真模型不仅涵盖了主电路拓扑、软开关实现机制与谐振网络设计,还深入分析了不同参数配置下系统的启动特性、稳态效率、动态响应及软开关条件的满足情况。通过参数扫描与对比仿真,帮助用户掌握LLC变换器的关键设计要素与优化方法,具备较强的工程指导价值和科研教学意义。; 适合人群:电力电子、电气工程及其自动化等相关专业的高校师生,以及从事高频开关电源、新能源变换器、车载充电机等领域的研发工程师和技术人员。; 使用场景及目标:① 掌握两路并联半桥LLC谐振变换器的建模与仿真方法;② 理解软开关技术在提升变换器效率与降低EMI方面的关键作用;③ 分析谐振参数偏差与分裂电容结构对系统均流特性、增益曲线及软开关范围的影响;④ 支持科研项目中的拓扑验证、控制策略开发与故障工况分析; 阅读建议:建议结合Simulink仿真模型与配套说明文档进行学习,重点关注谐振腔参数设置、驱动时序设计及软开关波形观测;可通过调整谐振电感、电容值或引入参数失配,观察系统行为变化,深入理解LLC变换器的稳定边界与优化设计原则。

《码农群英传》连载(一) —— Go 语言之父 Rob Pike

近几年来在计算机语言排行榜上成长最快的语言就是 Go 语言。它勇往直前势如破竹,从几年前的 50 名之外快速跃进前十的宝座,而且还在马不停蹄向上攀登。 大家都知道 Go 语言是 Google 推出来的,它是由 Google 包养了一群骨灰级程序员组成了一个叫着「Go Team」的精英团队共同打造。这个队伍里有鼎鼎大名的 Unix 操作系统发明人 Ken Thompson,大胡子形象的他在人群之中拥...

weixin_33881041的博客 294

双向全桥CLLC谐振变换器仿真模型(Simulink仿真实现)

内容概要:本文系统介绍了双向全桥CLLC谐振变换器的Simulink仿真模型,重点阐述了变频控制、闭环仿真及其与多种电力电子拓扑(如维也纳整流器、DAB变换器、图腾柱PFC等)的联合仿真设计。资源包涵盖2.5kW双向全桥LLC、V2G电动汽车充放电系统、三相PFC、多相交错LLC等多种变换器的仿真案例,并深入展示了三电平VIENNA整流器在双闭环PI控制与SVPWM调制策略下,结合上下电容电压差值补偿实现中点电位平衡的先进控制方法。通过仿真验证,该策略不仅有效维持了800V直流母线电压的稳定,还在动态工况下显著提升了电容电压的均衡度,同时保持了较低的输入电流THD,充分体现了SVPWM与中点平衡控制协同优化的技术优势。; 适合人群:具备电力电子与自动控制理论基础,从事新能源发电、电动汽车、工业电源、微电网等领域的研究生、工程师及科研人员。; 使用场景及目标:① 学习并构建高频谐振变换器(如LLC、CLLC)的Simulink仿真模型,掌握其变频与混合控制策略;② 深入理解并应用中点电位平衡、双闭环PI控制、SVPWM调制等核心技术于VIENNA等三电平变换器中;③ 复现高水平期刊论文中的控制算法,服务于科研项目申报、学术论文撰写或工程产品开发。; 阅读建议:该资源为综合性仿真资料库,建议使用者结合自身研究方向(如电动汽车充电、新能源并网)选择对应案例进行精学,重点关注控制策略的设计逻辑、仿真参数的整定方法以及SVPWM与中点平衡的协同机制,并充分利用附带的计算书和参考文献深化理解,以实现从仿真模型到实际工程应用的顺利转化。

全桥LLC谐振(变频+移相混合控制)变换器闭环仿真模型(Simulink仿真实现)

全桥LLC谐振(变频+移相混合控制)变换器闭环仿真模型(Simulink仿真实现)

想成为牛逼程序员? 先数数编程语言之父们的头发

点击有惊喜 有一种生物,人称“程序猿” or “攻城狮” 工作是高端大气上档次,工资是低调奢华接地气! 往往城还没攻下来,头发就先掉下来! 世人眼中的当程序员的必经之路是这样的 找不到女朋友的原因是这样的 事实是否如上所说的那样呢?那就不得而知了,不过深入了解了解那些编程语言之父们头顶的雨林是否茂盛,以及他们的丰功伟绩,没准能得出什么

qq_39954022的博客 4643

虚拟同步发电机(VSG)惯量阻尼自适应控制仿真模型(simulink仿真实现)

内容概要:本文提供了“虚拟同步发电机(VSG)惯量阻尼自适应控制仿真模型”的Simulink仿真实现方法,系统阐述了如何通过仿真手段研究VSG在电力系统中的动态响应特性,重点聚焦于其惯量与阻尼的自适应控制策略。文中详细说明了模型构建流程,涵盖控制算法设计、参数调节、根轨迹分析等内容,并通过对比不同调节系数下的系统响应,深入探讨了控制参数对系统稳定性与动态性能的影响。该仿真模型有效复现了VSG模拟传统同步发电机惯性与阻尼特性的能力,对于提升新能源并网系统的频率稳定性和抗扰动能力具有重要研究价值。; 适合人群:具备电力系统、自动化或相关领域基础知识,从事新能源并网、微电网控制、电力电子与电力系统仿真研究的研究生、科研人员及工程师。; 使用场景及目标:①用于教学与科研中深入理解虚拟同步发电机的工作原理及其在现代电力系统中的应用;②为新能源发电系统接入电网时的稳定性分析与控制策略设计提供仿真验证平台;③支持对VSG控制参数进行优化,提升系统应对负荷波动和扰动的能力。; 阅读建议:建议读者结合Matlab/Simulink软件动手实践,按照文档结构逐步搭建仿真模型,重点关注控制环路设计与参数整定部分,同时参考提供的代码与仿真结果进行对比分析,以加深对VSG自适应控制机制的理解。

各大语言之父,你认识几个?Python之父,头发最茂盛?

前段时间网上流传着各种程序员面试视频俗话说:人不可貌相而在程序员这个神秘的行业却可以 貌 取 人☟☟☟☟☟☟不经意间带走面试官过所有的矜持gay gay的惹人可爱有木有今天带大家盘点那些编程语言之父头顶茂密指数以及他们的gay气指数vb.net之父gay气指数:★★☆☆☆头顶茂密指数:☆☆☆☆☆Alan cooper大佬如此稀疏的发量在指引的道路上应该熬过不少的日日夜夜而从他慈祥而带有一丝羞涩的微...

weixin_30338481的博客 1398

两相交错并联Boost电路仿真模型(Simulink仿真实现)

内容概要:本文介绍了“两相交错并联Boost电路仿真模型(Simulink仿真实现)”的技术资源,属于电力电子变换器领域的仿真研究内容。该模型基于Simulink平台构建,旨在深入分析两相交错并联Boost电路的工作原理、动态响应特性及控制策略。交错并联结构通过错开各相开关管的导通时刻,有效降低输入电流纹波、提升系统效率与功率密度,适用于中高功率DC-DC变换应用场景。资源包含完整的主电路建模、PWM驱动信号生成、闭环控制器设计(如电压/电流双闭环控制)等关键模块,并可能涵盖软启动、均流控制等关键技术问题。整个仿真模型强调理论分析与工程实践的紧密结合,不仅有助于理解电路基本行为,也为优化控制算法提供验证平台,服务于科研与教学需求。; 适合人群:电气工程、自动化、电力电子及相关专业的高校本科生、研究生,以及从事电源系统研发的工程技术人员,具备一定的电路理论、自动控制原理和Simulink仿真基础者更佳。; 使用场景及目标:① 学习和掌握两相交错并联Boost电路的拓扑结构、工作机理及性能优势;② 利用Simulink进行电力电子电路的建模与仿真,深入理解PWM控制、闭环调节、均流控制等核心技术的应用;③ 为科研项目、课程设计或毕业设计提供可复用的仿真案例和技术支持,辅助开展中高功率电源系统的创新设计与优化研究。; 阅读建议:建议结合Simulink软件动手搭建并调试模型,通过调整占空比、开关频率、电感参数等变量,观察其对输入电流纹波、输出电压稳定性及动态响应的影响,以深化对电路特性的理解;同时可参考文中列出的其他相关资源(如LLC、PFC等仿真模型)进行横向对比学习,拓宽电力电子系统设计视野。

区域电网含风光火压缩空气储能抽水蓄能以及电化学储能的联合调度,加入IEEE39系统,进行潮流计算,分析电能质量研究(Matlab代码实现)

内容概要:本文研究了包含风能、太阳能、火电以及压缩空气储能、抽水蓄能和电化学储能等多种能源形式的区域电网联合调度问题,通过将系统接入IEEE 39节点标准测试系统,利用Matlab平台开展潮流计算与电能质量分析,旨在提升高比例可再生能源接入背景下电网运行的稳定性与供电品质。研究重点涵盖多类型电源与多种储能系统的协调优化调度策略设计,深入探讨储能系统在削峰填谷、平滑新能源出力波动方面的关键作用,并对复杂运行工况下电压偏差、频率波动、谐波污染等电能质量问题进行评估与改善。通过构建完整的仿真模型,系统性地分析了联合调度对电网电能质量的影响机制,为现代电力系统中多能互补与协同控制提供了理论依据和技术参考。; 适合人群:具备电力系统分析、优化调度及电能质量相关基础知识,熟悉Matlab/Simulink仿真环境的研究生、科研人员及电力系统相关领域的工程师。; 使用场景及目标:①为含多种储能的区域电网联合调度研究提供完整的Matlab仿真案例与开源代码参考;②分析大规模新能源接入对IEEE 39系统潮流分布及电能质量的综合影响,并定量评估不同类型储能系统的调控效果;③为电力系统优化调度、电能质量综合治理、多能协同控制等学术研究与工程项目提供可复现的技术支撑与解决方案。; 阅读建议:本资源以Matlab代码实现为核心,读者应在掌握电力系统基本理论的基础上,重点关注联合调度的数学建模过程、储能系统充放电策略的制定逻辑以及电能质量各项评价指标的计算方法。建议在学习过程中动手调试仿真代码,尝试调整系统参数、优化目标权重或改变新能源渗透率,以深入理解系统动态行为与控制策略的有效性。

Rob Pike的五大编程原则

原则 1 你没有办法预测每个程序的运行时间,瓶颈会出现在出乎意料的地方,所以在分析瓶颈原因之前,先不要盲目猜测。 原则 2 测试(measure)。在测试之前不要优化程序,即使在测试之后也要慎重,除非一部分代码占据绝对比重的运行时间。 原则 3 花哨的算法在 n 比较小时效率通常比较糟糕,而 n 通常是比较小的,并且这些算法有一个很大的常数。除非你确定 n 在变大,否则不要用花哨的算法。(即便 n...

hrx-@@ 533

Windows下PaddleOCR GPU版环境搭建全攻略(含CUDA 11.7避坑指南)

本文提供了一份详尽的Windows平台PaddleOCR GPU版环境搭建指南,重点涵盖CUDA 11.7与cuDNN的版本匹配、环境变量配置及常见避坑方法。通过使用Conda创建虚拟环境并安装匹配的PaddlePaddle-gpu版本,最终实现GPU加速的OCR推理,帮助开发者构建稳定高效的开发环境。

docker7nomad的博客 752

Golang——Go语言发展史(一)

一、前言 个人认为:作为一名语言爱好者,需要了解到一门语言的发展史(当然这个在面试的时候属于拓展话题,会让面试官眼前一亮)。如果单纯停留在使用者的角度, 二、

九天揽月 5519

别再只看读写速度了!聊聊手机闪存eMMC、UFS3.1和SSD背后的功耗与体积玄学

本文深入探讨手机闪存技术eMMC、UFS3.1和SSD在功耗与体积设计上的关键差异。通过对比接口技术、封装工艺和温度管理,揭示移动存储如何在有限空间内平衡性能与能效,为消费者提供选购参考。重点关注UFS3.1的差分信号设计和全双工架构带来的显著优势。

weixin_27061475的博客 449

HyperMesh二次开发实战:自动化Comp与材料属性批量绑定

本文详细介绍了HyperMesh二次开发中自动化Comp与材料属性批量绑定的实战技巧。通过TCL脚本实现批量创建属性卡、智能材料分配和异常处理,大幅提升前处理效率,适用于汽车、航空航天等领域的复杂模型处理。

weixin_29214691的博客 693

各种计算机编程语言之父

Java之父   詹姆斯·高斯林  James Gosling C语言之父                 丹尼斯·里奇                      Dennis MacAlistair Ritchie c++语言之父             本贾尼·斯特劳斯特卢普     Bjarne Stroustrup C#语言之父               安德斯·海

AddisonDing的专栏 4400

工业级AI智能体落地:OpenClaw+ONNX Runtime全栈部署,端到端延迟压至12ms

OpenClaw+ONNX的组合为工业AI智能体的落地提供了一套完整、高效、安全的解决方案。它解决了传统云端智能体在工业场景中面临的延迟、安全和稳定性问题,实现了本地数据闭环和毫秒级响应。未来,随着边缘计算和轻量级大模型技术的发展,工业AI智能体将变得更加智能和强大。我们可以预见,在不久的将来,工厂里的每一台设备都将拥有自己的AI智能体,它们能够自主感知、自主决策、自主执行,真正实现工业生产的全自动化和智能化。👉 点击我的头像进入主页,关注专栏第一时间收到更新提醒,有问题评论区交流,看到都会回。

2601_94871597的博客 736

Go 为什么能成功?Rob Pike 认为做了这 5 件事

点击上方蓝色“Go语言中文网”关注我们,领全套Go资料,每天学习Go语言俗话说,历史虽然不会重演,但总是惊人的相似!如果您想创建一门成功的编程语言(或者至少了解该如何做),那么向其他有这方面经验的人学习是非常有价值的。在《Go Time》第 100 期中,Rob Pike 和 Robert Griesemer(Go 的两位创建者)一起探讨了 Go语言的成功经验。以下是 Rob Pike 在演出...

Seekload 349

redhawk:Low Power Analysis

1.rush current与switch cell 在standby状态下为了控制leakage power我们选择power gating的设计方式,使用power switch cell关闭block/power domain的电源。 power switch的基本介绍可见: 低功耗设计-Power Switch power switch的table中有四种状态,对应block工作、待机和上电,下电。low power analysis主要分析上电的过程。 上电过程可以看做mos电容

m0_61544122的博客 3206

【数字IC基础】DFT(Design For Test)可测性设计

【数字IC基础】DFT(Design For Test)可测性设计

努力,加油每一天鸭~ 3467

Python 之父退休,C 语言之父与世长辞,各大编程语言创始人现状大曝光!

爆品直降100元,立即点击图片抢购作者| 年素清责编| 伍杏玲出品 | 程序人生(ID:coder_life)从世界上第一台计算机(ENIAC) 于1946年2月在美国诞生至今的七十多年里,涌现出了许多优秀的计算机编程语言。程序员们在使用它们编写程序的时候,一定很好奇发明这些语言的发明者背后的故事,以及他们现状,是像Python 之父一样功成身退,还是继续奋战在编程一线。为此,笔者特地盘点了几...

程序人生的博客 1584

企业级AI平台架构设计:AI应用架构师的未来趋势

企业级AI平台是AI从“实验室”走向“生产线”的关键,而AI应用架构师就是这条“生产线”的总设计师。未来,随着生成式AI、边缘计算、自治式AI的发展,架构师的角色将越来越重要——他们不仅要构建技术平台,还要连接技术与业务,让AI真正创造价值。“不要做‘只会调模型的工程师’,要做‘能解决业务问题的架构师’。因为,真正有价值的AI,从来不是“最先进的模型”,而是“能落地、能复用、能创造业务价值的平台”。愿你在企业AI转型的浪潮中,成为那个“搭建桥梁的人”——连接技术与业务,连接现在与未来。

小程序开发 973
上一篇: 人生苦短我用Python?No!学习Python的真正理由其实是
下一篇: 不安分的 Go 语言开始入侵 Web 前端领域了
码洞
博客等级 码龄10年 41粉丝 137原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值