西西河

主题:请教一个技术问题,现代战机出售的话,电脑源代码能向对方公开吗 -- yg1993

共:💬24 🌺128
全看分页树展 · 主题 跟帖
家园 其实那些源代码指的是算法,

并且最有价值的也是这些算法。

从编程的角度看,嵌入式代码比起桌面代码或网络代码,真是平平无奇。几十K的代码,反汇编出来后,一个人都可以看完,流程也可以走完。但是就象高中生能看懂最新论文的每一个字一样,普通程序员也能看懂其中每一行代码,但是串起来后就不知所云。看着复原出来的公式只有迷惑,他们到底在干什么?那就不敢修改任何一个数字。

所以解读的人就需要有极强的专业背景和数理能力。比如说上面所说的火炮校准算法,可能就是几十K代码,十几行公式,但肯定不是书本上的算法。书本上的算法可能是又慢又不准,用386都不一定能在几毫秒内算出来。实际开发的人可能很聪明,想到了一些快速算法,并且军方实验室烧钱打炮又打出了更有效的参数,于是这些线性化算法就充满了各种奇奇怪怪的数字,各种奇奇怪怪的公式。不懂的人根本不敢动任何一个地方。

而能力强的人就需要根据专业知识,从这些工程公式反推理论公式和意图,并且在推导过程中理解设计者在工程化过程中的各种考量和权衡。欧美工程师在工程化方面还是值得我们学习的。有些东西就是一层窗户纸,能力强的人最后一拍脑袋说:噢,我明白了。然后根据自己的系统设计,写自己的工程公式,做自己的实验取参数,最后的代码和参考代码就没多少关系了。选哪种编程语言都是小问题了。

在知乎上经常见到讨论:程序员到底需不需要数理知识。因为在大学里软件专业的数理课程是偏难的,但是做码农的时候,绝大多数码农都不需要这些数理知识,有些外人经过短平快的培训同样也能上岗。不过就象某些大牛所说的,如果你在工作中没有碰到需要数理知识的工作,那就说明你没有到达行业的上层。如果做码农碰到了需要数理知识的编程工作,那你就知道你碰到大麻烦了,有一个硬骨头需要你在短时间内啃下来。于是你在几周之内就把大学几年都没有看明白的数理课程全看懂了:-)。

通宝推:夜郎国主,陈王奋起,何求,GWA,唐家山,
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河