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

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

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

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

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

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

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

9336 次点击
所在节点    程序员
101 条回复
ericls
2018-03-26 12:11:58 +08:00
社会分工就是把人变成机器
jadec0der
2018-03-26 12:20:58 +08:00
如果你对自己职业生涯的定位就是写 html+css+js 的,确实没必要了解操作系统,当然也别怪人家叫你美工
murmur
2018-03-26 12:21:41 +08:00
操作系统原理还真有必要了解 毕竟是计算机的本科课程
有些课程学了不是代表你会你要用 是你有解决某类问题的思维
wangbenjun5
2018-03-26 12:37:29 +08:00
@jadec0der 那你的定位就是既懂前端,又干后台,精通计算机底层原理?现实么?
jadec0der
2018-03-26 13:19:25 +08:00
@wangbenjun5 这就是软件工程师的基本要求啊,造汽车的工程师不懂发动机原理?你想什么呢?
wangbenjun5
2018-03-26 13:26:06 +08:00
@jadec0der 造汽车也要分工的好不好啊?我专门提供轮胎的我需要懂发动机原理?
jmc891205
2018-03-26 13:29:19 +08:00
主要是人类传承知识的手段太低效了。每个人都要先花几十年去学习前人早已研究透了的东西 然后才能去研究未知的领域。但当你搞出来一点成绩的时候 百年大限又到了。这严重阻碍了人类科技的进步。
wodexiaogou
2018-03-26 13:29:41 +08:00
给我一铁块,我能刻个 i7 CPU,想刻 i9 的得联系我师父。
jadec0der
2018-03-26 13:32:50 +08:00
@wangbenjun5 当然需要,看来你不但不理解软件工程师是什么,还没读过大学……这事随便找个汽车工程系的本科生培养计划就知道了

https://wenku.baidu.com/view/0240a0ca09a1284ac850ad02de80d4d8d15a01f5.html
专业核心课程 汽车发动机原理 (3 学分)

你不会以为工程师是蓝翔汽修学院培养出来的吧?
male110
2018-03-26 13:35:58 +08:00
懂你的意,以后操作系统都用 js 写的.
wangbenjun5
2018-03-26 13:38:48 +08:00
@jadec0der 你要这样说,那你随便找个大学随便一个专业,开设的课程基本上都遍布该行的所有内容了,但是实际呢?有多少学生敢说自己都学以致用了?大部分课程还是过一下而已,说白了就是广而不精,也难怪现在大学生毕业找不到工作,因为学的东西脱离工作内容了,并不是每个人大学毕业之后都去搞研究!
pabupa
2018-03-26 13:40:56 +08:00
@wodexiaogou 我想要 1080
wangbenjun5
2018-03-26 13:41:21 +08:00
@jmc891205 有道理
wangbenjun5
2018-03-26 13:41:52 +08:00
@wodexiaogou CPU 不是沙子制作的吗?
Macbooker
2018-03-26 13:44:07 +08:00
@jadec0der 你不会以为学了发动机原理这门课就会做发动机了吧
q397064399
2018-03-26 13:53:12 +08:00
@wangbenjun5 #14
只部分同意楼主,很多大厂绝大部分岗位也都是螺丝钉,有转门负责技术架构跟技术跟进的部门,也有只负责写逻辑页面的开发。

但是从工程师个人的职业生涯来讲,掌握计算机系统等底层原理 是大有裨益的,指不定哪天就让你 上去负责架构跟新技术跟进了呢??
jadec0der
2018-03-26 14:13:19 +08:00
@wangbenjun5 你开帖子说行业的招聘标准有问题,我给你解释工程师是怎么培养的,然后你又说大学教育有问题……行行行,你是对的,这个世界都错了,祝你早日颠覆软件和互联网行业。

另外,大学生毕业找不到工作的人是因为没有好好学习,而不是研究的太深。那些深入研究操作系统原理的应届生工资比你高得多,用不着你来担心。
jadec0der
2018-03-26 14:14:46 +08:00
@Macbooker 当然不会做发动机啊!!!做轮胎的人为什么要会做发动机??他只是需要懂发动机原理而已
XuNerverGiveUp
2018-03-26 14:18:53 +08:00
楼主如果纯做轮胎的话是不需要懂发动机之类的,把工艺玩好就行了
但是那不叫工程师,叫流水线操作工
工程师设计轮胎那他一定会懂轮胎设计与动力以及稳定性之间的关系,这就势必涉及到现有发动机的原理以及不同发动机之间的差异。
itx1123
2018-03-26 14:25:28 +08:00
分层,抽象化没什么问题。但专研得越深入,肯定越厉害。想成为大神肯定要懂底层呀。

大学本来就是看武林秘籍的目录,读完只是知道以后要练功从哪练起而已,只想着在流水线做一个工序一辈子那不用读大学的,读个培训班就 OK 了。

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

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

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

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

© 2021 V2EX