从社会分工谈编程语言发展

2018-03-26 12:04:46 +08:00
 wangbenjun5

马克思曰:“经济越发达,社会分工越细”

在富士康,一个简单的数据线大概要经过 20 多道工序,由不同的人负责不同的部分。放到宏观来看,小公司的员工一个人身兼多职,要写前端,还要写后台,甚至运维也是他干,但是大公司呢,大部分人都是螺丝钉,一个人只负责一小块,是不是和富士康流水线上的工人差不多?

从编程语言这块来看,我一个写 html+css+js 的不必了解你操作系统原理吧?更没必要去了解 CPU 中断机制吧?就如普通工厂组装汽车的工厂,他需要懂发动机原理吗?很多计算机的底层知识已经超越了普通开发者的知识范畴,想把这些弄的清清楚楚很难,虽然说计算机才发展了几十年而已!那 100 年后呢?一个人的知识储备是有限的。

比如说某些计算机科研机构,他们大部分人不会去写 js,但是我肯定他们每天都在研究计算机底层,想着怎么优化 CPU 设计,优化算法以提供性能。

这种分层分工在计算机网络的设计上体现的非常明显,设计者把计算机网络分为 7 层,对于大部分应用开发者来说,只需要了解应用层协议基本上就够用了,你有必要去搞明白数据链路层怎么传输数据吗?

9446 次点击
所在节点    程序员
101 条回复
jadec0der
2018-03-27 13:46:27 +08:00
@lizz666 最好还是问题导向的学习。比如需要优化什么或者排查问题的时候,顺着你遇到的问题深入下去,不懂就学。这些往往都在大公司才有机会,一是遇到问题有人给你指个方向,知道要看什么,二是大公司才会给你机会用很长时间解决一个小问题,小公司遇到这种麻烦的底层 bug 通常就换条路绕开了。
msg7086
2018-03-27 13:54:41 +08:00
@wangbenjun5 哦?原来你写过 vue js 这样的框架啊,失敬失敬。
wzxlovesy
2018-03-27 13:57:53 +08:00
你要是安于 15k 的工资,那就不用学了
nbndco
2018-03-27 14:10:41 +08:00
其实 LZ 不就是想给自己懒的学习找个借口么,也没啥好争的不是……

LZ 不要当专家,不要写架构,反正这些东西做业务也用不到。

但是 LZ 又要来问职业规划,“总不能一直搬砖吧?当 CTO ?架构师?” https://www.v2ex.com/t/438476

我就不是特别确定了,既然你觉得反正学什么搬砖都用不上,反正就是有那么多人要搬砖,那又何必问“总不能一直搬砖吧”呢?你不是已经给了自己很明确的定位了么。
jjx
2018-03-27 14:27:31 +08:00
这个帖子中, 回帖时说明一下年龄就很清楚了

年轻人, 血气方刚, 以为世界一切都在掌握, 没有什么达不成的事情

年纪大的, 明白术业有专攻,有可为有不可为
tomdc
2018-03-27 14:31:56 +08:00
不很简单吗,想当专家就深入学,当工人就熟练使用,当老板就学商业
wangbenjun5
2018-03-27 14:35:25 +08:00
@msg7086 哎呦,不是你在那说小学生都能写 js 了吗?你写啊
wizardoz
2018-03-27 14:48:11 +08:00
我觉得在软件上不可能分那么细,至少用富士康类比不合适。
因为软件的自动化要比手工业容易得多,如果一个工作拆分得一个人只管那么简单一件小事,不如直接设计流程的人就把它完成了。
然后软件的从业人员永远不需要像制造业一样要那么多,因为软件业不需要重复劳动。

所以以后可能软件从业者不会越来越多,甚至可能越来越少。但是业余编程可能是基本技能。
wizardoz
2018-03-27 14:51:18 +08:00
@wizardoz 说了那么多废话,自己总结成一句:制造业的本质是重复劳动,软件业的本质拒绝重复劳动。
wangbenjun5
2018-03-27 15:34:28 +08:00
@wizardoz 来来来,软件自动化是吧?先从 CURD 开始,你搞定了吗?
wizardoz
2018-03-27 16:26:19 +08:00
@wangbenjun5 如果在软件上不能自动化的东西,必然是不适合交给流水线工人干的,对吗?
takato
2018-03-27 16:43:39 +08:00
说个自己认为的结论,以人类对多维目标的归类能力。。可能是没法把人有效且正确归类的。。。
这还不算参考系问题,引入参考系问题,人脑就是 boom 的...
xianxiaobo
2018-03-27 17:18:47 +08:00
我蛮赞同楼主的,但是有没有必要去学习其他的东西我觉得就像是有没有必要精通 8 国语言一样,不同的人不同的看法,很难统一,本来就是主观性的东西。如果非要对比的话,换算成钱呗。需要花多少时间和精力,能得到多少回报。不然都是瞎讨论。
cralison
2018-03-27 18:29:44 +08:00
不是工作所需,自己也没兴趣,不学不是说不可以。但关键是,你总得有个一技之长,总得有个东西学深入,优化到最后,楼上各位所说到的各种原理,还是会涉及到的。除非一直低层,否则总是躲不过去的。
wangxn
2018-03-27 19:59:35 +08:00
了解而已,不需要精通。
何况这些东西真的很多吗?计算机发展到现在,才五六十年,深入了解大部分计算机领域知识本就不是难事。
扪心自问,读计算机的你大学四年是怎么过的?那些医学、药学、机械、建筑、数学、物理系本科生又是怎么过的?
VicYu
2018-03-27 20:33:06 +08:00
历史总是惊人的相识
cysean
2018-03-27 21:23:12 +08:00
@ wangbenjun5 用 9 块木板组成一个桶装水,还是把各块木板分别用来装水?
msg7086
2018-03-27 21:34:39 +08:00
@wangbenjun5 笑,你继续自 High 吧,Block 了,勿回。
frienmo
2018-03-29 20:10:38 +08:00
@wangbenjun5 原来写 js 要会“写个 vue js 这样的框架”,厉害了,看来我不会编程了。否则写 java 就是写 jvm 了,溜了溜了
afpro
2018-03-30 05:33:13 +08:00
明显 LZ 没有经历过从上层到底层优化或者解 bug 的经历 安心写自己的业务
甚至说 业务写的也很少 要不然总会遇到几个瓶颈 几个诡异的报警 排查下去就了解对其他深入知识的需求了
所以他只是想找个理由让自己安心的混日子 以为混够了资历就能当 CTO,架构师?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/441435

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX