距离哈工大、哈工程MATLAB被禁已经过去两周,但是关于MATLAB的讨论从未停止。
大部分人只是着眼于寻找MATLAB替代品,但是,近日,一个国产软件TRUFFER站出来了:我就是MATLAB的替代品。
一时间,众生哗然。要知道,寻找「替代品」的道路上,科研人员都专注在将各类主流的开发软件结合以替代功能,让国产公司开发新的软件都是「最末」的事情。现在有一个国产软件出来「夸下海口」,确实让科研人员兴奋又好奇。
「籍籍无名」的TRUFFER的雄心壮志:1年内实现科学计算与图形功能,3年内搞定Simulink
走进这个「声名鹊起」的软件之前,先看看软件背后的公司。


论规模来看,这家公司并不是很大,成立于2002年,就官网介绍而言一开始工作重心应该是在图形软件开发上,旗下目前有四款产品,分别是多文档管理、联高资产管理、数控加工仿真和“原本”小工具。


但是就公布的团队人员从业年限来看,都是「老程序员」了——分别具有23、25、30年编程经验,确实是经验丰富。


尽管有小的仿真工具,但这家公司的主要产品和MATLAB确实搭不上边。另一方面,成立18年却不显山不露水,「骨灰级」的程序员不透露姓名,这家公司充满了神秘色彩。
接下来我们看一看这款万众瞩目的产品:TRUFFER。
首先是其官方号在MATLAB那条讨论下放出的壮志豪言:
「半年内实现 MATLAB 科学计算与图形显示的 70%;1 年内 100% 全部实现;3 年内完全实现 Simulink;100% 自主版权源代码;无需 #openGL# 等组件支持的三维、四维图形显示。短期内将在周全性(需要积累)、高性能并行计算(需要厂家支持)、专业的扩展工具箱(第三方支持,大家一起努力)等方面会稍微落后,不过足以应付大家 90% 的日常科研需求。我们承诺,至少在 10% 的功能,比 MATLAB 更好用、易用。」
「满足大家90%的科研需求和10%的功能比MATLAB更好用、易用」确实是一个很强的「卖点」。先看一下TRUFFER的部分源码树:


可以看到这个架构设计和MATLAB部分功能还是很贴近,核心在于矩阵的一些运算。根据官方发布的数据来看,核心运算都能够完成,并且画图的效果非常不错。
以矩形域最小二乘曲面拟合为例,下图的三维显示核心没有openGL,完全是自主知识产权的,拟合的结果实际上是一个六维曲面。




还有TRUFFER用于SR-71黑鸟超高速流场仿真的基础图片,读取OBJ文件,自主三维渲染。并且是100%C#自主代码,没有用openGL或directX。


TRUFFER官方在回应的时候也勾画了一下现行软件的使用场景。
第一个是用试验数据绘制曲线,导出公式;科研人员获得了一些数据,希望对其进行画图拟合。第二个是三维有限元计算(简单物体);就是解稀疏矩阵。
并且TRUFFER是可以为研究人员提供源码的,知乎用户@harryzhou就提供了一份TRUFFER发给他的源码。


三个源文件分别是CMatrix.cs,Complex.cs,Matrix.cs,分别对应了复数矩阵、复数和实数矩阵的基本运算。至少在代码架构上,TRUFFER是能够完成它现行设计的场景的。当然还有一些常规的矩阵运算。
懂一点代码的开发者看到这个源码就知道,TRUFFER确实还在开发初期。但是就公司和感兴趣的开发人员交流的情况来看,TRUFFER的公司其实是一个比较诚挚、有大理想的公司。毕竟「满足大家90%的科研需求和10%的功能比MATLAB更好用、易用」不是所有软件公司都说的出口的。
「只完成1%就来开发布会」的TRUFFER:有诚意也有差距
对MATLAB稍微有点了解的开发者们应该已经反应过来了:TRUFFER是照着MATLAB去设计的,但是完成的内容实属冰山一角。
这个软件近几日进入公众视野之后实属饱受争议,主要在以下几个争议点。
1、「打假」自主研发:套壳Octave
知乎网友@立党指出,TRUFFER是个套壳Octave的「假」自主研发的软件。




许多知乎用户都表达了相同的观点:开源代码不代表交出版权,指责TRUFFER侵害Octave版权。对此,也有拿到开源代码的开发者为TRUFFER「鸣不平」。


是否套壳,读一读源码就能认知到。按照这位答主说的情况,TRUFFER源码应该是没有问题的,纯手打,不涉及套壳的问题。至于实际的算法本身没有什么可变性,因此很可能导致代码结构类似。
知乎用户@寂寞在唱歌说的这段换其实很客观。


如果真的深究「套壳Octave」这个问题,建议感兴趣的研究者可以问TRUFFER官方要一份源码再品读一下。
2、「技术差距」过大,产品进度堪忧
虽然TRUFFER放了源码,但是一共就几千行,实现的功能也是最最最基础的。甚至连求解线性方程组的代码也没有放出,实现的功能基本上都是一维的。
就连之前为TRUFFER说话的那位匿名大佬也有些唏嘘了。


甚至有人怀疑这是不是同学课设的大作业的源码,毕竟这个代码,确实有点粗陋了。看一下知乎用户@梨雪梅的发言。


知乎用户@architect在Mathmatics工作,看到TRUFFER也不禁从期待到失望。


但是TRUFFER公司自一开始就声明了,这是「初版」,这几乎为以上所有的质疑提供了「看似合理」的解释。因为还在开发初期,功能不完善很正常。所以@伍亦勤的这句话很真实。


对于秉持各种态度关注TRUFFER的人们而言,还是希望TRUFFER在「替代MATLAB」的蓝图上不是「听子弹飞」,而是「枪响落地」。


来源:知乎   新智元报道 编辑:舒婷、白峰