0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

河套IT TALK——TALK 10:编程的技术|艺术|术术 中篇:编程的思想、艺术和哲学

共熵服务中心 来源:未知 2022-12-12 21:25 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

5f919988-7a1f-11ed-8abf-dac502259ad0.png

往期回顾

TALK 6:编程的技术|艺术|术术(上篇)骨灰级程序员的心路历程

前期回顾

篇里,骨灰级程序员梁峻墅给大家介绍了他的心路历程,以及他对程序员文化和武林文化的理解。本篇将继续请大神和我们一起聊一聊编程的艺术和哲学。

5fa4170c-7a1f-11ed-8abf-dac502259ad0.png

编程的思想境界和层次

上篇的段子讲完了,现在进入正题:编程的终极奥义到底是什么?

我理解只有思想恒久远,代码才能永流传。因为编程就是把人类的语言给转换成计算机能执行的机器语言,本质就是一种翻译工作,但翻译的水平也是有高有低的。

像电影《Sucker Punch》是一部非常有创意的内涵思想片,还能融合梦幻、魔幻、科幻、暗黑、伦理、动作、微色情、小萝莉、暴力美学等多种元素做到雅俗共赏,不同层次的人都能从这部影片中获得不同的乐趣。

但这部电影在华语区的票房惨淡,就是由于译名问题,该片的价值被严重低估。台湾翻译为《杀客同萌》,基本做到了意音具备,就是神还差点。但看看大陆翻译为《美少女特攻队》是几个意思,让人以为是二次元动画片。再看看香港的翻译《专扁衰仔》,你就知道没文化有多可怕,扎克·施奈德估计直接哭晕在厕所里。翻译的思想高度不同,对作品的理解深度不同,翻译的质量是天壤之别。而对于像编程如此缜密的翻译工作,那更是需要蕴含深刻的思想才能做得更好。

既然谈到思想,就要谈到思想的境界。

603d5b24-7a1f-11ed-8abf-dac502259ad0.png

我理解编程的境界有四层,借用孙子兵法,分别是:下兵伐城中兵伐谋上兵伐心不战而屈人之兵为超然

第一层:下兵伐城

很多程序员,一接到编程需求,就立刻启动开发环境,开始编程敲代码了。这就是没什么想法,先干起来再说,编到哪儿算哪儿。面向交付编程,只为完成功能,头痛医头,脚痛医脚。一路攻城略地,好不威风,但这只能算初级水平。

第二层:中兵伐谋

拿到需求之后,不着急动手,先开始思考,开始谋划,应该走什么技术路线,结合哪些已经做过的代码,还应使用哪些技术手段来快速、轻松地完成这个需求。这个层面的程序员已经开始不靠纯技术硬扛需求,而是开始艺术性地解决问题。大家拼的不是能不能解决问题,而是看谁解决问题的成本最低。像中医那样,并不直接治病,而是阴阳调和,打通经脉,调动自身免疫系统,四两拨千斤,这已经开始有中国式智慧的味道了。这种人经常在计算机旁边呆坐半天,即使表面上在和你说话,但其实脑子里在伐谋呢,所以经常表达古怪,被认为是书呆子。

第三层:上兵伐心

这种人已经能看到文人的清风傲骨,在更高的战略层面思考解决问题的时空成本,包括但不限于时间成本、分析成本、设计成本、编码成本、调试成本、部署成本、维护成本、用户的使用成本、资源的调配成本、社会的综合人文成本等等,得到结果后会产生一个灵魂拷问:“为什么要解决这个问题?能不能不解决?”带有原罪的需求都挺不过这个终极审判。比如很多需求,只是貌似合理,但实际上是伪需求,顶尖的高手能够抽丝剥茧,发现需求的逻辑矛盾和漏洞,并能综合运用各种手段,甚至包括非技术手段来及时纠偏。比如做MIS系统的时候,客户方的办公自动化系统需求很简单,就是把现有的管理规章制度全部用计算机程序实现一遍。这个需求貌似天真无邪,但实际上它忽视了人机之间的差异和特点。比如对人工作业,为达到作业合规的要求,管理规章制度中就要有反作弊措施,各个相关部门还都要有作业数据备份,以便将来发现问题倒查时可以对口供。但对IT系统,用户都有登录ID,作业都有事务ID,交互都有会话ID,存储都是一体化的,根本不需要那些画蛇添足的步骤。顶级的程序员就会庖丁解牛般地优化管理流程,引导需求合理化,节省了大量的研发资源、应用资源和社会资源。可能只需要修改管理规章制度的几十个字,就能少写几万行代码,bug能少几百个,部署维护能少几个月,用户每天能少点击数千次鼠标。通过少编程,甚至不编程就能解决问题,才是最牛逼的境界。

第四层:不战而屈人之兵

终于来到最最牛逼的境界——不战而屈人之兵。前面三层境界,也就是在满足需求、预测需求、引领需求上做文章,毕竟都是咱们这个世界可以理解的事。而最高境界已经跳出三界之外,不在五行之中,已经无法理解了。

看个场景先:小白最近代码输出太少,说机器频繁死机,耽误了工作。大牛对着机器,上去就是一脚,从此再不死机了…天理何在?小白不服啊,碰上死机的机器也来一脚,结果当天就去财务领工资了…天理难容!虽然都是人,但差别就这么大,找谁说理去。

再看段对话:

  • 小白:“哥,我做的那个模块总是有bug,调试两三天了,一直找不到原因,您有空帮我看看呗。”

  • 大牛:“走”

  • 来到现场。

  • 小白:“您看这…”

  • 大牛:“别急,从头开始把错误给我演示一遍”

  • 小白:“好嘞”

  • 一个小时过去了…

  • 小白:“我call,怎么不出来了呢?大哥,我发誓我找你之前还复现过一次错误”

  • 大牛:“没事,我已经习惯了,等再出错,保留现场,call我”

然后就没有然后了,因为再没出过错!

大牛只要头皮更出众,那就bug去无踪,所有的大牛都有这样的体验。我理解大牛都是有超自然的气场,常年抓bug,戾气太重,bug都吓跑了!不管你们信不信,我反正是信了。这就是最高境界,什么都不用干,坐在那儿喘气就能解决问题……

编程的技术

说完前面那些思想和层次,现在咱们来谈点真正有用的编程技术。

编程有着悠久的历史,大约在137亿年前,奇点大爆炸,咱们人类不幸处在这个由时间和空间组成的万恶世界,空间可以理解为除时间之外的一切,时空之间不断相互转换,对称规则让整个世界动态守恒。闲的蛋疼的意识们企图把这个混沌的世界按自己的想法有序化,世界则按规则自动产生了无序与之平衡。

说这么累的意思就是,程序员编程的一生都要与bug为伍,不要害怕它,也不要想着完全消灭它,而是想办法与它和谐共处,人bug合一。

第一就是尽量减少bug产生的机率。毕竟人少了才好相处,人太多了则很难伺候。谈过女朋友的,应该都有体会。你每敲一次键盘,都有可能产生bug。所以,每次敲代码时,应该多想想自己的祖国、各族人民的福祉,董存瑞、刘胡兰等民族英雄的期许,还有自己父母的厚望,这次键击是不是真的对的起他们!都说头上三尺有神灵,但咱们程序员头上三座大山全是虎视眈眈的bug,你稍不留神,它们就会顺着键盘潜入到你的代码里,且按且珍惜。

第二,让bug举步维艰,无处遁形。败兵先战而后求胜,胜兵先胜而后求战。经常打败仗的人总是先打再说,然后企图侥幸取胜;而常胜将军都是先不断创造胜利的条件,已经胜券在握了才开战!编程的基本技术就是要编写低bug代码,一切为了debug,所有的代码都要为调试做好准备。说这些战术级技巧的理论只会隔靴搔痒,后面会结合具体的代码讲解,大家才会更有感觉,点到为止先。

编程的艺术

其实任何一门技术,上升到一定层次后,都会变成一门艺术。编程也是如此。

我们在这个时空世界里,都有自己的当前态和目标态,但无论哪种态都有自己的时空坐标,代码就是企图让这两个态的坐标重叠,而实现重叠的路径是无穷无尽的,但一定至少有一个最佳实现路径。代码的艺术,就是实现这个路径的策略,在空间与时间之间做权衡,要么时间换空间,要么空间换时间,变换到下一个态,不断重复这个过程,直到到达目标态。换成人话就是:所有的代码客观上只有特点,主观上的优点和缺点其实都是程序员意淫出来的,优点都是用缺点换来的,缺点都是优点导致的,优点和缺点实际上是一回事,只是意淫角度不同而已。

比如,总有人说UNIX/Linux比Windows更安全,而这根本不是技术的问题,而是艺术的问题。UNIX/Linux是个悲观型操作系统,假设用户都是坏人,系统默认什么都不能干,除非明确指出这个用户能干什么;而Windows是个乐观型操作系统,假设用户都是好人,系统默认什么都能干,除非明确指出这个用户不能干什么。所以在默认情况下,UNIX/Linux适合做机机交互,典型应用于服务器,而Windows适合做人机交互,典型应用于个人计算机。但这些特性都可以通过配置安全选项,把Windows操作系统变的比Linux/Unix操作系统还安全,也可以把Linux/Unix操作系统变的比Windows操作系统还不安全。这都是艺术的事,与技术无关,但比技术还重要。

代码的艺术性范围很广,包括但不限于默认值、参数、接口等具体设计,这些都可以在后面的代码讲解中让大家好好爽一把。

编程的术术

艺术是技术的抽象,术术则是艺术的再抽象,这部分内容我将尽量说人话。

我理解程序员在编程的时候,要意识到这些代码是面向开发者的,面向你的同行,是给他们看的。代码在举手投足之间,要透露出一种优雅的美,人见人爱,花见花开,车见车爆胎的那种。

举个例子:在做一个功能时,发现微软提供的系统API在某些特定条件下,返回值错误。怎么办?

基层小鬼:匹夫之勇,自己重新实现一遍该API的功能,结果是除了测试路径能覆盖的条件外,其他条件下全是bug。

中层干部:骚人墨客,给微软报告这个bug,等待官方临时解决方案,合规但官僚。

高级货:清风仙骨,给微软报告这个bug,但顺手写下解决方案。前置侦测代码,检测此API是否已修复这个问题,如果已修复则正常执行,否则执行纠偏代码。这样无论是现在还是以后,这段代码都可以稳定正确地运行!万花丛中过,片叶不沾身,这就是优雅。

终极杀手:不讲武德。还记得前面说的那个靠喘气就能解决问题的主吗?他会怎么解决?他就不解决!对,你没看错。他选的技术路线都是用5到10年前的API,坑都已经被小白鼠们填平了,他压根儿就碰不上这种破事。最优雅的美就是你看不出他哪儿美,但他就在那儿闲看庭前花开花落,漫看天外云卷云舒。

未完待续……

614ba02a-7a1f-11ed-8abf-dac502259ad0.gif

61606e06-7a1f-11ed-8abf-dac502259ad0.png

61835100-7a1f-11ed-8abf-dac502259ad0.png

6195855a-7a1f-11ed-8abf-dac502259ad0.png61aabd3a-7a1f-11ed-8abf-dac502259ad0.png

61c1a806-7a1f-11ed-8abf-dac502259ad0.png

629ebbc4-7a1f-11ed-8abf-dac502259ad0.png

62e407ec-7a1f-11ed-8abf-dac502259ad0.png

62fa4eee-7a1f-11ed-8abf-dac502259ad0.png

639319e4-7a1f-11ed-8abf-dac502259ad0.png


原文标题:河套IT TALK——TALK 10:编程的技术|艺术|术术 中篇:编程的思想、艺术和哲学

文章出处:【微信公众号:开源技术服务中心】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 开源技术
    +关注

    关注

    0

    文章

    389

    浏览量

    8785
  • OpenHarmony
    +关注

    关注

    33

    文章

    3999

    浏览量

    21630

原文标题:河套IT TALK——TALK 10:编程的技术|艺术|术术 中篇:编程的思想、艺术和哲学

文章出处:【微信号:开源技术服务中心,微信公众号:共熵服务中心】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    BOE(京东方)以创新显示赋能2026横琴-澳门国际数字艺术博览会 开启科技艺术共生新篇章

    携尖端MLED数字化方案赋能“艺术未来式”展区,更将艺术与前沿技术融合,打造了“BOE OLED通透显示”沉浸式空间,以前沿科技深度赋能艺术表达,定义“科技
    的头像 发表于 04-28 12:47 163次阅读
    BOE(京东方)以创新显示赋能2026横琴-澳门国际数字<b class='flag-5'>艺术</b>博览会 开启科技<b class='flag-5'>艺术</b>共生新篇章

    BOE(京东方)携手美高梅亮相国际顶级艺术盛会

    3月27日,BOE(京东方)携手美高梅亮相在香港举办的国际顶级艺术盛会,双方联合打造的“M”形四折结构Mini LED创意显示装置成为全场焦点。该装置融合裸眼3D与8K超高清显示技术,以极具冲击力的视觉语言和工业美学,为全球艺术
    的头像 发表于 03-31 10:14 709次阅读

    免费申请开发板!Edgi Talk AI双核语音套件开源发布

    ,获取试用报名链接)概述:Edgi-Talk拓展板V1.0是一款面向嵌入式交互应用的多功能扩展板,集成语音交互、显示反馈、人机控制等能力,适用于语音终端、智能交互
    的头像 发表于 02-05 08:07 956次阅读
    免费申请开发板!Edgi <b class='flag-5'>Talk</b> AI双核语音套件开源发布

    深圳龙岗国际艺术中心携手华为开启智慧运营新篇章

    在深圳坂雪岗科技城的核心区域,龙岗国际艺术中心即将于1月30日开幕。龙岗国际艺术中心不仅是大湾区高水平的数字艺术殿堂,也与华为携手,依托AI、鸿蒙、5G、云计算、物联网、大数据等新ICT技术
    的头像 发表于 01-30 10:55 918次阅读

    研华与高美馆首度跨界合作 以边缘 AI 打造生成式艺术互动体验

    科技丰富展览的观展形式与互动体验。凭借研华产品边缘AI高计算效能,系统可在10秒内将观众影像与冯.沃尔夫的艺术语汇融合,生成具艺术家风格的专属角色形象,让观众体验艺术与科技的创新交织。
    的头像 发表于 01-26 16:42 687次阅读
    研华与高美馆首度跨界合作 以边缘 AI 打造生成式<b class='flag-5'>艺术</b>互动体验

    长城汽车致敬活字印刷暨归元平台全球首发

    2026年1月16日,“长城汽车致敬活字印刷暨长城归元平台全球发布”活动在中国木活字印刷活态传承地——浙江瑞安东源村,以及位于河北保定的长城汽车技术中心同步举行。央视总台主持人王宁与长城汽车董事长魏建军一同走进中国木活字印刷
    的头像 发表于 01-20 13:11 732次阅读

    灵境智源登陆香港国际AI艺术节,以具身智脑重构产业生态

    的国际盛会。灵境智源作为 专注具身智能算力底座系统的创新企业 亮相艺术节,并于同期举办的“机器人产业和AI投资论坛2025”中发声,展现中国在具身智能核心赛道的技术思考与产业布局。 智脑赋能:当机械臂学会“手语”,科技被赋予情感温度   展
    的头像 发表于 12-23 11:06 463次阅读
    灵境智源登陆香港国际AI<b class='flag-5'>艺术</b>节,以具身智脑重构产业生态

    索尼FCB-EV7520与USB编码板CM2001U重塑医疗野摄像新生态

    在医疗技术飞速发展的今天,野摄像系统已成为现代手术室不可或缺的核心设备之一。它不仅是手术过程实时记录、远程会诊协作的重要载体,更直接关系到手术精准度提升与医疗质量保障。索尼FCB-EV7520高清
    的头像 发表于 12-17 16:31 415次阅读

    告别 “导航错位”!智锐通 MIN-EC10 直击内窥镜中痛点,撑起精准手术 “视野伞”

    凭借其强大的硬件架构与灵活的系统适配能力,成功解决了传统中导航平台的核心难题,助力医生实现更精准、更高效的手术操作。
    的头像 发表于 09-29 17:55 5590次阅读
    告别 “导航错位”!智锐通 MIN-EC<b class='flag-5'>10</b> 直击内窥镜<b class='flag-5'>术</b>中痛点,撑起精准手术 “视野伞”

    扫描白光干涉在高精度表面测量中的应用

    扫描白光干涉(SWLI)是目前最精确的表面形貌测量技术之一,被广泛应用于工业与科研领域。从发明至今的三十余年间,在精密光学、半导体、汽车及航天等先进制造领域的需求牵引下,该技术不断取得新的进展
    的头像 发表于 08-05 17:54 1616次阅读
    扫描白光干涉<b class='flag-5'>术</b>在高精度表面测量中的应用

    探索扫描白光干涉:校准、误差补偿与高精度测量技术

    扫描白光干涉的快速发展,在制造业与科研领域的广泛应用中得到了验证,某种程度上成为了高精度表面形貌测量技术的标杆,尤其在半导体、精密光学、消费电子等产业的牵引下,其测量功能和性能得到持续提升。本期美
    的头像 发表于 08-05 17:53 1764次阅读
    探索扫描白光干涉<b class='flag-5'>术</b>:校准、误差补偿与高精度测量<b class='flag-5'>技术</b>

    eSUN易生:用3D打印材料重新定义先锋艺术语言

    eSUN易生通过哑光/夜光/透明等创新3D打印材料,赋能先锋艺术创作,实现复杂结构、光影交互与可持续表达,成为艺术家突破想象边界的数字雕刻工具。
    的头像 发表于 08-05 11:27 1120次阅读
    eSUN易生:用3D打印材料重新定义先锋<b class='flag-5'>艺术</b>语言

    《META THINKER人机共生》全球机器人博览艺术展发布会盛大举办

    共绘全球机器人与 AI人物博览艺术展新图景 2025年7月13日,《META THINKER人机共生》首次全球机器人博览艺术展发布会在复星艺术中心盛大启幕。本次发布会喆麦公关(ZHEMARK PR
    的头像 发表于 07-17 14:44 527次阅读
    《META THINKER人机共生》全球机器人博览<b class='flag-5'>艺术</b>展发布会盛大举办

    洲明光显亮相欧洲顶级影像艺术

    近日,作为国际摄影与视觉艺术盛会PHotoESPAÑA 2025的重要单元之一,视听作品《CHINA 354》在西班牙塞万提斯学院(Cervantes Institute)正式开放。作品由西班牙著名
    的头像 发表于 07-04 17:43 965次阅读

    NVIDIA AI如何助力艺术创意落地

    本次 GTC 将在欧洲著名艺术之都巴黎举办,特别策划的艺术画廊将展示 AI 如何助力创意落地,实现技术与灵感碰撞的愿景。
    的头像 发表于 06-12 15:26 1247次阅读