一个计算物理课,我采用c++/OpenGL/OpenCL实现了一个中心差商算法求电场和磁场,被老师吐槽,你这写了5页代码,编程能力也太弱了。
殊不知如果不用特殊计算库,需要自己完成大型矩阵构造和并行求逆代码。并且为了代码可重用性,在许多地方都留了接口。今后修改拓展都比较方便。还用底层图形库绘制了图形,效果也不比matlab差。而matlab(20行)写的同学就被表扬,代码精简有效,甚至还要分享传阅。
所以我今后用傻子都会用的matlab比较好?老师还是某学院院长,得过国家科技进步奖,具体名字就不说了,从这件事以后就对他刮目相看了。难道超大规模运算你也用matlab?难道你服务器上运行的是matlab代码?
———————————更新———————————
谢谢大家回答,不管是觉得老师这样方式不好,或者是觉得我这种方法不好的人,都谢谢大家。主要是发泄一下牢骚,并且展开一下讨论,看看大家对这种情况怎么看。
我一直觉得自己需要了解算法底层的,所以我会自己造轮子,自己造的轮子可以自己修改。别人的轮子不仅仅有学习成本,内部实现也不知道。当然,时间成本过高我会选择已有库。谢谢几个大佬给的常用数学库。
我是执行效率至上主义者,能优化的程序我会尽量优化,这也是我喜欢用底层语言自己写的原因。另外我也不是想职责这个老师,只是他在课前就说用什么语言都行,大家都知道要对比长度,合理性暂且不说,c/c++的长度肯定不占优势。
质疑这个老师主要在于,疑似他对于自己不熟悉的领域也站在至高点。这让我对于他那些非专业问题(非专业问题)讨论的正确性持有怀疑。不过老师扯一些题外话确实也没有必要认真。
就是对他一脸不屑在全班说,有些同学写了那么长的代码,编程能力也太差了,感到痛苦。
总之谢谢大家了。
题主悬赏了20铜
|
已采纳 c-wangyu-c 的答案
代码写得长就很菜吗
回答
-
众所周知,P9是个程序员交流论坛
-
mastman429 @c-wangyu-c 发个牢骚,受到了不公平的对待。
-
层主 @mastman429 我是很崇拜会码代码又喜欢打游戏的大佬的
-
-
20行的就只是为了解决当前问题而已了,我觉得题主很强啊,留了接口提高拓展性和重利用性,这个习惯很厉害啦
从这个老师的骚操作看来,有点水呢
-
“老师,下次你布置别的作业,我可能还是交这份代码就能通过了”
-
众所周知,多数国企检查开发进度和绩效的方法是:统计代码行数。
所以,在各位领导眼里,一个功能能用越少的代码实现,那你就越牛逼。 -
-
刮目相看似乎是褒义词?
-
我怎么感觉p9里的人怎么啥都懂。只有我是个弱比,别人说啥啥都听不懂的那种
-
可读性才是关键,不搞纯软的不差那点代码优化,搞生气了临走注释删一波。导师一般都不咋懂,不用鸟他们,懂个卵,就是找个由头刷自己的存在感而已。更多的吐槽大会请看小木虫。
矩阵多用用Eigen 3,值得学习。 -
如果你认为自己能力强,就别把视野局限在校内了,不用在意老师说什么
想办法把能力用在合适的地方
仅仅单纯就重复造轮子这件事来看,在哪也不是那么值得吹捧的 -
编程能力太弱了 这种评价压根不在于是不是重复造轮子的问题了吧 而是这人根本不懂软件工程是什么
-
众所周知, 全P9只有我不会写代码
-
仔细看了下题主的描述,好像自己心中已经有了答案,就是来这发泄一下,我就不多做评论了。
-
orcasdli @adsaracai 科研性质的代码与软件行业代码的倾向性不同,面向的人群和场合也不同。你之前说的也完全没错。
-
certain_li @adsaracai 预设立场的提问总有点陷阱的味道啊……
-
-
涉及到大规模矩阵我肯定直接用matlab
-
你没错,但是你同学和Matlab也没错
如果老师真这么想的话那显得不专业,也有可能是看见这么长的代码随口吐槽一句
代码长短这些不能一概而论,至少用Matlab的同学确实是十分聪明,他的代码才会被传阅的。
至于老师的话就不要放在心上,这也是一个好经历,尽量不要被别人的话影响自己的心态 -
某些情况下,是的
-
这是院长太菜了,他说的如果确实是“编程能力也太弱了”,说明他不懂编程
话又说回来了,对于非计算机/软件方向的,他可能确实无法了解lz这个事情有什么意义、要费多少功夫。在一个作业能用matlab20行解决的情况下,这个问题就适合于用matlab解决,matlab就是最合适的工具,能够让你费最少的劳力满足需求,而lz使用专业库和图形库(这就是matlab解决的问题,属于重复造轮子),考虑扩展性、代码健壮性(对于非科班出身根本意识不要这一点的价值),想让别人正确评价还是挺难的。
当然lz做了这么多的工作,如果想要展示出来应该:1、matlab版也要实现,作业做两份,怕什么;2、展现你的方案的优势,稍作修改可以实现一些matlab无法实现的功能。 -
工作后的经验总结出来的几个基本点:
1. 不管效率如何,先解决当前需求。
2. 解决需求后,再提升效率和性能。
3. 这一点可有可无。需求、效率、性能都解决后,再考虑可扩展性。
学术派观点和实用派观点是两码事。 理论不实用化的话,一点用处都没有。 -
Don't reinvent the wheels.
-
又发现一个程序猿 活捉!
-
可以去v2ex站发帖
-
只会写bash脚本的悄悄溜过去。。。
-
大学老师有些挺水的 最近在大学里听讲座 有个教授吐槽同学院的另一个教授喜欢各种虚的名号 来头挺大 但其实他就只是给学生上上课而已 手头根本没有研究项目 也没有特别擅长的领域 讲的课也只是普及知识
-
这就是发明轮子和用轮子的区别啊。
你把你造发明的轮子发出来让大家用用,有人用的话也就轮不到老师来评价你了。 -
代码我不知道如何,心理能力倒是不强
-
恕我直言 教师非专业研究方向真没学生厉害。上课讲的东西一堆问题,我鸟都不鸟他们
发表评论,请先 登录