开发?没戏!作为一个过气老it,我认为中国软件开发团队没能力写这些软件。话一出肯定我被群殴,但是确实没能力写。单说数学解方程,微积分,傅里叶变换,矩阵转换。。。
请问有多少年薪百万的软件工程师能写出代码,且保重高效率,高精度。还有物理,化学,生物,电气工程,多了,都需要大量开发、验证。那些数学模型都需要编程解算,30年前的博士都自己写程序,算数天后看数据,都不知道结果是否正确,因为没验证过啊,然后做试验验证。
现在都用现成的了,都是人家做好了拿来就现成的,也不赖我们,因为操作系统,编译系统都是人家的,轮不到我们做,我们就是做应用,matlab等软件是应用软件,但需要系统软件的开发能力,这样的人中国就没多少。 其他网友回答:仔仔细细的想了一下流程,难度系数在并不是非常的大,但也在85分以上。(等级100)
我们简单的将Matlab的功能,拆分成:
(1)数据计算:包括纯数学计算(微分,线性代数,矩阵等),数据分析(建模,比较,递归等等分析)
(2)数据仿真:(主要用在工业中,例如工控领域,运动学逆解算法,金融领域,电子工业领域)
熟悉matlab的都知道,大部人喜欢用matlab做各种数据计算,可以将各种微积分,各种复杂的函数,快速的构建出来模型。
曾经在大学期间,尚且不会matlab的时候,用excel实现过较为低级的数据计算。(不要乱喷啊,咱们一步步的讨论,数据计算的问题)
excel肯定是比matlab要low多个数量级的,并且在处理数据,上面便捷性也差非常多。
本身excel也不是是一个计算为主的工具,主要是一个简单的办公的软件。
但是,从excel我们延伸来说:
作为最简单数据计算工具,熟悉excel,vb编程的都知道,WPS和OFFICE是有很大差距的。大量的函数,wps是实现不了的。
【我们不去深究,当年到底是office抄袭了WPS,还是其他的情况!】
但现实放到今天就是,在数据处理办公软件中,各种数据展示,查找,WPS还是要低于office。
所以,从数据计算的角度讲,金山算是培养了最早一批的人才,并且有一定的实力,做针对性软件。但是合格实力好像还有待提高。(评价要委婉点)
excel行业的人才不行,那我们转向python看看,有没有人能够担负大任?近年来,国内大数据,人工智能,国内培养的人,多数都在做python。
python数据可视化,以及发展至今的各种开源库,确实很多。
说实话,确实可以替代matlab。
但是问题在于,python好学,只是语法好学。不是应用好学!
想要所有人,都学会python,并且能够达到数据处理的能力级别,是不显示的。
因为达到这个级别的人,python技术都已经可以“出栏”销售了。
那么用python开发一个平台,封装好各种库,直接在软件上面调用。就是做一个app,这样可以吧!
从各种数据计算的处理角度讲,人才储备,以及实际的应用。
目前最接近的就是,国内人工智能算法的几家大企业,BAT。
国内做出一款,可以替代matlab在计算功能方面的应用。3-5年是完全可以实现的。
如果从开发的角度讲,如果python可以替代matlab的简单计算,那么将多领域,多行业的数据计算模型贡献出来,做出第二层面的仿真,难度就非常大了。
这有一个非常重要的条件:
matlab机器人运动学逆解
那就是要国内,尤其是各个企业都贡献。由于不同的行业,例如金融,电子,运动控制等等都要贡献出在本行业中,已经优化后的计算方式,尤其是各种参数的调试方式。
一旦谈到联合,这就演变成了一个问题:行业标准,以及学会的交流从制造业从业者的角度来说:
看了这多年的各行业标准,除了特高压行业,只有中国研发,并且使用,各国都没有主力研发。这个领域全球使用中国的标准外。
工控领域,通讯领域大量的标准都使用的外国的标准。
如果要实现替代matlab的仿真应用,就必须要各个行业,贡献出基于统一标准的各种算法以及数据结构。这是最快的开发方式。
从速度上面来说,我们现在已经算是比较取巧了,不少算法,都经过了实际验证,甚至曾经都是matlab推算出来的。
现在从新的反向编译,用另外一套语言,实现这个仿真,理论上是比较快的。
但是,我也发现国内大量的学会,协会,甚至国家主导的标准机构,好像没怎么有过多的建树。(不深聊)
工信部牵头,校企联合开发,国企贡献工艺数据。这个总是可以吧。工信部可以指挥得了国企。
这个时候,你就发现核心的症结:
国内校企联合的紧密程度,只在三个时候出现:
(1)学校要学生就业了。企业来招聘,以及输送人才。
(2)企业是校友,学校希望企业捐款,企业希望学校建立相关科研机构,说不定有采购合作。顺带企业也有一个名气,有个站台。
(3)真的到了,技术转化商业应用的时候。基本上都是自己出去开干。然后同高校的交流,又回归到上面两种了。
理想中的:理论——实践相互结合,共同发展的情况。差距堪比银河系!
这就造成了,学校交的都是外资推荐过来的应用,产品,教材。
外资赞助一个实验室,几百套软件。甚至matlab,大量进入校园,在坐的老师,难道不知道怎么回事吗?
当年我熟悉的三菱,西门子PLC,数控系统进入,本科,专科,高职校园。人家就是直接送,不要一分钱。
培训出来的人才!最熟悉的就是三菱,西门子。
你告诉我,这玩意对国产软件的贡献在哪里,贡献都在优化了三菱,西门子的数据控系统。
从这一点上说,想要实数数据的仿真,那至少需要5年-10年。因为理顺这个关系都要很长时间。
数据仿真Matlab,真的不算是卡主工业的喉咙。还有大量的更狠的存在。所以今天讨论替代matlab的时候,不要激动,还有更多需要你激动地存在,哪天SolidWorks等等开始考虑替代的时候,那真的要认真对待
(图片来自:南山林雪萍,版权归属南山林雪萍,如有侵权,立刻删除)
思考一下,每个大学必学的课程,什么matlab操作方式,什么solidworks操作方式,什么cad应用,PS使用技巧。直到有一天发现,这个不是天生就有的东西,这个是需要对方许可才能够使用的东西。
高校就应该做到支持国产软件,尤其是以维护国家安全为重点,做到发展国产软件,支持使用国产软件。matlab确实没有国产替代的,但是CAD,CAE,Solidworks,office有啊,这些怎么不去支持国产,发展国产,提交功能改变。
matlab事件告诉我们,虚拟空间的license,也是有国界的,你不被对方认可就不能进入,跟有钱没钱,没关系。
license就是cyberspace的国籍,这会是未来世界的共识。
其他网友回答:环境问题,国外许多厉害软件是开源软件,而我们没有,我们是拿着开源软件一改,号称自己软件,各种捞钱。
阿里云是一个云服务平台,用来跑现成的商业应用的。matlab是一款仿真软件,创作论文必不可少的工具软件。不是一个层面的东西,哪个好做出来没有可比性。但是老美有亚马逊云,比阿里云强。而我们除了老美的matlab,没有自研的可替代的仿真软件。
写出一套MATLAB,也许不是很难,因为这只是把一些数学公式数学知识集成到这个软件中,但需要做大量的基础性工作,在中国没有这样的气氛,没有这样的氛围去做这样的事情。有点能力的大学生研究生,都去做短平快的事情,都去做更快的挣钱的事情。爱好到哪里去了?理想到哪里去了?国家也只是鼓励能够更快更多的挣钱,鼓励能够创造更多的经济效益。一些基础性的工作,目前国家也开始注意了,但是与当前的社会氛围格格不入,很难取得一定的成绩。
我上学那会用matlab写了个算法,导师让我一师兄改成C的。他用了一下月改好,还志得意满地说,虽然他程序文件挺大,但效率一定比我原版的高,毕竟是C嘛。结果我用matlab跑完不到1分钟,他的程序用了7--8分钟。最后,他挺尴尬地让我别给导师说。
原来我们国家准备做汽车的时候,也是一片质疑,事实证明做比不做好,不做就永远不会进步。飞机也是一个道理,如果我们把阻碍我们发展的主要项目在国家层面立项,那就没有做不成的事,关键是我们要做的太多,有个急缓。没有MATLAB是不是就不能搞科研了,显然不是,其实自己编程序也不错,就是慢了一点,但是编程水平却提高了,这也许又会有另外的边际效益。事情总有正反面。
我们即使搞出来了也不能解决问题,美国的东西多了去,他制裁一个你就搞一个?美帝的这种垄断做,我们必须找到反制措施,他搞技术脱钩,我们可以在经济上、外交上(联合国世界热点问题美帝也需要中国配合)、军事上(被美帝欺负够狠的国家时刻想报仇)等等地方为难美帝。原来是有功能完善的国外软件可用,国内的没有市场和发展空间,就是所谓的不需要重复发明轮子。现在国外的不让用了,这就空出来国内的市场空间了,国内的软件就有发展机会了,产品开发出来,后续的试错和优化的机会也多了,所以说,这次禁令对国产同类软件公司来说,是一次难得的机会。写出线性代数算法肯定没问题了,纯粹矩阵计算某些情况下比matlab高也正常,但它的核心是各个领域的专业库。
以我常用的机器视觉来说,实现并优化各种视觉算法才是最困难的,否则numpy就可以代替matlab了。如果您能自己写一个最常用的相机标定程序,效率和精度都比matlab好,那确实非常厉害。模仿着matlab的功能来做,当然简单了。就如你模仿开发和微信一样功能的APP,几天就能开发好。 但是这些软件在开发时,做了多少背后的需求分析,应用场景分析,性能优化,才有了最终成果。 任何摸石头开发难度都很大,模仿个一模一样的matlab很容易,但是一定会被告!独立开发,估计时间不短!
而且matlab主要用于科研,也就是商业价值相对不大,这样资金来源有限,更加剧了开发难度。
高校就应该做到支持国产软件,尤其是以维护国家安全为重点,做到发展国产软件,支持使用国产软件。matlab确实没有国产替代的,但是CAD,CAE,Solidworks,office有啊,这些怎么不去支持国产,发展国产,提交功能改变。
落后就要挨打。 单纯靠国家经费,是不会有好的工业软件开发出来,没市场,没氛围,没人材,没基础,也给不到国外工程师的待遇,即便给了,也是打水漂了。 被打了,简单的打回去,是鲁莽,不吭声,迟早被打死。 比较合理的解决的办法,是从其他当面限制美国,把自己能做好的事情做好,就好像专利授权,大家手上都有几百个专利,总能在某些方面说了算,才能在全局站稳脚跟。
我的一个学计算机的朋友说,凡是你能看到的软件,要高仿一个出来是很简单的,有大批的人干得了这个事,原来没搞是因为有现成的,我们搞了也没人用,现在不搞也得搞了,没得选择。反倒是高端制造领域的材料学、高精度多轴加工中心等倒是很难快速突破。
Pro/E、UG、PM、Cimatron、mastercam,z这几个软件有多少人知道?整个制造行业都在用,但全是外国的!!!国内只有(我知道的)北京精雕勉强能凑数,而且藏着掖着,别人想用用不了!而一旦这些国家禁入这些软件生产的产品,呵呵,恭喜大家,可以休息了,房价会跌到你想是多少就多少!这就是全社会都瞧不起的制造业的威力!
做Matlab,EDA这样的工业软件,核心不是在功能上,而是在充分性,正确性,和稳定性上。需要有非常专业的validation 和verification,在这之后才能够被广泛使用。中国大部分的软件从业人员都developer,有几个懂计算机科学相关内容比如计算理论,静态分析,动态分析,形式化验证的?而这些恰恰是开发这些工业软件以及相关配套工具的基础,就算你从表面照样画葫芦去开发,也用不起来。
客观地说,确实很难,matlab这样成熟的专业软件,需要底层理论基础,不同使用场景靠很长时间累积才能完成,没有捷径。 自然科学发展的历史的原因,对方不遵守全球分工的游戏规则(利益面前规则都是虚的),不能全怪我们相关科研人员不作为,但确实缺少了远见卓识的布局,也不怪对方,这就是现实,人类生存斗争的现实。
现实唯一长久的办法,无论五十年,一百年,二百年,哪怕明天因为别的斗争又让用了,也要开发,国家牵头投入,一定要去做。 核心领域都要如此。每个领域配几百人的顶尖专业团队,估计最多也就上百个专业领域吧,花个10年时间,应该也能出个勉强能用的版本吧,最大的问题可能是国内不太好找基础领域顶尖团队吧!
看是很简单,其实写好了很难,这种软件还有个特点不能纯理论。你们用书上公式写简单但没实原应用价值。人家有很多是实验成果别太看扁别人。中国以现在的环境根本写不出这类软件,只能仿到表面像而以。国产软件根本弄不出成套东西只能东拼西凑。
以前没有人写,是因为有现成能用的,就不去费力气写了,现在人家不给你用了,不自己写怎么办,其实我们国家真的要重视这些基础工业软件以及专业软件,这些才是搭建信息化国家的基础。总而言之就是很难,因为不单是技术问题也是时间积累的问题,但是大家都望而却步的话,那永远都没有机会去实现了。所以对这类似基础学科或者项目的开发应该要让国家来牵头,而且现在已经有存在的东西了,总比开发matlab的初期阶段要条件优越。
这个也和多工业软件一样,要实现某方面的功能 国内应该短时间可以模仿好,全面的功能是人家10几年的积累来的,不可能一下子做成,这也是人家尊重版权的理念基础上才能一直这样发展下去,我们版权理念还没有普及,这样的软件公司在国内根本发展不下去,也就是说国内只利用了廉价的劳动力成本在发展,对知识的价值的尊重和提升才是发展的路线。
其他网友回答:写matlab并不难,但要想达到目前的应用水平很难。不然,早就有人写了。
为啥这么难呢?主要是一个软件的迭代和发展,不是一日之功。刚写出的matlab也很小,能解决的问题很少,但当时也不需要那么复杂的应用。
随着这款软件的应用场景越来越多,使用范围越来越广,它进行了很多次功能完善和迭代,增加了很多功能,去掉了很多BUG,才有今天的水准。
如果谁想从头做一个matlab,这些步骤都不能少。
难题是,有没有人用这款新写出来的软件,如果没人用,就没有反馈,没有迭代方向;如果有人用,那么他的工作效率会大打折扣。
这就像造车,造车不难,四个轮子一台发动机加底盘,很早我们就有解放东风车,但造好车很难,要求不经常坏,安全,速度快,启动快就很难。
需要漫长时间的精益改进。
但现在你让运输司机开50年代的东风解放,他肯定不干。一百公里走三个小时,效率太低了。
很多时候,完善的东西不是靠横,靠砸钱就能得来的。
其他网友回答:如果我告诉你,我独立的用 C/C++(没有调用 LINPACK/LAPACK 之类任何库) 写出了 MATLAB 的核心:矩阵计算(数值线性代数),你肯定不信。如果我再说效率在某些情况下比 MATLAB 原版更高(采用了 IEEE 发表的最新算法,并且结合了现代计算机 CPU/GPU 并行处理架构),可能你更觉得觉得我磕了药。如果我再说它们还能在 FPGA 上进行高度并行化计算,可能你觉得应该送我去精神病院。
可是我想说的是,我不仅实现了上面的所有,而且拥有独立的知识产权。
~~~~~~~~~~~~~~~~
注:我认真看了每个网友的回复,我也认真地回复了每个网友。
首先我想说的是:我没有写出 MATLAB,我写的是矩阵计算这个核心。重点在我拥有每一行的,拥有完全的知识产权。所以请你也不要让我去调用这个库,那个库。调用库,就是调参侠,那叫什么独立自主的知识产权?
所以当你还没有理解到我在做什么的时候,请多看看我和大家的互动回答(你可以理解成 FAQ)。花生米,我没有吃;菜,确实也没点;烟酒也从来不沾。
最后,对于痴迷于 MATLAB,甚至在灵魂上有信仰的童鞋,让我来给你看一张截图(摘抄自我的另外一篇文章“xCORE 问与答”)
其他网友回答:中国多久可以写出一套matlab来?在目前的评价体制下,没有可能。
matlab不只是个软件工具,实际上是数学、物理等专家思想的程序实现。
开发每一个模块,不仅要懂得该模块的理论思想方法,需要相关领域专家支持,还需要计算机技术领域高级人才依据理论方法进行算法设计,是一个复杂的跨领域系统工程。
即使一个简单的微分方程,如何识别各种数学符号、如何组织参数,如何对一串字符进行解析变成可以用计算机运算的公式,也是非常算杂的。很多人连数学、计算方法都很难学懂,怎么可能实现基于数学、算法设计的软件?
matlab这样专业的工具,绝对是要数理、计算机专业技术的绝顶高手在衣食无忧的环境下才可以打造出来的。
其他网友回答:应该是写不出来了。
我比较不理解的是这个点:阿里腾讯这些大公司,程序员个个年薪百万,高格局,空口谈论架构,却连个像样的软件都做不出来。
实话实说,未来很多年之内,没有人写的出来。
因为matlab不是一个软件项目,而是一堆学术研究,需要一大批懂数值计算,各种专业领域的人来写码,不然里面很多的数据参数上哪弄?
这不是简单的几百个程序员就能解决的事情,说个数据吧:去个IOE,阿里花了1.7万人3年的时间,这个时间和人力投入,虽然这2者也不能这么比,但是你应该懂我意思。
再者说,现在都是价值导向,程序员不知道自己能干几年,谁会去做这种吃力不讨好的事情呢?
人家是搞科技,我们是做生意,我们需要有自己的工业软件体系。
其他网友回答:写一套仿真程序其实不难,难的是需要准确的专业素材数据做基础数据库,还有就是长时间运行的稳定性。我个人的看法是一个商业公司在资金充足的情况下从0开始的话快则5年慢则10年(高校应用的主功能模块)。如果撕破脸皮抛开其专利技术直接盗用原软件的数据库开发估计2-3年就能出来。通过30年的发展MATLAB的应用领域十分广阔是一个集大成的软件涉及20多个行业与功能,就像QQ一样从很小的通信功能发展到现在的几十个功能当然需要很长时间的积累,但我们目前只需要专业写我们工科高校的主用的模块就行了比如通信,微波,激光等。
其他网友回答:不给加班费+精神鼓励法估计50年差不多
拖欠给加班费+精神鼓励法20年 差不多
给加班费 10年
加倍给加班费5年
最后发现 主要是加班费惹的祸
其他网友回答:组织编制出像MATLAB这样一套软件并不需要很长时间。关键是:
谁来组织编制?
经费从哪里来?
软件谁来维护?
软件谁来改进?
软件谁来提升?
软件谁来扩展?
软件谁来服务?
都想免费使用软件,软件的公司靠什么生存?
各行各业都要有相应的软件,都想免费使用软件,最后只能是没有软件可用!
最好的办法就是坚定不移地保护知识产权,遵守游戏规则,老老实实入群!