为了避免被打上编程营销号的标签,小编先说自己的观点:
“必须要”学习编程这一点是 不存在 的,毕竟软件需要专业的人去完成,而我们作为结构工程师,不是这方面的专业人士。
但了解 计算机基本运行原理和逻辑 确实能帮助我们每一个人(无论职业是否是结构工程师)在目前社会中更好地工作和生活。
回想二十多年前,在“电脑”这个词还是个新鲜玩意儿的时候,我们未曾想过它将会如此深入地影响到我们每一个人的生活。
在1999年,我们担惊受怕电脑的 “千年虫” 病毒,许多媒体还会煞有其事地批判“基于数字化工具建立的社会环境会轻而易举地被病毒毁灭”。现今,每天我们都会十分自然地打开手机,读新闻,看视频,刷微博和朋友圈,或者是游戏娱乐,在用0/1堆叠出来的“元宇宙”中探索发现自己感兴趣的内容。至于电脑病毒嘛,我们也早就不像以前那么害怕它们了。
我们结构工程师的工作也逐渐在这个过程中,从画图板转移到计算机上来,也历经了一个从最开始的“ 新奇 ”——“哇,居然可以用鼠标画出图纸!”,到日复一日习以为常的工作的“ 无奈 ”——企业微信又响了;从最开始的主动学习每个软件具体要怎么使用,对软件设计不合理的交互努力适应,到现在对各个软件使用地得心应手,对软件设计不够人性化的地方不吐不快。
“ 结构工程师学习编程 ” 这个话题越来越火,各个软件的二次开发群讨论数量也越来越多,即便是在前几年“BIM”概念的寒冬,围绕着该学习哪个编程语言的争论仍能偶尔会在某个群里刷屏。是不是真的有某些机构在这话题中贩卖焦虑而从中收割韭菜,小编无从得知。但小编认为,“学编程”这个话题之所以能够长期存在并保持热度,其本质是:
我们结构工程师需要一个新的手段来进一步地提升效率,来做差异化竞争。 而恰巧,“编程”这个工具就如同当年的画图软件之于画图板一样,它成为了“提升效率”的一个可能的候选者。
不过,正如当年学习画图软件也需要克服诸多困难一样,编程也是具备门槛需要克服许多困难才能学会。小编相信很多人都在思考:我们在学习编程的过程中的付出到底能不能为我们带来足够多的 收益 ?
小编最早接触到的编程思想就是从matlab开始的,起因嘛,是需要对比各种实验的数据,但是仪器不相同,实验数据结果格式也不尽相同,比起手动去复制粘贴在Excel里处理,我还是希望能自动处理,问了一圈师哥师姐,就开始了编程之路。
我自认为编程给我带来的最大的收益就是,如果在网上找到了某个多年以前的特别好用的软件,但是因为某些原因年久失修了,功能出现了问题,我可以用自己的编程能力解决这些问题,修好这个软件,重新让它跑起来。
一方面是软件重新运行起来它本身带来的 功能性收益 ,更重要的另一方面则是这个“发现问题-运用工具解决问题”所带来的 精神上的愉悦感 ,简直就是极致的人生享受。它就好像玩“魂”系游戏一样,一个Boss打一晚上,极度痛苦的过程,但是把Boss打爆的那一瞬间,它却带来了精神上的极度喜悦,让人欲罢不能。
再者,现在我们经常吐槽各种软件的反人类设计,但软件终归是人设计的,人的设计就必然有缺陷,用软件的人千千万,软件工程师必然无法考虑所有的用户的使用情况,自然是会出现各种瑕疵。不过:
现代社会的运行与计算机如此深度地捆绑在了一起,软件出问题就如同家里椅子上的螺丝松动了一样
诚然椅子坏了设计师脱不了干系,投诉12315这椅子质量不行并发誓永不再买这椅子是必然的,但使用螺丝刀拧紧并进行简单修理之后继续使用,并不妨碍我们对厂商的差评和投诉,反而能临时解决问题。用与不用螺丝刀去修这个椅子唯一区别就是,在出问题的当下,这把椅子能否继续发挥它应该具备的价值。
诚然软件做不好当然是软件工程师的问题,无需我们用户来帮他们解决问题,但是在出问题的当下:
编程让我们拥有了一种能力,一种让软件在当下仍然能为我们所用的能力,一种探索计算机这个工具更多可能性的一种能力
我们了解和学习编程,本质上是在了解和学习当下社会广泛运用的一种技术的 基础运行原理,它会极大程度上地方便我们的生活。夸张一点的形容,回到二、三十年前的社会场景,学编程就好似学习基础电工一样,修修家里的小电器,焊脚脱落了用个电烙铁修补一下,自己孩子玩四驱车的时候,简单的机械问题和电路板小问题也能动手解决。
作为结构工程师,挺多时候我们想要实现某个简单的功能,比如按照特定的格式批量处理某些数据,但却苦于没有恰好完全满足我们条件的简单工具,这个时候,一个脚本编程语言就特别适合我们,比如说 Python。
Python 脚本一运行,我们就能将大量的文本整理成Excel和图表,或者其他想要的格式,极大地方便了我们制作汇报文本和PPT。
再有些时候,我们也想弄一个有窗口互动的小程序,方便发给别人交流和使用,这个时候我们就可以使用 C# 来制作这些小东西,方便快捷。
至于 C++ 嘛,那还是留给更专业的人士吧!
不同的程序语言有区别,但核心的运作思想却不会变,因为,它们都是基于电脑的“基本运作原理”而来的,就好比不同品牌的电视机,每个电视机拥有自己的一个遥控器,但核心总归有“换台”和“调音量”,所有程序总归有“读文件”和“写数据”。
了解了核心运作思想和计算机基本的构成原理才是编程的终极奥义,编程语言本身只是一种表象。
我们学习和了解的时候也不应该浮于编程语言的“语法”和“语言特性”,而是更专注于这个语言是怎么跟我们熟悉的计算机的 “数据”、“文件” 进行沟通。
从这个维度去理解编程,小编相信:
说了这么多小编自己的感触,回到今天的主题, “我们需要通过学习编程来提高我们的工作效率吗? ”。在文章的最开始,小编也已经阐述过自己的观点:
“就单纯提高工作效率而言,不必须要学习编程;但是编程确实能从整体上更好地帮助我们在当今社会上更好地生活,无论我们以后是否从事结构工程师这个职业”。
首先,提高工作效率的方式有很多,比起编程,小编甚至认为 “锻炼我们与甲方、上下游专业、Boss、同事的沟通情商” 能更快速地提高工作效率。提高团队沟通效率、团队协作能力,这些都要比提高个人能力能产生更广泛的效用。所以,小编我 不认为 从提高结构工程师工作效率角度而言,“编程”能力是“必要”的。
但是从另一方面而言,就如同小编在前文中已经提到过的,计算机技术与当今社会的 深度绑定 已经是不可避免的事实,计算机这门学科在近20年来在国内的发展速度已经远远超过了一般人对其发展速度的预期。现今,电子芯片为我们的生活带来了各种的便利,如果它出现了问题,就会造成一些不便。在这个大前提下,我们在工作和生活中具备一点编程的能力和逻辑思想,哪怕无法亲手解决问题,也能够在寻求专业人士帮助时,更好地 描述问题 ,更好地 得到帮助 ,更不容易上当受骗。
这与我们平日与“懂一点结构概念”的上下游专业人士沟通结构问题时的情形类似,“更好沟通和交流”、“团队协作效率高”是我们结构工程师更倾向于给予他们的评价。
是否要开始学习编程?小编相信每个读者心中都有了自己的答案。
全部回复(2 )
只看楼主 我来说两句抢地板那么忙没有时间学习,关键是学了也用不到
回复 举报
学习了
回复 举报