我对编程与计算机学习的一点看法

掰叨叨
楼主 (北美华人网)
知道话题有争议,这篇只挖坑不回复,以免伤了和气。
先说说马工。我口中的马工,指的是互联网服务行业的编程人员。马工,并不是一个门槛很高的劳动密集型的工程专业。马工的高工资,是中美两国通过资本高强度投入,在互联网服务领域跑马圈地,抢占垄断地位的结果。本质上,是一个商业现象,有其背后政策和金融支持造成的。
马工这个行业存在了很久了,但是马工天下第一的热潮,实际上从2010之后才逐渐展开,是由华尔街的天量廉价资金维持的。
当前的现状是互联网服务的产业已经基本发展成熟。市场格局,也逐渐实现寡头垄断,基本上就是中美两国争霸。后面唯一的悬念,是中美谁占上风。在这个背景下,马工的热潮会慢慢衰退。其实,历史是在不停重复自己的路径。汽车行业从二十世纪初的起步到成熟到衰落,走了将近一百年。当年的底特律,充满了意气风发的年轻人和毫无顾忌的创新精神,一如现在的旧金山湾区。互联网服务是整个IT行业的一个发展阶段,而我们现在骄傲的马工们,是互联网服务业这个发展阶段的产物。
可惜,高强度的资本投入带来的是疯狂的发展速度,中美的竞争又进一步加强了这个趋势。于是,仅仅十年之后,这个行业就发展成熟了。
IT行业的发展,并不会停止,下一步虚拟现实,人工智能,自动化,甚至芯片制造都还有很多的领域会大发展,但是,在这些领域,我们现在意义上的互联网服务行业的马工,不再是主角了,主角是工程师,数学家,美工,创意等等,而且也不都是劳动密集型产业。
所以,互联网服务行业马工的未来,是很容易看到的。行业成熟,竞争强度下降,资金投入减少,市场容量不再增长,技术成熟,标准化自动化的推行。想要看到马工的未来,看看传统车厂的人员薪资配置就知道了。
掰叨叨
归根结底,编程只是计算机领域一个很小的方面。
编程有两头,一头连接的是硬件,一头连接的是应用。从事互联网服务行业的马工,更靠近的是应用端,虽然每个人与应用端的距离远近不相同。
学过计算理论人的都知道,最基本的编程语言,只需要变量赋值和循环(等价于递归)就足够了。图灵机本来就是结构非常简单的东西。剩下的东西,我们统统可以称之为语法糖(虽然语法糖不是这么定义的,这里是调侃)。编程语言本身,却一直都在发展,发展方向是越来越方便,越来越抽象,越来越容易学。未来,也许编程会变成可视化的SQL模块做后台,加上可视化的有限状态机做前台人机互动界面,也未可知。是的,我是在幻想编程变成了搭积木,呕不,搬砖的那种工作。其实,这又有什么奇怪的,几十年前,编程还是在纸带上数孔的工作。
未来充满了未知,谁也不知道将来的编程用什么语言,什么programming style,什么工具。如果不是立刻去用的话,作为知识的积累去教孩子编程,其实只要教会了循环和递归的概念,就足够了,这也就是一个下午的事情,好吧一个星期的事情。当然,真的要把递归的概念搞明白,是数理逻辑的研究对象,是数学,不需要懂编程。对于有兴趣的孩子,学好编程会带来极大的乐趣。如果是为了未来从事马工之旅,那么还是把未来的事情留给未来去做好了。
至于刷题,其本质是算法,系统,数据库等等具体领域的问题。是很有意思的领域,但是实际上与互联网服务行业马工的工作不太相关的。马工们刷题,是一种选拔聪明头脑手段,如果把这种选拔手段换成写用编程语言写八股文,也许一样能招到合格的优秀人才。
掰叨叨
计算机学习中,最不重要的可能是编程吧。Anyway,编程语言变来变去,后浪们急不可耐的拍死前浪,傻逼与装逼齐飞,充斥着各种装模作样和自作聪明。明眼人,谁真的在乎自由市场上那些花里胡哨的塑料花?
计算机自称科学,其实是工程。唯一的科学部分,是计算理论,那是纯数学。
算法是什么?真的说不清楚,似乎万物都是算法,可是似乎又只有排序,动态规划,数据结构那些主考官们口中问出来的才有资格称为算法。至于主考官们的选择,似乎也并不比成衣时尚界的潮流更容易理解。不论如何,算法是为了解决问题(我们不再定义什么叫问题了,在深层的定义需要数理知识了),而且是在现有硬件资源的基础上作出的折中选择,在现实中是一个不折不扣的工程问题。数学,逻辑,想象,努力等等都是解决问题的手段,但是最重要的,仍然是问题本身。所以,把算法教材当作有趣的智力练习,素材积累,启发工具都可以,但是真的要做算法开发,那是各个行业的人才做的事情,不是马工做的。
操作系统是个大杂烩,是真正意义上的杂家。软件,硬件在此交汇,历史与现实在此汇集。在这里,你会真正体会到,一门学科就是它的历史这句话。马工们最需要的,其实是操作系统,因为他们每一天都在这里游泳。我真的希望刷题更多集中于考操作系统,而不是算法。可惜,操作系统更像是文科生的东西,是大道,而不是奇技淫巧,怎么能够得到养猪人的垂青?是的,资本家们需要的是能被圈养的马工,而不是觉醒了的奴隶。
编译,就不说了,那是些底层的脏活累活,只需要几个拿得住寂寞的扫地僧做的事情。
计算机体系(architecture)是硬件方面的知识,和互联网服务的马工无关。可是,一个真正有志于搞清楚计算机的人,是不能够局限于优雅简洁的苹果外观的,那是电子用品消费者的级别。还是要打开盒子,搞清楚那些看灰尘的线路到底是干什么的。一个纯洁的马工,是应该能把从键盘敲击一下到显示屏显示出一个字符的整个软硬件过程全部在大脑中复现出来的。一个摆脱了低级趣味的马工,是会去思考并行算法在冯诺依曼机上的局限性,是会去研究单片机,GPU, FPGA的。
最后说一句,如果孩子喜欢,就去学习。如果是有志于培养未来的马工的,这些东西留给未来也可以。就像修路,盖房子,吃喝应酬,办公室政治等等一样,都是成人的游戏,留给未来就好了。
B
BanzhuQS
学习学习
B
BanzhuQS
感觉这个领域将来是ai大展身手替代人工的大领域
永远的小飞侠
据我所知,马工只要能读懂代码 会copy /paste 把以前别人做的代码拿过来,会修修改改变成自己的就可以了,根本不是什么高深莫测的工作。很多人上班摸鱼干别的。
x
xiaoywz
据我所知,马工只要能读懂代码 会copy /paste 把以前别人做的代码拿过来,会修修改改变成自己的就可以了,根本不是什么高深莫测的工作。很多人上班摸鱼干别的。
永远的小飞侠 发表于 2022-02-15 14:19

那是最初级的马工。
t
thymesu
顶,写得不错,但这帖没火的因素,红不了。
F
FionaCA
回复 3楼掰叨叨的帖子
你太牛啦。最近写了不少总结贴啊!😂
b
bubikeqi
写的有点意思
b
bye2020
我当年上大学大家就这么说,转眼二十年过去了,还是这么火…
w
woddyshrek
其实我们最关心的是,现在刷题还来得及不?
s
sorasky
感觉这个领域将来是ai大展身手替代人工的大领域

BanzhuQS 发表于 2022-02-15 14:15

想法很好,仅此而已。
n
neutra
作为码工我说一下,只要脑子够灵光,学算法分分钟,编程更是不在话下。
计算机科学里最难的(不一定是最赚钱的)领域,全是数学物理。
我不准备让孩子太早学习编程,把数学学好,脑子训练灵光,越晚摸电脑越好。
你看我一摸电脑就开始刷华人打游戏,有什么好的。电视顶好都少看。一百年前人类怎么娱乐的,我希望我娃就像那样娱乐。
m
mjgln
well said.
L
LimitedEdition
我和我老公觉得你挺牛逼的(褒义)
h
helichrysum
啊这。。。。你让我这种不是给互联网编程的码农说点啥好呢?
落地无声
回复 3楼掰叨叨的帖子
你太牛啦。最近写了不少总结贴啊!😂
FionaCA 发表于 2022-02-15 14:21

我觉得lz讲得非常好,计算机科学其实就是计算机工程。
落地无声
作为码工我说一下,只要脑子够灵光,学算法分分钟,编程更是不在话下。
计算机科学里最难的(不一定是最赚钱的)领域,全是数学物理。
我不准备让孩子太早学习编程,把数学学好,脑子训练灵光,越晚摸电脑越好。
你看我一摸电脑就开始刷华人打游戏,有什么好的。电视顶好都少看。一百年前人类怎么娱乐的,我希望我娃就像那样娱乐。
neutra 发表于 2022-02-15 14:36

cmu的csc录取的学生不要求会编程的,入大学前没学过编程也不要紧。
d
darcy
cmu的csc录取的学生不要求会编程的,入大学前没学过编程也不要紧。
落地无声 发表于 2022-02-15 14:55

可以展开说说具体事例吗谢谢
b
bayside
讲得很有道理。
所以,现在的孩子如果以后想从事高薪工作,其实从小打好数学,科学等学科的基础是很必要的。
前两天关于数学教授以及中学教师薪水方面的几个帖子,有个别言论有些阴阳怪气。我正好再这里说两句:无论哪个国家如果大众都轻视基础学科,轻视基础学科的教师都是蛮可怕的。
l
lazycat12345
回复 1楼掰叨叨的帖子
lz你应该写书的。 我刚刚看完海淀推娃指南,适用于低龄。 你可以写个北美推娃指南,适用于大娃
落地无声
可以展开说说具体事例吗谢谢
darcy 发表于 2022-02-15 14:57

因为他们csc为他们新生开了一门编程入门课。
https://www.quora.com/Can-I-get-into-Carnegie-Mellon-CS-with-no-computer-science-background

15-110: Principles of Computing
An introductory computer science course for students with little to no computing experience. Students will learn the core elements of programming in Python and will also receive a broad overview of big ideas in the field of computer science. The course begins with fundamentals of programming (data, variables, functions, conditionals, loops, and recursion) and the basics of computer organization (data representation and memory), then introduces major data structures (lists, dictionaries, trees, and graphs), the core concepts of efficiency (through runtime analysis and a case study of search algorithms), and how computing is scaled for practical use (concurrency and the internet). The course concludes with an overview of how computer science can be used as a tool to support other domains (data analysis, simulation, and machine learning) and how computer science influences and is influenced by the world (history, ethics, and modern events)
我这几天看了几个例子,但是因为隐私协议不能说。
m
meta0404
码工的时代才刚刚开始。电脑真正智能化才刚刚起步呢。智能驾驶,智能机械制造,智能家居服务,至少五十年看不到头。
f
funnyorno
知道话题有争议,这篇只挖坑不回复,以免伤了和气。
先说说马工。我口中的马工,指的是互联网服务行业的编程人员。马工,并不是一个门槛很高的劳动密集型的工程专业。马工的高工资,是中美两国通过资本高强度投入,在互联网服务领域跑马圈地,抢占垄断地位的结果。本质上,是一个商业现象,有其背后政策和金融支持造成的。
马工这个行业存在了很久了,但是马工天下第一的热潮,实际上从2010之后才逐渐展开,是由华尔街的天量廉价资金维持的。
当前的现状是互联网服务的产业已经基本发展成熟。市场格局,也逐渐实现寡头垄断,基本上就是中美两国争霸。后面唯一的悬念,是中美谁占上风。在这个背景下,马工的热潮会慢慢衰退。其实,历史是在不停重复自己的路径。汽车行业从二十世纪初的起步到成熟到衰落,走了将近一百年。当年的底特律,充满了意气风发的年轻人和毫无顾忌的创新精神,一如现在的旧金山湾区。互联网服务是整个IT行业的一个发展阶段,而我们现在骄傲的马工们,是互联网服务业这个发展阶段的产物。
可惜,高强度的资本投入带来的是疯狂的发展速度,中美的竞争又进一步加强了这个趋势。于是,仅仅十年之后,这个行业就发展成熟了。
IT行业的发展,并不会停止,下一步虚拟现实,人工智能,自动化,甚至芯片制造都还有很多的领域会大发展,但是,在这些领域,我们现在意义上的互联网服务行业的马工,不再是主角了,主角是工程师,数学家,美工,创意等等,而且也不都是劳动密集型产业。
所以,互联网服务行业马工的未来,是很容易看到的。行业成熟,竞争强度下降,资金投入减少,市场容量不再增长,技术成熟,标准化自动化的推行。想要看到马工的未来,看看传统车厂的人员薪资配置就知道了。

掰叨叨 发表于 2022-02-15 14:06

别好为人师误导人了。说话直你可能不爱听不过我个人是希望中国人占领这个行业越多越好。CS已经活了至少30年了还会火很多年,因为将来的趋势就是“元宇宙”模式,社会生产不需要那么多人,沉浸在虚拟世界里面。越来越多的行业要智能化代替人,所以码工这个行业还会一直火。过去10来年是互联网,下一个可能是智能车,也可能是其他的但是CS还是会火。
f
felixyoon2011
码工的时代才刚刚开始。电脑真正智能化才刚刚起步呢。智能驾驶,智能机械制造,智能家居服务,至少五十年看不到头。
meta0404 发表于 2022-02-15 15:26

这些是刷题能刷出来的吗
P
Patrishy
谢谢楼主,很有意思的帖子。
b
babyiota
楼主对马工的定义有点狭隘了。我相信拿几十万大包裹的,大多数都不是写前端网页的人,而是楼主提到的,做算法体系结构的人。从Google的界面有多简单,后端服务有多复杂,就可以看出他家马工有多少人在做前端。另外互联网服务的复杂度远不是键盘上敲个字母显示在屏幕上可以比拟的,他需要庞大的后端和开发工具支持。
不过我非常同意楼主说的想让孩子学计算机,要从扎实的数理逻辑开始。但是用任何一种编程语言(其实越贴近底层越好)学习如何用简单的条件循环实现复杂的任务,也是数理逻辑的一部分,而且这个是一般数学课上学不到的
m
meta0404
这些是刷题能刷出来的吗
felixyoon2011 发表于 2022-02-15 15:34

码工刷题只是一种招人的方式而已,真正的工作跟刷题基本没什么关系。没有更好的办法招人了。
l
lazycat12345
我当年上大学大家就这么说,转眼二十年过去了,还是这么火…
bye2020 发表于 2022-02-15 14:32

嗯,写bug的人也越来越多了
z
zvents
码工的时代才刚刚开始。电脑真正智能化才刚刚起步呢。智能驾驶,智能机械制造,智能家居服务,至少五十年看不到头。
meta0404 发表于 2022-02-15 15:26

同意这个,智能时代刚起步呢,需要大量马工。
金银岛
赞楼主
B
Beautifulday8
学习
m
meta0404
互联网早就有了,两千年还有个大泡泡,其实真正的互联网是在手机普及之后,2010 左右,所以才有了各个互联网巨无霸。google fb baba amazon 10cents.
计算机的应用一切才刚刚开始。人类差不多只是用来完成了一些excel 报表而已。



c
coalpilerd
楼主对马工的定义有点狭隘了。我相信拿几十万大包裹的,大多数都不是写前端网页的人,而是楼主提到的,做算法体系结构的人。从Google的界面有多简单,后端服务有多复杂,就可以看出他家马工有多少人在做前端。另外互联网服务的复杂度远不是键盘上敲个字母显示在屏幕上可以比拟的,他需要庞大的后端和开发工具支持。
不过我非常同意楼主说的想让孩子学计算机,要从扎实的数理逻辑开始。但是用任何一种编程语言(其实越贴近底层越好)学习如何用简单的条件循环实现复杂的任务,也是数理逻辑的一部分,而且这个是一般数学课上学不到的
babyiota 发表于 2022-02-15 16:03

LZ所谓的应用端是相对于贴近硬件端的概念,不是“前端网页”。很多人一听人说是码工就默认做互联网的,然后就问“你做前端还是后台”,其实这俩不该相提并论,后者比前者的覆盖范围要宽太多了。前者基本上是UI的范畴,后者是从底层系统到上层应用应有尽有。
键盘上敲个字母显示在屏幕上的这套东西要说清楚也不容易呢,我当年PhD的qualify exam考题之一哦。
一年四季最爱夏天
你的每个帖我都收藏了😄
c
cottoncloud
Mark学习
f
felixyoon2011
讲得很有道理。
所以,现在的孩子如果以后想从事高薪工作,其实从小打好数学,科学等学科的基础是很必要的。
前两天关于数学教授以及中学教师薪水方面的几个帖子,有个别言论有些阴阳怪气。我正好再这里说两句:无论哪个国家如果大众都轻视基础学科,轻视基础学科的教师都是蛮可怕的。
bayside 发表于 2022-02-15 14:58

赞同。
你信吗
一看就是外行的贴,哈哈
你信吗
码工里学会语言可以算幼儿园算术,怎么用这么简单的语言写出一个系统,也可以算art。谁都能随手画两笔,都叫画。真正会画画的人,叫艺术家,他一个人可以顶几十个上百个码工,而且没有他,可能就没有这个公司,所以软件公司里拿最高薪的,是艺术家。然后又分等级为画家,画工,等等
只为吐槽
谢谢分享
韭菜豆腐包
感谢科普。
家中下半年上大学的老大说去学computing science and engineering 专业,我听了一脸懵,听您这么一说,貌似就业前景还不错
R
ReesWitherspoon
中国和美国之间没有什么竞争可言. 跟美国竞争, 是中国的wishful thinking.
因为政策多变, 中国互联网行业已经进入冬天. 未来还有更多的uncertainty, 或许整个行业消失也不过是执政党的一念之差. 同时, 一旦离开美国的open source, 中国就会像买不到芯片的行业一样, 直接萎掉. 内外交困, 实际情况问问自己海归了的朋友就知道了.
R
ReesWitherspoon
美国计算机行业, 过多的人涌入了, 肯定会有人员过剩的那天. 2000/2001年也一样发生过. 未来怎么样, 没人能知道. 唱衰倒也不必. 唱衰也能说明人的某种心态.
R
ReesWitherspoon
码工的时代才刚刚开始。电脑真正智能化才刚刚起步呢。智能驾驶,智能机械制造,智能家居服务,至少五十年看不到头。
meta0404 发表于 2022-02-15 15:26

别告诉他们. 咔咔.
R
ReesWitherspoon
据我所知,马工只要能读懂代码 会copy /paste 把以前别人做的代码拿过来,会修修改改变成自己的就可以了,根本不是什么高深莫测的工作。很多人上班摸鱼干别的。
永远的小飞侠 发表于 2022-02-15 14:19

哈哈. 这里太搞笑了. 走了.
x
xxhz0909
借楼主的楼说一句:孩子不喜欢编程,家长千万别硬逼着孩子去学,太受罪了。我家小孩在大学里做TA,看着那些硬着头皮和基础课死磕的孩子们,真心为他们难受,每次office hour都花在这些孩子身上,喜欢学的孩子基本自己就把问题解决了,根本不用来
英文不会念
按现代计算机编程体系来分,分为Front-end、Back-end、Data三大方向 楼主所说的互联网编程人员按我的理解应该指Front-end,而需要大量逻辑、算法的更多的是Back-end、Data方向的岗位
但是在我看来前端编程人员未来也不会被淘汰,而且还将继续蓬勃发展,先说说我知道的历史
90年代初期,前端开发人员,大部分是桌面应用(C/S)开发,因此微软的windows桌面操作系统取得了巨大的成功,也是由于大量桌面前端开发人员涌入,相比于同时期的mac、linux就没有这么幸运了 到了互联网出现之后,特别是NetSpace的web browser出现之后,极大的推动了互联网的发展,随后的W3组织统一HTML标准,使得这个时期的的前端主要以web开发人员为主,也就是楼主认为的互联网开发人员,但这个时期岗位和职能还没有进一步分化,这个时期的web开发人员需要做front-end的工作同时也要做back-end的工作以及data的工作 而如今cloud虚拟化的兴起,以及distribution的需要,多工种协调性以及专业性的需要,从互联网开始,编程人员逐渐分化成更专业的工种,如开头提到的三大方向 这个时期伴随着iphone在智能手机领域的开拓,使得移动互联网的爆发,Front-end又进一步分裂进化,由web fron-end进一步扩展出mobile app front-end工种,以及之前的desktop app front-end,统称为Front-end,国内也称之为大前端
与之同时期分化出去的,后端进一步演变出了业务后端和系统架构后端,业务后端算法类要求稍微少一些,更多的是业务逻辑的思考,需要将成熟的算法直接应用到实际业务当中,但也是需要一定算法基础的,而系统架构则需要用到很多算法和逻辑去保证整个系统在distributed的硬件架构上保持其正确性和稳定性,在早期back-end也是需要个data打交道的,编写很多T-SQL语句,随着后来的ORM框架的兴起,以及大数据量下的performance要求,出现了DBA岗位,随后更多的Data Mining等等的出现,data这个岗位也就进一步分化出来了
如果按front-end的发展规律,desktop-》web-》mobile,下一个未来是智能穿戴设备以及VR/AR等虚拟领域,只要硬件设备、操作系统在不断更迭,就会产生新平台APP的开发需求,front-end的大前端圈也将会有越来越多的机会,不可能只有逻辑没有UI,那就回到了DOS用命令行的时代,这显然是不可能的,未来的front-end会越来越真实化、复杂化 从desktop-》web-》mobile的进程中可以看出来,许多在desktop时代的应用被逐一搬到了mobile上、web上,比如MS Office,现在已经mobile、web都有了,依然很赚钱,而且其他竞品也产生了很多,每一次新硬件的出现,也就注定会有新的front-end角色诞生,也将注定编程人员下一次的繁荣
作为一名front-end从业者,对于front-end这样所见即所的开发方式其实更直观和更有趣味性,我写的代码不再是一堆枯燥的logic,可见的UI设计图从设计师那里到我这里逐一实现,这让我的工作变得更有趣,当然front-end也并非不需要算法、逻辑,只是照图施工的工作量占了大部分,但不论从desktop还是到app还是到web,许多layout原理、UI原理都大同小异,差异在于编写工具、语言切换、开发平台等,其核心理念可以说是触类旁通的,so,未来新硬件设备的出现,front-end也将再度繁荣
说到这里,不得不提的是game行业,其实也算是front-end,但是是更复杂的front-end工作,而且还夹杂着许多算法,这些算法已经被游戏开发引擎实现了,大部分时间也是拿来即用
岁月当静好
这里高手多,想借此帖问个问题:大学如果学CS, double major选数学还是物理更有前途?
C
Cybercat
我不是马工,但是不同意楼主说的。楼主是以零和游戏和已知的信息来判断未来的趋势。看未来要看没有什么,不是看有了什么。环顾四周,我们生活中工作中能科技化的地方太多了,就以AI 来说,现在我们用的那些virtual assistant 智商连1岁小孩都比不上,我家狗都比那个聪明,那说明还有多大余地?而且未来需要什么普通人大部分想象力都不够用。乔教主马斯克把新科技主流化之前你能想到你会每天一天到晚都要拿着手机还比诺基亚摩托罗拉便宜?你能想到这么快就要去太空玩了?
至于编程会被模版化替代,那根本不是未来,那是过去了。多年前咱不都还得先学点dos 不然都没办法用电脑?那时候谁不得学着改html. 现在人家开网店的谁需要自己写网页?你家3岁孩子果子机能干的比你年轻时100个程序员能干的还多。然而人家程序员都失业了吗?
社会需要科技就跟需要能源一样。能源从煤,到油气,到renewable energy, 一直在变,但没有永动机,所以能源会永远需要,而且需求越来越大。科技也一样,科技的内容会变,但科技的需求会越来越大。至于现在挖煤的能不能接着挖renewable, 那就看个人的本事了。
c
crystal55
回复 49楼岁月当静好的帖子
数学或者统计比较好
小美丽
学好计算机的基础是学好数学,只要是学哪些数学呢? 除了离散数学,算法还有哪些是必学的数学基础课?
h
huawei6g
美国的IT行业是无本之木之水无缘之木,无非是虚拟经济泡沫的一个表现而已。中国的IT行业才是脚踏实地,发展的无比坚实
只想躺平
留名
j
jnbam3m9rW
美国的IT行业是无本之木之水无缘之木,无非是虚拟经济泡沫的一个表现而已。中国的IT行业才是脚踏实地,发展的无比坚实
huawei6g 发表于 2022-02-16 09:27

对,被制裁的无比坚实
h
huawei6g
对,被制裁的无比坚实
jnbam3m9rW 发表于 2022-02-16 09:56

制裁才说明黔驴技穷需要狗急跳墙了
j
jnbam3m9rW
制裁才说明黔驴技穷需要狗急跳墙了
huawei6g 发表于 2022-02-16 09:59

对华为高兴死了
j
jenny110413
好贴收藏一下!
a
avest
楼主还是先拿到个码工的职位做做看再说吧
b
bugsamend
回复 49楼岁月当静好的帖子
我不是CS专业的,是商科的phd。根据我个人经验,感觉学个数学是不错的:). 大家都觉得商科有点水,但是数学功底好发展的路子会很宽。有很多商科和技术学科的交叉领域可以做研究也可以做实务,这也是很多商科发展的趋势。我工作很多年了,我那个年代的国内本科教育,商科数学是很一般的。我为了读博在美国想尽办法去补过高级点的微积分。这两年夏天还硬着头皮去计算机系跟着本科生学了16个学分的各种编程、算法啥的课程。今年夏天还准备去修个把CS三年级的专业课。年轻时以为可以混过去,越到以后反而越觉得没有捷径。
我只是知道的太少太浅,能说的就这一点点,也不见得对。物理肯定也有物理的好。环境所限,我还没有接触到,但也许以后会懂更多一点。
如果孩子愿意,尽管第一个专业修会计、营销这种稍微soft一点的专业,尽管第一份工作只能找个出纳挣一点点钱,我也会支持他们去修个数学作为第二专业。打好基础,培养好的逻辑思维能力是一辈子的事。也许有一天他们想法就变了,喜欢hard core一点的呢?从这个角度来说,不论数学物理,我都觉得是不错的选择。
q
qwerty_sun
数学和大多数码工是两码事。见过很多数学特别牛的,码工做的一塌糊涂。码工的关键是工,需要仔细,有条理,做重复工作不觉得麻烦。很多数学大师是没有条理的,也喜欢追求新事物。
b
bellshirt
经常看到有人写感想都已“粗浅看法”, “抛砖引玉”,“班门弄斧”这种谦虚的词汇开头,我觉得他们过于谦虚了。 这是唯一一次没有用到这些词汇但是我又觉得楼主不谦虚的一篇感想。
q
qqmj
一本正经的胡说八道
q
qqmj
楼主对马工的定义有点狭隘了。我相信拿几十万大包裹的,大多数都不是写前端网页的人,而是楼主提到的,做算法体系结构的人。从Google的界面有多简单,后端服务有多复杂,就可以看出他家马工有多少人在做前端。另外互联网服务的复杂度远不是键盘上敲个字母显示在屏幕上可以比拟的,他需要庞大的后端和开发工具支持。
不过我非常同意楼主说的想让孩子学计算机,要从扎实的数理逻辑开始。但是用任何一种编程语言(其实越贴近底层越好)学习如何用简单的条件循环实现复杂的任务,也是数理逻辑的一部分,而且这个是一般数学课上学不到的
babyiota 发表于 2022-02-15 16:03

说的非常好, 马工的工作分类品种彼此之间也是隔行如隔山的 写前端的真的是比较简单直白的部分, 后台不知道多少不同的马工在工作
一个谷歌搜索对于终端用户来说就是一个输入,然后一个回车,后面多少人在实现算法
t
ted.hanks
不同意大部分楼主的观点。
有一种说法 Software is Eating the World. 从广义的角度来说,state-of-art的硬件都有软件的身影。 比如Cisco router里的iOS,CPU里的microcode。硬件的复杂度需要软件来提供更高层面的抽象。
> 最基本的编程语言,只需要变量赋值和循环(等价于递归)就足够了
并不代表数据结构和算法没有意义对吗? 就好像你可以说人就是碳氢氧氮等基本元素构成的, 但是人之所以为人更重要的是如何组织它们。 如何运用基本的primitive 来提供更有效率的抽象才是计算机技术研究的方向。

n
neutra
数学和大多数码工是两码事。见过很多数学特别牛的,码工做的一塌糊涂。码工的关键是工,需要仔细,有条理,做重复工作不觉得麻烦。很多数学大师是没有条理的,也喜欢追求新事物。
qwerty_sun 发表于 2022-02-16 13:06

这个是属于动手能力的问题。从小得培养做家务,玩乐高,玩模型,做手工,也用不着摸电脑。
t
ted.hanks
计算机学习中,最不重要的可能是编程吧。Anyway,编程语言变来变去,后浪们急不可耐的拍死前浪,傻逼与装逼齐飞,充斥着各种装模作样和自作聪明。明眼人,谁真的在乎自由市场上那些花里胡哨的塑料花?
计算机自称科学,其实是工程。唯一的科学部分,是计算理论,那是纯数学。
算法是什么?真的说不清楚,似乎万物都是算法,可是似乎又只有排序,动态规划,数据结构那些主考官们口中问出来的才有资格称为算法。至于主考官们的选择,似乎也并不比成衣时尚界的潮流更容易理解。不论如何,算法是为了解决问题(我们不再定义什么叫问题了,在深层的定义需要数理知识了),而且是在现有硬件资源的基础上作出的折中选择,在现实中是一个不折不扣的工程问题。数学,逻辑,想象,努力等等都是解决问题的手段,但是最重要的,仍然是问题本身。所以,把算法教材当作有趣的智力练习,素材积累,启发工具都可以,但是真的要做算法开发,那是各个行业的人才做的事情,不是马工做的。
操作系统是个大杂烩,是真正意义上的杂家。软件,硬件在此交汇,历史与现实在此汇集。在这里,你会真正体会到,一门学科就是它的历史这句话。马工们最需要的,其实是操作系统,因为他们每一天都在这里游泳。我真的希望刷题更多集中于考操作系统,而不是算法。可惜,操作系统更像是文科生的东西,是大道,而不是奇技淫巧,怎么能够得到养猪人的垂青?是的,资本家们需要的是能被圈养的马工,而不是觉醒了的奴隶。
编译,就不说了,那是些底层的脏活累活,只需要几个拿得住寂寞的扫地僧做的事情。
计算机体系(architecture)是硬件方面的知识,和互联网服务的马工无关。可是,一个真正有志于搞清楚计算机的人,是不能够局限于优雅简洁的苹果外观的,那是电子用品消费者的级别。还是要打开盒子,搞清楚那些看灰尘的线路到底是干什么的。一个纯洁的马工,是应该能把从键盘敲击一下到显示屏显示出一个字符的整个软硬件过程全部在大脑中复现出来的。一个摆脱了低级趣味的马工,是会去思考并行算法在冯诺依曼机上的局限性,是会去研究单片机,GPU, FPGA的。
最后说一句,如果孩子喜欢,就去学习。如果是有志于培养未来的马工的,这些东西留给未来也可以。就像修路,盖房子,吃喝应酬,办公室政治等等一样,都是成人的游戏,留给未来就好了。

掰叨叨 发表于 2022-02-15 14:07

> 马工们最需要的,其实是操作系统,因为他们每一天都在这里游泳。我真的希望刷题更多集中于考操作系统,而不是算法。
lz 把操作系统和应用放在一起了吧。 OS做的就是提供一个hardware的抽象。 就好比一个木工应该花时间研究家具,怎么使用工具,而不是研究怎么提高自己的工具。
> 一个纯洁的马工,是应该能把从键盘敲击一下到显示屏显示出一个字符的整个软硬件过程全部在大脑中复现出来的。
这个要求太高了。涉及到软件, 硬件, firmware, driver ... 大多数人看到的都是抽象出来的interface,很少有人知道所有的know how。
面朝花开
> 马工们最需要的,其实是操作系统,因为他们每一天都在这里游泳。我真的希望刷题更多集中于考操作系统,而不是算法。
lz 把操作系统和应用放在一起了吧。 OS做的就是提供一个hardware的抽象。 就好比一个木工应该花时间研究家具,怎么使用工具,而不是研究怎么提高自己的工具。
ted.hanks 发表于 2022-02-16 15:14

+1
t
ted.hanks
按现代计算机编程体系来分,分为Front-end、Back-end、Data三大方向 楼主所说的互联网编程人员按我的理解应该指Front-end,而需要大量逻辑、算法的更多的是Back-end、Data方向的岗位
但是在我看来前端编程人员未来也不会被淘汰,而且还将继续蓬勃发展,先说说我知道的历史
90年代初期,前端开发人员,大部分是桌面应用(C/S)开发,因此微软的windows桌面操作系统取得了巨大的成功,也是由于大量桌面前端开发人员涌入,相比于同时期的mac、linux就没有这么幸运了 到了互联网出现之后,特别是NetSpace的web browser出现之后,极大的推动了互联网的发展,随后的W3组织统一HTML标准,使得这个时期的的前端主要以web开发人员为主,也就是楼主认为的互联网开发人员,但这个时期岗位和职能还没有进一步分化,这个时期的web开发人员需要做front-end的工作同时也要做back-end的工作以及data的工作 而如今cloud虚拟化的兴起,以及distribution的需要,多工种协调性以及专业性的需要,从互联网开始,编程人员逐渐分化成更专业的工种,如开头提到的三大方向 这个时期伴随着iphone在智能手机领域的开拓,使得移动互联网的爆发,Front-end又进一步分裂进化,由web fron-end进一步扩展出mobile app front-end工种,以及之前的desktop app front-end,统称为Front-end,国内也称之为大前端
与之同时期分化出去的,后端进一步演变出了业务后端和系统架构后端,业务后端算法类要求稍微少一些,更多的是业务逻辑的思考,需要将成熟的算法直接应用到实际业务当中,但也是需要一定算法基础的,而系统架构则需要用到很多算法和逻辑去保证整个系统在distributed的硬件架构上保持其正确性和稳定性,在早期back-end也是需要个data打交道的,编写很多T-SQL语句,随着后来的ORM框架的兴起,以及大数据量下的performance要求,出现了DBA岗位,随后更多的Data Mining等等的出现,data这个岗位也就进一步分化出来了
如果按front-end的发展规律,desktop-》web-》mobile,下一个未来是智能穿戴设备以及VR/AR等虚拟领域,只要硬件设备、操作系统在不断更迭,就会产生新平台APP的开发需求,front-end的大前端圈也将会有越来越多的机会,不可能只有逻辑没有UI,那就回到了DOS用命令行的时代,这显然是不可能的,未来的front-end会越来越真实化、复杂化 从desktop-》web-》mobile的进程中可以看出来,许多在desktop时代的应用被逐一搬到了mobile上、web上,比如MS Office,现在已经mobile、web都有了,依然很赚钱,而且其他竞品也产生了很多,每一次新硬件的出现,也就注定会有新的front-end角色诞生,也将注定编程人员下一次的繁荣
作为一名front-end从业者,对于front-end这样所见即所的开发方式其实更直观和更有趣味性,我写的代码不再是一堆枯燥的logic,可见的UI设计图从设计师那里到我这里逐一实现,这让我的工作变得更有趣,当然front-end也并非不需要算法、逻辑,只是照图施工的工作量占了大部分,但不论从desktop还是到app还是到web,许多layout原理、UI原理都大同小异,差异在于编写工具、语言切换、开发平台等,其核心理念可以说是触类旁通的,so,未来新硬件设备的出现,front-end也将再度繁荣
说到这里,不得不提的是game行业,其实也算是front-end,但是是更复杂的front-end工作,而且还夹杂着许多算法,这些算法已经被游戏开发引擎实现了,大部分时间也是拿来即用
英文不会念 发表于 2022-02-16 07:08

> 说到这里,不得不提的是game行业,其实也算是front-end,但是是更复杂的front-end工作,而且还夹杂着许多算法,这些算法已经被游戏开发引擎实现了,大部分时间也是拿来即用
从历史上来看,所谓的前端,或者HCI经历了: terminal -> GUI -> web -> mobile(iOS, Android) 都是二维平面的,而且有详细的HCI guideline。
如果VR是未来的人机界面的话,我们有一个三维的人机界面用来和机器交互。 对前端工程师会有新的需求。但是长期来看,肯定会出现新的framework来简化, formalize。
s
samstar
顶,写得不错,但这帖没火的因素,红不了。
thymesu 发表于 2022-02-15 14:20

顶一个
t
treetopskyline
不错