美文网首页
程序员的世界

程序员的世界

作者: 天行践 | 来源:发表于2022-04-04 22:48 被阅读0次

改变二十一世纪世界的强大力量是什么?

互联网首屈一指,从蒸汽时代到信息时代,再到智能时代和物联网时代。网络技术贯穿着互联网、电脑、移动手机、大数据、物联网、AI、VR等。当你看到我写下的这一篇文章及这一行行文字时,背后都有代码和程序的影子。

借助代码,程序员给我们创造出一个神奇的线上世界,后来又叫做云端。那么你可否想过程序的本质是什么。

我们先来看下程序的构成,任何程序的底层都是对设备的编码和转码,代码其实很简单就是0和1的组合。不过面向用户而言,对于使用者看到的是一个个操作界面和交互体验,比如单选后者复选按钮、文本输入框、提交按钮、选择列表等等。对于程序员而言,他们看到的是一行行代码,通过函数、对象、集合、数组等形式把一串串英文和数字的组合按照某一类编译语言的规则书写。只有到了计算机层面,任何指令和语言,最终都要变为最基本的0和1,才能进行计算机的运算和处理。

当初提出用二进制设计计算机底层运算逻辑,这个理念深深地影响了后来的技术。二进制的好处是简单,又与电路的基本开关逻辑相对应,倘若用五进制、十进制就会出现很多不同情况的转化,增加了整体的运算逻辑的难度。

铺垫这么多,程序员的世界是什么样的呢?

我们眼中的程序员是一群很严谨、逻辑条理特别强的人,他们很聪明,智商很高。他们很直接,因为与电脑的交流中最大的特点就是要准确的表达出自己的意图。其实这不是他们的全貌,当我翻开一本专门讲给程序员的书籍时,震撼之余,我开始重新认识这群精英。

这本书里一上来就不回避程序员的危机,指出程序员要及时发现变化并且提前应对,最让我意外的是,作者鼓励程序员去接触新的技术,每年学习不同的技术,这等于是在走出舒适区,勇敢面对新事物,别说程序员了,一般的职场精英也很少有勇气转化不同行业,挑战自己的陌生领域。当然这么做的好处是让自己保持变化心态,不被过去的优势和技能所困,培养自己的开放思维和新技能。

另外一个让我吃惊的是,作者极力鼓励程序员要跳出程序本身,技术肯定要过硬,但是也要有软实力,比如沟通能力、表达能力、社交能力等,这些能力看似是能言善辩的人特长,也有人说这是光忽悠不干活,而程序员都是埋头干活不善表达的,这两者有强烈的对比和差异。不过这些能力对于更好的开展项目和开发程序是大有益处的。软实力不一定都是忽悠,利用好了也是生产力和影响力。能够与客户有效沟通,跳出程序语言去用业务语言陈述和沟通,这本身就是一种抢手的技能。

程序员的世界最大的特点是确定性与不确定性的平衡。确定性是固化的需求,不确定性不仅仅是灵活的需求,还有隐藏的逻辑和关系。当然如果你还是觉得对程序员不了解,也可以把他们想象成一座城市的最高长官,他们要保证人群每天有序进城,也要保证他们在城里正常交易和买卖,最后有序出城。进城就是数据的输入,城里的交易和买卖就是数据的处理,而出城回家就是输出。一般来说输入往往是确定的,而输出也是相对确定的,但是交易却是充满不确定性的,如果事先规范了所有的交易条件、流程、标准,那么交易会一直按照预判正常开展,可是也会出现交易没有充分挖掘清楚,逻辑存在矛盾的地方,于是出现了暗交易,自然也就出现了不可控的流程和输出。

所以优秀的程序员总是在不断地思考的业务流程,而不是只盯着自己的程序逻辑。程序归根到底只是一个工具,背后使用工具的人和意图才是最值得关注和思考的。

基本以上的几点,我们总结下程序员的世界:

1.确定与不确定:他们生活在确定性与不确定性之间,技术的目的是增强确定性,从混乱走向规范,从分散走向整齐。他们的眼中不仅有层次分明的代码大厦,也增加了灵活多变的人情世故。

2.数学推理:他们最大的强项是数学分析能力,也就是抽象出数学模型,0和1本身就是数字,0和1的组合更是数学领域的范畴。他们的常用工具有对象、模型、流程、函数。

3.解题高手:程序员是什么,他们是一群不断地探索人类需求和技术实现之间平衡的人们,需求是一个变量,而无论多么先进的技术都是一个常量的有限的方法,所以他们也是在不断用有限的方法去解决看似无限的问题。

相关文章

网友评论

      本文标题:程序员的世界

      本文链接:https://www.haomeiwen.com/subject/ftuhsrtx.html