当然我所说的是内存栈的意思,其实“栈”就是个数据结构,是一种限定仅在表尾进行插入和删除操作的线性表,这个特性不正好是符合我刚才说的FILO嘛 。你要不信,随便找一个高档写字楼看看,看有多少程序员,然后又有多少人做的是核心技术,大部分恐怕都是增删改查 。
程序员为什么是个青春饭,而不是像医生律师一样越老越值钱?
我先后从事过机械、电气、信息技术行业,有对比才有伤害 。第一、程序员所涉及到的技术更新换代快,经验难以积累计算机编程,总共出来也才几十年,现在还在高速发展中,更新换代非常快 。从DOS编程到windows编程、Linux编程,再到移动端编程 。每一次跨度都非常大 。需要不断地熟悉不断变化的操作系统、编程语言虚拟机(或解释器)、框架、引擎 。
比方说你做安卓,得熟悉安卓操作系统,使用python,得熟悉python的解释器,使用spring框架,又得熟悉这一整套不断更新迭代的“大家伙”,做Web开发,还要遵循不断升级的Web标准 。好不容易学会了表格布局,结果出来一个div css,好不容易熟练了jquery,结果听说vue火了……在一个技术变成主流之后,之前好不容易积累的经验,就会变成过时的技术 。
比如说某个人现在40岁,那么他可能35岁之前学的东西都不值一文 。医生、律师、机械、电气则没有这个问题 。拿电气里面更新比较快的PLC编程来说,我接触20多年了,现在和以前,还是没有什么变化 。没有听说过哪个电气工程师20年前的经验过时了的说法 。既然经验难以积累,那自然不会越老越吃香了 。程序员也有过时比较慢的技术,比如系统底层开发、驱动开发、嵌入式开发、芯片开发 。
但是技术要求高,需求小,工资还不一定高(收入与市场高度相关) 。不是说技术难度越高收入就越高 。比如一个苦练20年的京剧艺术家的收入就不及一个只学过2年唱歌的流行歌曲明星 。第二、程序员试错成本低一个人在写代码时,会非常频繁地调试(debug)以及测试(test) 。它们的成本是如此的低廉!我写代码时,基本上不到两分钟就要debug或run一下 。
可以说,写的东西,立马就能看到效果 。如果写对了,或单元测试通过,皆大欢喜,如果报错了或结果不是预期,马上修改了再来一把 。但是,其他行业,就远远没有这么幸运了 。一个医生,不能对病人说,我没有把握,我给你开一剂药,咱们试一把;如果不行,咱再换一剂药 。病人不得骂死你啊 。电气上,大家把电线接好了,要开始合闸了,现在竟然谁也不敢合闸通电 。
这要是烧东西了谁负责呀?于是请来了最资深的电气专家坐镇,让他亲自检查、合闸 。试错成本低,导致了“老专家”的地位没有其他行业高,不容易受待见 。因为年轻人也可以上,错了就修改代码再来,bug嘛,没有什么大惊小怪的 。这不像医生、律师、机械、电气等其他行业,出了bug是要出人命的(包括律师的人命官司) 。这时候,经验比技术重要(因为没有试错论证机会) 。
一般年级大经验多,因为接触的案例多,遇到问题就参考经验做法 。不像程序员遇到问题,就搭建虚拟仿真环境,动手写代码调试一番,经验教训的作用被淡化 。第三、程序员的工作容易被推翻重来一个东西被推翻重来,就意味着这东西可能已经过时了,不再需要维护了,里面的细节就没有必要深究了 。如果是这样,那么老人的价值就会降低 。
代码重构是再正常不过的事,其成本相对其他行业要低得多 。有时候甚至就是翻天覆地的变化,基本是使用新编程语言重新实现了一遍 。京东、豆瓣、知乎、涛宝,等等,都不能例外 。我从事的机械行业,很多同事可以自豪地说,看,那台价值几千万的设备就是我10几年前设计出来的,它的每一个细节我都了如指掌 。但是信息技术行业,却很难如此 。
推荐阅读
- 是什么意思【图解 办宽带是什么意思
- 华为荣耀x10max是什么处理器 华为荣耀x10 max
- ppc是什么意思,ppc是什么材料
- youtube是什么,youtube是什么网站
- 外贸跟单的流程是什么,外贸公司的跟单流程包括
- 三洋洗衣机显示e1是什么故障
- 防盗门子母门是什么意思 子母门是什么意思
- 攻城掠地突击军是什么,古代是怎么攻城和守城的
- q195是什么材质的钢材 有什么特性 q195是什么材质的钢材
- 商品房产权年限是什么意思 产权年限是什么意思