老程序员的信仰

今天在无意中接触到了Dapr,激起了一番新的学习兴趣,也是时候更新一下已经变得陈旧微服务架构套路了。但在此我并不想谈及任何关于微服务与架构的内容,而是在研究这方面的知识之时突然触动了我在哲学层面的思考。

近年一直沉浸在多语言、多范式、分布式与微服务架构的相关知识之中,跨语言多了、跨架构多了随着见识的增加,知识的积累回想从jQuery到Angular再到React最然后是Vue最后又是Yew前端并无什么让人很能激发起热情的技术的突破,不过也就是些换汤不换药的框架“玩具”。在架构上从java转c#然后是python、ruby再到现在的go和rust,在微服务架构层面到是让我付出了好几年的精力去追赶的技术的革新,看多了优秀的设计,模仿着前人的脚步干了这么多年,对众多的技术变更突然有种非常通达的感觉。

技术的更迭真有点像历史朝代那样:分久必合,合久必分;或者用更为准确的话来描述可以是:从简至繁、极繁至简

自己能看到这一点应该是由我的“信仰”所至,我是个无神论者,我所指的信仰只是在技术与学术层面的信仰。从20多年前进入技术领域时我就感到了这很像一个江湖,不同领域的人有各自的门派,语言发展得越快普及得越广门派就越多,每个人都有自己的绝活。不同门派之间都想共融,但心里却大多是想独霸江湖。只要有谁跳出来说哪个门派有些什么不好,很有可能就会被人群起而攻之,被疯狂恶评,一直生活不能自理。门派、宗教靠的就是信仰,有了信仰任何的缺点都不存在,用信仰就能统领疯狂的信徒们。

你可能会问:“你的信仰是什么?” ,我的回答不会与其它人有太大的差别,当下的这个技术浪潮之中没有多少人能独善其身。过去我不属于什么非常忠实的信徒,每个时期我所信奉的东西都不一样,可能是我这个人好奇心太大,哪个时期对什么产生了好奇就会短期内疯狂地相信那个东西可以改变世界,那个时期就会变成身为其最忠实的信徒,就好像当年学Java时它就是最美的语言,相信面向对面相信设计模式一切都可以被救赎;当完全坠入Linux的世界Python又变得无比的让人充满希望,世界又变得更加的宽广了;当用Go去改变我自己世界时又发现以前自己一直挂在嘴边的面向接口编程完全只是停留于表面,go才是面向接口的真神!最近又迷上Rust,那种若即若离、朦朦胧胧的美其在又让人无法释手;

换来换去的是不是我本来就像现实世界的真我那样是个完全没有“信仰”的人呢?我喜欢思考,能有结果的思考或者说在思维上的迭代可以让我有一种重生之感。我之所以不同的时期就会转入不同的领域是因为好奇心与危机感。如果一门语言用20几年,从好的方面说是专家中的专家,在履历上也可以写上个20年XXX语言开发经验,从反面来说20几年才会一种语言,见识也太狭隘了懂的东西一定不多,架构水平就更加有限了。用不同的语言、方法、架构折腾了那么多年,那我真正的信仰的是什么呢?我觉得直至今天才得到了一种顿悟,是“简单”!正如达芬奇所说:简洁是技术的终极

因为我内心中一直在追求着极至的简洁(甚至现在去写代码都会有代码洁癖,多一个符号多一个变量都得重构一下的地步),虽然“简洁”的极至在哪里我并不知道,也没有什么可衡量的标准,但它却成为了我20几年来一直不会放下技术的最大源动力,即使我可以让我的程序员或架构师去写代码,但我仍然喜欢加入到他们之中去享受那种共同战斗的快感。这应该是一种扎根于老程序员灵魂中的信仰驱动开发吧。

因为有信仰所以才会有信条,总结下我的开发信条:

  • 永远不重复自己 — DRY ;这是我第一信条,应该也是我有代码洁癖根源;
  • Simple is the best ! — 这应该是我老喜欢重构代码的原因;
  • 没有不可重构的代码,只是我的见识限制了我看到可重构的点;— 或者这是让我欲求不满的源头
  • 每掌握一门语言一个领域就等于推开了一扇窗;(我并不认为成为一个全端能有多难,读个大学也才需要几年,如果用一生的时间就可以享受学习更多语言带来的乐趣)

共勉!

posted @ 2021-12-23 12:17  Ray Liang  阅读(125)  评论(0编辑  收藏  举报