【问答:工程师思维和科学家思维有什么区别?】@作家傅兴文
谢邀!
之前读到《计算机思维》一书,其中就提到工程师思维和科学家思维区别。恰好刚读到万维钢中对此书的解读,谈的非常好,就借用其中部分内容还回应这个问题吧。
我们要说一个特别厉害的技能,叫做“软件工程”。以我之见,软件工程,可以说是工程管理和综合治理手段的极限。我希望你能从这一讲体会一下如何治理最复杂的系统。
可能你是一个产品经理,主导开发过一款APP。可能你是个企业家,管理一个几万人的大工厂。可能你是个土木工程师,设计过一座跨海大桥。你非常厉害,咱们中国有很多这样的厉害人物。中国是手机 APP 开发大国,中国有很多超大型企业,中国有全世界最长的跨海大桥 ——可是为什么中国就没有属于自己的计算机操作系统呢?为啥国产芯片不行呢?
因为那些事儿,跟现代软件工程相比,还只能算是简单的事儿。
程序员、CEO、计算机科学家,如果是拍一个超级英雄电影的话,这些人都可以是前台的英雄人物。但是躲在幕后操纵世界的,则将是一位、或者几位,软件工程大师。有句话叫“在计算机科学里,软件工程这一部分,对计算机科学家来说太难了。”
不了解软件工程,你就不知道什么叫“大”,什么叫“复杂”。(思进注:之前提过,我曾在INEA做过二三年软件工程,对软件工程之复杂,深有体会……)
1、小和大
编程是个非常适合自学成才的项目。很多人不是科班出身,自学编程技术,也容易找到一个程序员的职位,甚至还可以自己开发一个小软件。
但仅限于*小*软件。比如你可以自己写一个电子邮件客户端程序,或者写一个视频编辑工具。可是如果要开发一个超大型软件,其中涉及到的学问,可就不是自学所能达到的了,那是需要在重大项目的实践中去领悟和提高的。自学也许可以让你成为一个优秀的侠客,而伟大的将帅,则只能用千万士兵的鲜血铸就。
这里面的关键是一个尺度问题。大,是不一样的。
计算机刚刚出来的时候,程序员都是身上有修士气质的手艺人。编程者经常是孤独的,能说天书一样的语言,想法高深莫测,写出来的代码仿佛有一种暴力美学,他们的眼睛跟显示器一起在黑暗中闪闪发光。编程,是一项神秘的技能。
那时候的程序都是完全自由的 —— 计算机很贵,而程序不要钱。程序员们就好像十九世纪的艺术家一样,偶尔弄个俱乐部或者小作坊,彼此欣赏。
不过这个艺术时代并没有持续多长时间,程序员们很快就陷入了极度的悲观情绪之中。因为……错误。
写代码太容易出错了!代码越写越长,出错的频率不成比例地增加。可能你今天费了很大力气好不容易运行通过了,过了几天、遇到一个没想到的情况,发现还有一个隐藏的错误。有个程序员甚至说,他意识到,也许他的余生,都要在纠正自己的错误中度过……
程序员们终于明白,他们需要工程师思维。
我们之前讲了一些计算机科学的思维,而工程师思维和科学家思维至少有三个重大区别。
第一,科学家是寻找事物的规律,而工程师是去设计一个东西。科学家只要觉得这个规律有意思就可以发表,而工程师得负责任。他得确保这个东西不但要有用,而且还得安全不出事,还得考虑成本,讲究可行性,让人用得上还用得起才行。
第二是对知识的态度。科学家面对知识,是把自己当成一个没有利益攸关的旁观者,感觉看懂了、能总结出规律就行。而工程师,则是参与者。他不能仅仅“懂”这个知识,他是要拿来用的。
第三是对模型的使用。科学家喜欢简化的模型,能抓住实质就行 —— 爱因斯坦有句名言说“什么东西都要越简单越好,要简单到不能再简单为止”。而工程师必须考虑所有的细节,“魔鬼在细节中”是工程师的座右铭。
将在回复《工程师思维有什么特点?( https://t.cn/A6J50XMo )》中接着谈。
最后,再顺便打个小广告,“陈思进财经漫画”系列第二部《漫画生活中的金融》新鲜出炉、我的财经图书“收官之作”《投资的方法》即将出版,谢谢关注!
谢邀!
之前读到《计算机思维》一书,其中就提到工程师思维和科学家思维区别。恰好刚读到万维钢中对此书的解读,谈的非常好,就借用其中部分内容还回应这个问题吧。
我们要说一个特别厉害的技能,叫做“软件工程”。以我之见,软件工程,可以说是工程管理和综合治理手段的极限。我希望你能从这一讲体会一下如何治理最复杂的系统。
可能你是一个产品经理,主导开发过一款APP。可能你是个企业家,管理一个几万人的大工厂。可能你是个土木工程师,设计过一座跨海大桥。你非常厉害,咱们中国有很多这样的厉害人物。中国是手机 APP 开发大国,中国有很多超大型企业,中国有全世界最长的跨海大桥 ——可是为什么中国就没有属于自己的计算机操作系统呢?为啥国产芯片不行呢?
因为那些事儿,跟现代软件工程相比,还只能算是简单的事儿。
程序员、CEO、计算机科学家,如果是拍一个超级英雄电影的话,这些人都可以是前台的英雄人物。但是躲在幕后操纵世界的,则将是一位、或者几位,软件工程大师。有句话叫“在计算机科学里,软件工程这一部分,对计算机科学家来说太难了。”
不了解软件工程,你就不知道什么叫“大”,什么叫“复杂”。(思进注:之前提过,我曾在INEA做过二三年软件工程,对软件工程之复杂,深有体会……)
1、小和大
编程是个非常适合自学成才的项目。很多人不是科班出身,自学编程技术,也容易找到一个程序员的职位,甚至还可以自己开发一个小软件。
但仅限于*小*软件。比如你可以自己写一个电子邮件客户端程序,或者写一个视频编辑工具。可是如果要开发一个超大型软件,其中涉及到的学问,可就不是自学所能达到的了,那是需要在重大项目的实践中去领悟和提高的。自学也许可以让你成为一个优秀的侠客,而伟大的将帅,则只能用千万士兵的鲜血铸就。
这里面的关键是一个尺度问题。大,是不一样的。
计算机刚刚出来的时候,程序员都是身上有修士气质的手艺人。编程者经常是孤独的,能说天书一样的语言,想法高深莫测,写出来的代码仿佛有一种暴力美学,他们的眼睛跟显示器一起在黑暗中闪闪发光。编程,是一项神秘的技能。
那时候的程序都是完全自由的 —— 计算机很贵,而程序不要钱。程序员们就好像十九世纪的艺术家一样,偶尔弄个俱乐部或者小作坊,彼此欣赏。
不过这个艺术时代并没有持续多长时间,程序员们很快就陷入了极度的悲观情绪之中。因为……错误。
写代码太容易出错了!代码越写越长,出错的频率不成比例地增加。可能你今天费了很大力气好不容易运行通过了,过了几天、遇到一个没想到的情况,发现还有一个隐藏的错误。有个程序员甚至说,他意识到,也许他的余生,都要在纠正自己的错误中度过……
程序员们终于明白,他们需要工程师思维。
我们之前讲了一些计算机科学的思维,而工程师思维和科学家思维至少有三个重大区别。
第一,科学家是寻找事物的规律,而工程师是去设计一个东西。科学家只要觉得这个规律有意思就可以发表,而工程师得负责任。他得确保这个东西不但要有用,而且还得安全不出事,还得考虑成本,讲究可行性,让人用得上还用得起才行。
第二是对知识的态度。科学家面对知识,是把自己当成一个没有利益攸关的旁观者,感觉看懂了、能总结出规律就行。而工程师,则是参与者。他不能仅仅“懂”这个知识,他是要拿来用的。
第三是对模型的使用。科学家喜欢简化的模型,能抓住实质就行 —— 爱因斯坦有句名言说“什么东西都要越简单越好,要简单到不能再简单为止”。而工程师必须考虑所有的细节,“魔鬼在细节中”是工程师的座右铭。
将在回复《工程师思维有什么特点?( https://t.cn/A6J50XMo )》中接着谈。
最后,再顺便打个小广告,“陈思进财经漫画”系列第二部《漫画生活中的金融》新鲜出炉、我的财经图书“收官之作”《投资的方法》即将出版,谢谢关注!
约老陈出来给美院研修班的同学开了一个诗词讲座,这半年忙于写生和山水基础课教学,即将毕业,以后真要把画画好,需要各方面的修养,读一点书总是没有坏处。老陈说诗歌就是表达人类喜怒哀乐的情绪,他做过统计,90%以上的好诗都是表现“悲”的感情,哀叹人生无常,山川易色。大概成年人的底色就是悲哀的,生存多艰,命运多舛。
从上周五开始 到现在
读完了吴军博士系列书中的《见识》和《态度》
星期五和星期六 使用睡前的一段时间 读完《见识》
将 假寐不知前路 差点忘记初心 即将把一件事情变成错误 的我 叫醒
这是天意 善良 慈悲我感恩 行动 精进
星期天和星期一 读完《态度》
谈及的话题 对于我这个读者来说 觉得稍显空泛
但是关于求学方面有收获#阅读#
读完了吴军博士系列书中的《见识》和《态度》
星期五和星期六 使用睡前的一段时间 读完《见识》
将 假寐不知前路 差点忘记初心 即将把一件事情变成错误 的我 叫醒
这是天意 善良 慈悲我感恩 行动 精进
星期天和星期一 读完《态度》
谈及的话题 对于我这个读者来说 觉得稍显空泛
但是关于求学方面有收获#阅读#
✋热门推荐