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

作为一个使用MATLAB多年的工科人,我的结论是:如果是开发个软件界面,然后把当前已有的算法和模型放进去,有几十个外包的程序员两三年就够了。但是难点在于之后的扩展以及算法出错后的维护与修正。

由于中国的专业工控软件开发者严重不足,基本上达不到要求,恐怕至少20年之内不行。




文/小伊评科技


开发MATLAB难在生态建设。

其实单纯就开发软件的角度而言,以国内目前软件开发行业的实力来说,开发出一款类似于MATLAB这样的软件根本不是什么难事,如果你用过这款软件的话,你应该就知道MATLAB在软件层面其实是很简单的(由C++,C,JAVA混编而成),并没有什么复杂的交互逻辑,甚至你可以说他很简陋。而且MATLAB这款软件本质上也没有什么独家的技术和秘密在里面。

但是MATLAB最厉害的地方就在于它丰富的内容以及易用性和稳定性,也可以称作是一个生态体系,这是短期内无法被取代的,需要一个长期的积累过程。

笔者在这里举一个例子吧,以笔者最熟悉的前端这个行业为例。在我们前端编程这个行业中同样也有很多知名的软件,譬如常用的Webstorm,Submit, Dreamweaver等等,这些软件都是付费授权的,价格还比较昂贵。

用Webstorm编写HTML

但是从根本上来讲,编写HTML并不依赖于这些软件,前端工程师完全可以直接可以用Window 自带的TXT编辑器就能够编写,效果也是一样的。

用TXT文档编写HTML

那么有人会问了,既然如此为什么还要花钱购买编辑器呢?原因也很简单——提高工作效率,简化编程过程

就拿Webstorm来说,这款软件可以帮助你自动的补足代码,标记语法错误,实时预览,再配合上一些插件可以一键帮你打包编译整个项目,极大的提升了工作效率,降低了开发成本。那么如果没有这些软件的话,工作周期将会大大的增长,相应的开发成本也会指数级增长。

所以说,这些软件虽然不是必须的,但是不用也不行,除非没得用。

MATLAB这款软件其实也是这样,从MATLAB诞生到现在已经有几十年的历史了,内部已经集成了大量的数学模型以及一些复杂的生态体系,形成了一条非常完善,非常强大的生态体系。

譬如你想调用某一个物理模型去模拟飞行器的运动轨迹,你只需要操作MATLAB找出该模型,然后将数据导入即可,MATLAB会自动帮你模拟运行,并且生成可视化的数据流。

那么如果你没有MATLAB的话,就只能一步一步自己一点一点的去推算,虽然最终也可以推算出结果,但是要耗费更多的时间和精力。

那么国产同类软件,想要在短期内达到类似MATLAB这样近乎于变态的生态体系几乎是不可能的,就算是一行行的复制代码也需要时间成本不是,更何况很多高精尖的物理数学模型也是需要大量的时间和专业的人员去调整和优化。


使用习惯也是一大难题,更换新软件的学习成本比较高。

MATLAB作为一款老牌的应用科学类软件,是很多学科学生上大学时必备必学的一款软件,而且由于功能复杂,其学习的成本也是非常高昂的,一个学生想要完全熟练地掌握MATLAB往往是需要付出很长的一段时间以及大量的练习。那么如果现在突然让他们接手另外一个软件的话,学习成本就会比较高昂。

因为每个软件的操作逻辑都是不同的,譬如就拿PS和CDR来说吧,都是平面设计类软件,但是两款软件的操作逻辑和方式完全不一样,掌握新的软件往往需要付出大量的时间成本,这也会对我们国家的科研进度造成一定的影响。


但是话说回来,MATLAB也并非是不可替代的,目前市面上已经有很多类似的开源软件可以在某些层面上替代MATLAB,只不过这些软件都没有形成类似MATLAB这样的规模而已,那么如果我们国家最终被全面禁止使用MATLAB软件的话,倒逼国内相关产业的发展也不是难事。


end 希望可以帮到你




软件开发很快,以中国的盗版技术,估计2-3年就有可以商用的了,问题是之后呢,更新,补丁,这是要一个专业团队去做的,没有市场很难成功,当你成功的时候,国外可能又给你开源来抢占市场,国内可能好不容易编写出来,最后又被成本压垮,需要得到国家和国内企业的支持才可以




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


1、底层的计算类

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

Matlab就是偏计算类的,同类型的还有Mapple,Mathematics等等,通过这些偏计算类的软件,可以用来实现公式的推导,新算法的实现等等。这类偏计算类的软件,开发难度是最低的,有一定的编程能力,就可以开发出来。


2、中间的图形类

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


3、顶层的工程类

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


4、目前商用工程软件的高度——以有限元软件为例

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


以Ansys为例,它能够处理的问题包罗万象,甚至可以说,只有你想不到,没有它涉及不到。在仿真领域,Ansys本身就是以应用范围广而著称。


另外,学术在不断的发展,一些学者发表出来的论文,采用了新算法,可以实现更快更准的计算。那么,这些软件巨头,就会把算法买下来,用于下一版本软件的更新。实际上,ABAQUS软件就是如此,最早期,软件本身就是一个博士生弄出来的算法。


由此可见,无论是软件的功能、还是软件的核心算法,都不是短期可以完成的。想要达到现有主流软件的水平,至少10年的时间。然而,主流软件不会等你。


5、借鉴之处

市场上主流的商用软件,其实都不是完全自己开发出来的,可以说是资本运作的结果。它通过不断地吞并,来壮大自己。比如,Ansys之所以功能如此齐全,就在于它不断地吞并其他小软件,将其整合到自己的体系之中。


另外,这些企业也不会只把鸡蛋放在一个笼子里,多头并进才是生存之道。比如下图是达索公司的产品,它不仅仅有有限元的仿真软件,还有画图的cad设计软件,空间规划软件等等。

在有限元领域,竞争还是非常激烈的,同类软件不少。为了争夺市场,必须有自己核心的内容,这个内容就是算法。正如前面所述,这些软件拥有商,都在时时关注着最新的科研动态,一旦有较好的合适的算法,立马像鲨鱼闻到了血腥味,买断新算法的版权。这不仅仅需要耐心,更多的是需要经费支持。


6、总结

工程软件与其他软件不同,它不是仅仅依靠编程能力就可以实现的,还需要计算机图形的专业知识,更重要的是需要工程专业相关的专业知识,比如力学。而同时具备相关知识的人,可以说是几乎不存在。必须依靠一套管理体系,让专业的人做专业的事才可以。想要短期内,追赶上现有工程软件的水平,非常困难。


如果想快速发展自己的软件,资本化运作或许是个可行的方案。




首先要解决迭代环境问题,因为基础差,直接和老外拼就无法在市场中获得迭代机会,解决问题的办法是:在中国组织基础软件开源,各高校的教学和科研可围绕此进行,国家组织专家评估各单位在开源中的贡献度,贡献度高的,可以获得国家相应的资金扶持,这样就形成了竞争机制,也获得了迭代环境,或许我们很多的基础软件就能成长起来。




500名程序员精英、500名各行各业专家、开发十年能赶上现在的水准




软件信息技术领域最核心的观念,就是开源,所以国内大部分软件从业人员在接触这行或者从事这行时,大部分都是在已有的框架和开源产品上进行应用场景的设计,通过使用现有被行业认可的插件和资源,能快速实现场景的落地,像Matlab便属于这类,若要重新开发这类,目前可行的方案是现有互联网大厂和高校科研机构来主导这个项目,周期不太好估计,主要看投入的资金和人力,若是这类组件都要重新开发,构建国内自有的产品,任重而道远。




根据中国的实际情况,这些基础工作应该由教育部牵头,分给不同的高校去做,不追求市场占有率和挣钱,就是为了教学,培养人才,如果某个软件有市场前景,可以鼓励走向市场,由公司去维护,但知识产权归学校,软件是一个系统的集成,需要迭代,我们现在基本上是拿来主义,连基本的消化和翻译成自己的文化都没有,这不行。




几个月吧,其实做出一款功能matlab,soliworks一样的功能并不难。都是编程而已。只要人力物力足够就行了。不像光刻机还需要依赖国外的零部件。




十几年

不是说技术上有多难

而是,这种商业软件是在用户与软件之间不断反馈升级一步一步发展而来的,不断的升级不断的debug才有今天的样子,而且还要适应硬件和基础系统,互反馈实际上是一个很耗时的过程。

再者,商业软件它是不断开发不断吸收用户,一边赚钱一边投资。如果新开一个公司,开发的软件在初期都不能积累足够的用户不能赚到钱,就很难再维持进一步投资开发。

美国人,tmd现在在做的就是阻碍人类文明进步的事。

展开阅读全文

页面更新:2024-05-11

标签:中国   软件   算法   图形   有限元   多久   核心   成本   体系   能力   代码   基础   国内   工程   行业   专业   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top