软件|如果中国重新开发像MATLAB、solidworks这样的软件大概需要多久?

软件|如果中国重新开发像MATLAB、solidworks这样的软件大概需要多久?

文章图片

软件|如果中国重新开发像MATLAB、solidworks这样的软件大概需要多久?

文章图片

软件|如果中国重新开发像MATLAB、solidworks这样的软件大概需要多久?

文章图片

软件|如果中国重新开发像MATLAB、solidworks这样的软件大概需要多久?

文章图片


某些软件的开发 , 确实似乎挺简单 , 只需要一点编程基础就可以 , 就像手机端日新月异的众多APP 。 然而 , 工程软件不是手机APP , 它不仅仅需要编程能力 , 还需要工程知识 , 需要核心算法 , 更需要充足的经费支持 。 后人追前人相对容易 , 但是工程软件想要达到目前流行商用软件的高度 , 没有十年是不可能的 。



哈工大的MATLAB事件 , 让很多人都知道了这个软件 。 但其实 , 在工程软件里 , Matlab算较为简单的一类 , 实际上它跟C , 跟其他开源的语言类似 。 甚至可以说 , Matlab是一种语言 , 一种编程语言 。 Matlab之所以能在工程软件中占有一席之地 , 是因为其代码库 , 全世界众多的学者 , 针对某些算法 , 编写了程序 , 供全世界免费使用 。 某些代码特别好的 , Matlab公司就会把它做成build-in代码 。

【软件|如果中国重新开发像MATLAB、solidworks这样的软件大概需要多久?】


Matlab就是偏计算类的 , 同类型的还有Mapple , Mathematics等等 , 通过这些偏计算类的软件 , 可以用来实现公式的推导 , 新算法的实现等等 。 这类偏计算类的软件 , 开发难度是最低的 , 有一定的编程能力 , 就可以开发出来 。 除此之外 , 工程软件 , 还有画图类(CAD) , 就像题主提到的solidworks , 同类型的还有著名的catia、autocad等等 。 这类软件 , 主要是图形显示方面的操作 。 这部分CAD软件的开发 , 难度要稍微提高一点 , 这里面涉及到了计算机图形学的内容 , 除了编程能力之外 , 还需要相当扎实的相关专业知识 。 当年我学《计算机图形学》的时候 , 用C语言编写曲线 , 也费了老大的劲了 。




如果说 , 前面两类软件 , 一类是底层的计算 , 一类是图形的显示 , 那么第三类就是真正的工程计算 。 这一类软件非常众多 , 不同的行业都不尽相同 。 在机械相关行业 , 有限元软件就是典型的工程计算软件 。 它不仅仅要求底层的代码编写 , 中间的图形显示 , 最重要的是工程计算的算法 , 这部分内容 , 没有学过力学是完全不可能搞出来的 。 算法是有限元软件的核心:达索旗下的Abaqus有限元软件为何能够起步慢但是发展快 , 根源就在非线性的计算能力是其他同类有限元软件不可能达到的 。



目前商用工程软件的高度——以有限元软件为例 , 有限元最早是NASA为了航空航天开发出来的一套软件 , 通过这套软件 , 可以设计出更加轻便但是足够结实的飞机和火箭 。 随着科技的不断进步 , 早期的那种纯粹的结构分析 , 早已经无法满足现在的研发能力 。 现在的有限元软件 , 除了传统的静力学分析之外 , 还有模态分析 , 随机振动分析等等 。 如果说这些分析也仅仅都是纯力学分析 , 那么考虑电磁场、温度场等其他载荷对结构的影响就更加复杂了 , 算法实现的难度是几何级别的 。



以Ansys为例 , 它能够处理的问题包罗万象 , 甚至可以说 , 只有你想不到 , 没有它涉及不到 。 在仿真领域 , Ansys本身就是以应用范围广而著称 。 另外 , 学术在不断的发展 , 一些学者发表出来的论文 , 采用了新算法 , 可以实现更快更准的计算 。 那么 , 这些软件巨头 , 就会把算法买下来 , 用于下一版本软件的更新 。 实际上 , ABAQUS软件就是如此 , 最早期 , 软件本身就是一个博士生弄出来的算法 。