
各位大佬好,我发起了一个类似 MATLAB 的开源项目,名字叫 PyMiner,是用 python 写的,目前已开源 2 个多月,最近收到了很多讨论,其中有一些是技术方面的质疑。
因此想向各位大佬请教下,我是用 python+pyqt5 做界面,numpy 做数据处理的基础,在外部开源包的基础上搭建自有的函数库,采用插件商店的形式完成高性能场景(设想的是 python 调用 c c++开发的插件),技术方案是否有问题?
希望各位大佬不吝赐教,谢谢!
1 rim99 2020-10-14 22:04:02 +08:00 支持楼主。建议前后端的模块界限要清晰些,以后迭代的版本多了,有可能会用 js 写前端。 |
2 learningman 2020-10-15 01:25:58 +08:00 如果这个你还要问人,我觉得你写不出 Matlab 。。。 |
3 black11black 2020-10-15 01:50:40 +08:00 问个小白问题,python 做的 matlab 是什么意思,只是在 numpy 的基础上加 GUI 而已吗,还是把 matlab 语法解释器也加进去 |
4 Perry 2020-10-15 07:17:18 +08:00 via iPhone 这名字我以为是挖矿的 pyminer |
5 LokiSharp 2020-10-15 07:53:19 +08:00 via iPhone 编辑器不要用 PyQt,直接用 Qt,PyQt 做个简单 GUI 没问题,拿来做编辑器级别的复杂 GUI 性能差异明显。 |
6 py2cn OP @black11black 主要还是 numpy 加 GUI,会移植 matlab 函数,语法解析没做过,想做但是不会弄 |
7 py2cn OP @learningman 是一群人一起写,我尽量避免把大家带偏 |
11 12tall 2020-10-15 08:30:24 +08:00 资瓷资瓷,另外 http://www.py2cn.com/ 访问不了了似乎 |
12 crella 2020-10-15 08:35:20 +08:00 via Android 楼主有没有参考过 octave ? |
13 shoujiaxin 2020-10-15 08:43:09 +08:00 via iPhone 且不说 Python 和 Matlab 在计算方面的性能差距,兼容 90% Matlab 语法的 Octave 都没敢说自己是开源的 Matlab,numpy+GUI 跟 Matlab 又有什么关系? |
14 threebr 2020-10-15 08:48:48 +08:00 同楼上, 楼主可以试试 10k*10k 的矩阵运算, 在我电脑上 matlab 6 秒, numpy 9 秒, 就算不考虑性能, matlab 的各种内置函数和工具包真的抄都抄不完 |
15 Leigg 2020-10-15 08:52:36 +08:00 via Android 你晓得人家用了多少人才和时间写出来的不 |
16 mathzhaoliang 2020-10-15 08:56:35 +08:00 你的软件和直接写 Python,或者是写一个 Python 模块有什么区别吗?(只是带一个 ide 不算) |
18 anteros 2020-10-15 09:54:14 +08:00 这个站的所有人加起来,每人每天为此项目工作 8 小时,持续 20 年,也做不出来 Matlab |
19 laike9m 2020-10-15 10:01:02 +08:00 怎么还在想 Matlab,定位成一个基础的数据处理工具不行么?还是你对 Matlab 有哪些功能根本没数? |
20 shangyu7 2020-10-15 12:29:28 +08:00 via Android lz 搬砖搭了个棚子,就想着要做世界第一高楼了 |
21 yuelang85 2020-10-15 16:55:54 +08:00 本来点进来想说,国内有一个项目就是这么做的。进来一看项目名字,这不就是你吗。 哈哈哈哈哈哈,精神上支持你,这方面实在是不懂 |
22 ixinshang 2020-10-15 17:30:01 +08:00 万事开头难,支持一下。 |
23 laqow 2020-10-15 17:56:16 +08:00 via Android 感觉 R 和 octave 等都可以替代 matlab,另外 matlab 在很多简单计算的场合性能还没有 python 好。能开源实现一个 m 代码到 exe 格式的 matlab runtime 就很好了。 |
24 firefox12 2020-10-15 18:23:44 +08:00 如果你对这方面缺乏基本的了解,最好不要做这个。这是整个项目的架构师,带偏就是浪费时间。 |
26 algas 2020-10-15 20:03:19 +08:00 我觉得 fork octave 是比较好的选择,至少架构不用重新设计,语法解释器也有现成可用的,短期就能看见团队产出。 和 matlab 比较 octave 缺点一大堆,不说 simulink 几乎没有,单是画图就让人痛苦不已;还有程序效率严重依赖矢量化编程技术,不知道 jit 技术能不能克服一下这一点。所以说,基于 octave 能做的事情还有很多。 |
27 7wN5407klUw768m0 2020-10-15 21:50:36 +08:00 @laqow 你对 matlab 的核心 simulink 一无所知 |
28 Tink PRO 大工程啊 |
30 futou 2020-10-16 00:16:17 +08:00 |
31 by73 2020-10-16 00:17:30 +08:00 Matlab 非常庞大,它不仅仅是科学计算,还包括仿真之类的,我觉得你还是应该先界定下范围 |
32 thedrwu 2020-10-16 00:25:17 +08:00 via Android MATLAB 就是各行各业的 toolbox 和 simulink 。 如果只是简单地算算矩阵画画图,fortran+gnuplot 更轻巧方便。 |
33 zzj0311 2020-10-16 01:21:53 +08:00 via Android 几十年堆出来的山 你以为换种语言就不用堆几十年了 |
34 liukrystal 2020-10-16 05:08:43 +08:00 via iPhone 中国的程序员喜欢赚快钱,难得有 lz 这样的人肯静下心来搞点事情,但 Matlab 不是你一个人能搞得定了,ls 有位老哥说得好,这个站所有的人写 20 年也搞不定 matlab 。 |
35 pabupa 2020-10-16 08:22:41 +08:00 via Android matlab 可不仅仅只是计算呀!他还有更细化的科目门类,这些都是要有专业人士参与才行的吧...... |
37 dr1q65MfKFKHnJr6 2020-10-16 08:30:01 +08:00 via iPhone 其它不论,单单数学里的那一堆理论就不是软件工程师能轻易搞定的 |
38 feilaoda 2020-10-16 11:49:10 +08:00 走自己的路,不用听太多别人怎么说 |
39 tfdetang 2020-10-16 11:50:53 +08:00 如果是已经会 numpy 与 pandas 的用户,jupyter lab 就已经能覆盖大部分的数据分析+画图场景了; 如果目标用户是作为 matlab 的替代品,那如何让 matlab 使用者快速过渡过来是个关键问题 |
40 ligong 2020-10-20 15:41:33 +08:00 个人建议,matlab 这个东西,最重要的是工业界的使用和支持,所以,相比起一个软件,更接近一门语言的生态环境和状态。 可以成立一个开源组织,建立某种协议,争取各行各业的人能有个传递贡献的地方,类似一门语言的无数个库,前端用的 npm 啊,rust 的 crate 啊。 |