写在前面
通过这一段时间对MWORKS.Syslab的使用,使我对国产软件有了些新的认识,能够在那么短的时间内不计成本地开发出与matlab对标的数个工具箱,并且在性能上取得了局部领先的优势,可想而知技术人员付出了多大的精力。很庆幸中国还有这么一批孜孜以求,敢于向科技高峰攀登的人。
经过一段时间的使用,我也发现Syslab的功能与使用方式与matlab有很大的相似性,这极大地降低了软件切换的门槛。但是在使用过程中,我也发现了一些问题和建议,我相信这些问题和建议将有助于优化产品,提升Syslab的使用体验。
帮助文档不完善
在使用过程中,遇到了某些函数用法与matlab不一致的情况,自然而然地想到去帮助文档中搜索相关的关键词,但是很遗憾,有些函数找不到具体的例子。
比如我想要设置所绘制图片的字体字号,按照原来的使用习惯,代码为
plt_set(gca(),"fontsize",30,"fontname","Times New Roman");
结果报错了
ERROR: MethodError: no method matching ty_set(::PyCall.PyObject, ::String, ::String, ::String, ::Int64)
在请教了同元的老师之后,得知需要修改成如下形式:
plt_set(gca(),"fontname","Times New Roman");
plt_set(gca(),"fontsize",15);
但是我搜索帮助文档却发现有下面那种用法
除此之外,帮助文档有些前后矛盾的地方,比如下图帮助文档说明imbinarize函数暂不支持第三种用法,但是却在graythresh函数的示例中显示又可以使用,那么imbinarize到底支不支持使用阈值 T 从图像 I 创建二值图像呢?
求解速度与代码编写复杂度难两全
Julia本身有着很快的求解速度,并且融合了m语言、python及其他编程语言的一些特性,并且自身所具有预编译、多重派发、类型稳定等一系列特性。但是正是因为这些特性的存在,如果要让Julia代码运行速度加快,需要基于对Julia语言的深入了解,根据其所具有的特性去改写原有的代码,这本身对使用者提出了更高的要求。
希望同元的各位专家是否可以从底层入手,将内核进行升级,在编译时将源代码自动转译成符合Julia特性的代码,从而代码的快速运行。
如果这个能够实现,相信这将大大推动MWORKS在各个行业的推广。
界面不够自由
很多时候,我希望我的代码和我的结果都显示在界面上,但是我又想最大限度地展示出我的代码内容,所以我会想把工作区拖放到左边,与资源管理器纵向排列。
但是目前我发现Syslab只能把工作区和资源管理器关闭,不能够自由移动,这尽管不会影响使用,但还是希望后续能够支持此功能。
写在最后
以上是我最近一段时间使用Syslab的一些体验和建议,希望同元的开发团队能够审慎地评估一下,在后续的版本中进行升级。
,内核提升这块我们也会逐步纳入规划中