打印

越来越觉得软件是要高智商的人才能搞的了。

[复制链接]
8000|56
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
人生长苦|  楼主 | 2014-3-14 21:23 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 人生长苦 于 2014-3-14 21:34 编辑

自从前几天看了《数据结构与算法分析》Mark Allen Weiss就感触越来越深。偶觉得,能发明那些精妙的数据结构与算法并可以到处应用到,这本身真的是太了不起了。以前常这样认为:“这些东西不就是像几加几一样的逻辑吗,没什么难懂得!”这样天真自大的想法。现在仔细想想,能把程序用在内存与CPU上,而且是如此的完美,真的感到不可思议,比如递归,这个东西以前只是认为用来做做像斐波那契数列这样的题而已,可是发现它还有很多美妙的用途,数据结构里经常用到这个,可是自己还是不能熟练的运用递归,在我看来能熟练编写递归,各种数据结构与算法并综合运用的人真的是大神了,我想他们的脑袋一定得要很灵活才行。
  再比如,有些东西的想法很简单,比如交换两个数(实在太简单了),但是一旦到了程序里,就得用个TEMP,搞几次赋值才能搞定,即便到了现在,我也不敢说能把这样一个简单的程序一气呵成,再比如计算10除以7要求任意精度,用笔算也非常简单,但是转换成自己写的程序,就要想好久,而且运算效率肯定低。当然,以上只是一些简单的例子而已了,甚而再思考个数据结构出来或高效的算法出来就不是我等能想到的了,那都是境界了感觉。
  还有,算法这个东西,当然,我也认为是要有很好的数学基础才能写出或发明好的算法的,但是我觉得算法和数学关系上并不是很大,因为数学很牛不一定能写出牛的算法与数据结构,一个数学上的算法到程序上也需要转化,当然这不是主要的,主要是思想方法真的大不同的感觉,反正,我们应该是低估了那些研究算法与计算机结构的科学家们的伟大之处。
  所以,真心认为能写出好软件(程序),是真心了不起的事,这比硬件要难,因为硬件就要感性多了,比喻起来就是一个理科(程序,算法)一个文科(硬件,电路)。

相关帖子

沙发
chunyang| | 2014-3-14 23:01 | 只看该作者
楼主错了,硬件比软件更难入门,更难精通。优秀的程序员比优秀的电子工程师的人数多,这足以说明一切。

使用特权

评论回复
板凳
chunyang| | 2014-3-14 23:11 | 只看该作者
如果楼主想对比一下硬件和软件的数学难度,不妨先试试弄懂麦克斯韦电磁理论方程,这个,可是能够推导出相对论来的。硬件涉及的理论和数学工具比软件要更加面广,而且很多是非常基础性,而基础性越强的理论,真正理解的难度也越大。
如果感觉麦克斯韦方程组太艰深,欧姆定律如何?貌似够简单吧,但可以负责任的告诉你,真掌握欧姆定律的话,成为一名合格的、熟练的电子工程师是必然的结果,可问题是,你真懂么?
每个行业都有每个行业的门槛,千万不要“这山望着那山高”。

使用特权

评论回复
地板
雪山飞狐D| | 2014-3-14 23:18 | 只看该作者
   傻不拉唧的,搞定“人”才是最难的

使用特权

评论回复
5
chunyang| | 2014-3-14 23:22 | 只看该作者
就软件的算法、数据结构、计算机体系结构之类的基础学科其实跟软件和编程本身没有什么直接的关系,“觉得算法和数学关系上并不是很大”先不说语病了,单是这种“感觉”就很离谱。算法、数据结构甚至计算机体系本身就是数学,不折不扣的数学,计算机的发明和软件算法的提出都是建立在数学家工作的基础上,一个发明算法的人甚至可以根本不懂软件编程。
对于硬件,其基础是物理学、材料学,也包括数学。如果说软件的根基是数学家的话,硬件则是物理学家,而物理学也同样离不开数学,只是侧重点有所不同罢了。

使用特权

评论回复
6
chunyang| | 2014-3-14 23:32 | 只看该作者
最后说一下楼主提到的“感性”。
“真心认为能写出好软件(程序),是真心了不起的事,这比硬件要难,因为硬件就要感性多了,比喻起来就是一个理科(程序,算法)一个文科(硬件,电路)”——不论硬件还是软件,如果扯到“感性”那就错的没谱了,二者需要的都是理性,纯粹的理性,甚至硬件可以自由发挥的余地还要远小于软件。如果用国内文科生的思维去编写软件,当然这“软件”是根本运行不起来的,那么用文科生的思维去搞硬件呢?这不仅仅有能否运行的起来的问题,怕是搞不好还有生命危险的大问题。软件随你折腾,搞不死人,硬件你要瞎折腾,可以死的连渣都不剩!

使用特权

评论回复
评论
yang4469 2014-3-20 17:04 回复TA
软件仿真搞不死人,但软件就不见得了吧,嘿嘿,扯远了 
7
人生长苦|  楼主 | 2014-3-14 23:53 | 只看该作者
本帖最后由 人生长苦 于 2014-3-14 23:56 编辑
chunyang 发表于 2014-3-14 23:11
如果楼主想对比一下硬件和软件的数学难度,不妨先试试弄懂麦克斯韦电磁理论方程,这个,可是能够推导出相对 ...


这些只是自己的一些感受了,这或许是我程序水平太差了所致,每次当搞懂一个硬件或电路后,总会有那种如鱼得水的很熟练的感觉。可是对于编程,即便是完全看懂了,要熟练运用那真的差得不是一点点,这应该也是大部分人会有的感觉吧。觉得对于硬件,常常是自己搞很久没弄明白,这时如果有人点拔,或许就能很快懂了,也很难忘记,或者当完全理解那些公式的含义之后就觉得会有大彻大悟的感觉,而对于程序真的很难有这种感觉。更重要的是我觉得人应该善于做那些在数学上连续的思考些,可是软件却是离散的,这种思考问题的方法和自然有了隔阂。

使用特权

评论回复
8
chunyang| | 2014-3-15 00:10 | 只看该作者
人生长苦 发表于 2014-3-14 23:53
这些只是自己的一些感受了,这或许是我程序水平太差了所致,每次当搞懂一个硬件或电路后,总会有那种如鱼 ...

编程的思维相对还是比较简单的,先不要去看那些你觉得很高深的软件技术,把基本的指令用法掌握了,只要你的思维严谨(硬件也同样需要严谨的思维习惯),编程不是什么难事。事实上,甚至你的自然语言能够使用的足够逻辑化,你就会发现编程和讲话没有质的差别,只是语言不同而已。
我曾经给初学者写过一个关于编程基础的帖子(求助时不要简单贴源代码),在新手园地栏目,也可以在网上搜,主旨是建议初学者使用自然语言通过编写详细的程序流程来掌握程序构架和编程方法。

使用特权

评论回复
评分
参与人数 3威望 +10 收起 理由
雪山飞狐D + 1 是BAT价码高,有点本事的都跑过去了.
xyz549040622 + 5
王奉瑾 + 4
9
amwrdfe| | 2014-3-15 08:30 | 只看该作者
赞同春哥,
数据结构和算法都是以数学为基础,编程只是一种实现数学计算的手段,java能写出来的程序用c一样可以实现。
同样硬件也以数学为基础,引用一个同事说的话:“电路是设计出来的,算出来的,不是试出来的。”

软件有唯一性,就是说流程或者写法上有问题,出现问题是必然的。
硬件,引用之前看的一篇**的话, “越是研究深入,越是不想解释,因为没几个人能解释清楚”

使用特权

评论回复
10
mmuuss586| | 2014-3-15 09:04 | 只看该作者

我同学智商不高,但面试过很多百度,阿里,小米的牛人……
现在是某个公司的研发负责。
但他很努力,再忙,每天也会抽出一个小时学习……

使用特权

评论回复
11
amwrdfe| | 2014-3-15 11:38 | 只看该作者
国内大环境下硬件不如软件。

硬件需要积累,沉淀,需要更多的知识面。
大多数人半途中因为利益,生计,前途等转向。
而科研机构和高等院校的研究项目,很多都是骗经费,老师申请项目学生做...

8.90年代老外发明的电磁炉,一片339构成谐振,同步,高压检测(检锅),浪涌检测,至今,电磁炉还是这样的主构造。

使用特权

评论回复
12
ZG11211| | 2014-3-15 14:47 | 只看该作者
软件需要建立在合适的硬件平台上才能运行,所以软件的好坏取决于编程人员对硬件的了解程度。

使用特权

评论回复
13
通宵敲代码| | 2014-3-15 15:13 | 只看该作者
再牛X的员工也得听老板的!!

使用特权

评论回复
14
宋业科| | 2014-3-15 15:40 | 只看该作者
懂得越多不会的也越多。

使用特权

评论回复
评论
杰杰21c 2014-3-15 15:52 回复TA
赞同,翻过山才会看见大海嘛 
15
gurong60| | 2014-3-15 20:03 | 只看该作者
chunyang 发表于 2014-3-14 23:11
如果楼主想对比一下硬件和软件的数学难度,不妨先试试弄懂麦克斯韦电磁理论方程,这个,可是能够推导出相对 ...

春哥,哪天开贴给我们讲下真正的欧姆定律

使用特权

评论回复
16
nickzhou99| | 2014-3-15 20:18 | 只看该作者
通宵敲代码 发表于 2014-3-15 15:13
再牛X的员工也得听老板的!!

那是他还不够牛吧

使用特权

评论回复
评论
明月小厨 2014-3-17 22:21 回复TA
不愿意听老板的,结果是唯一的——滚蛋。 
17
chunyang| | 2014-3-15 20:50 | 只看该作者
gurong60 发表于 2014-3-15 20:03
春哥,哪天开贴给我们讲下真正的欧姆定律

讲没有用,初中物理教材上有详细的讲解,相信每个上过初中的人都学过,但会用才是真的懂,这个需要自己去领悟。

使用特权

评论回复
18
通宵敲代码| | 2014-3-15 21:18 | 只看该作者
nickzhou99 发表于 2014-3-15 20:18
那是他还不够牛吧

非也非也

本质上来说,是他没学会用老板的方式来思考。

使用特权

评论回复
19
whxbluesky| | 2014-3-16 11:24 | 只看该作者
我觉得软件(编程)更多的是梳理人的思维,思维理顺了,程序自然顺了,
而硬件更多的是原理的理解、归纳总结和拓展,更偏重的是理解能力和归纳总结能力,
对人的智商要求角度不同各有偏重点也不同。

使用特权

评论回复
20
msblast| | 2014-3-16 12:04 | 只看该作者
一帮子人在各说各的:D

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

50

主题

217

帖子

1

粉丝