今年上过一个quantative programming的课程,去年教学用的语言还是python,加速的方法用的是jit即时编译来提高编程效率,今年课程的设计就改成Julia了。
因为自己从起数据研究用的都是python,所以最开始使用Julia的时候并不习惯。不过在用Julia完成课程项目时发现Julia的好处还是很多,所以在网课上认真的把Julia系统性地学习了一遍。
关于Julia和python的对比
首先Julia的速度是比python快很多的,Julia的性能因为自带jit的缘故基本上性能都比较接近于C了,而python在使用jit前,速度是远不如Julia的,而且python的jit帮助文档以及debug解决方案也相当残缺,这点Julia用起来比python要方便很多;
第二IDE方面,我们的Julia教学使用的还是notebook,所以我并没有深入地使用过Julia专用的IDE(除了在vscode装过Julia插件),而python我一直使用的是pycharm,在IDE这方面,我个人觉得目前还是python比Julia好用;
第三pakage以及社区文档方面,总得来说python的pakage还是相当丰富与易用的,而且除了jit以外,debug的帮助也非常容易找到,这点Julia现在还远远不及,更加不用说Julia现在的改版非常迅速,一些pakage以及debug信息早就不适用当前的版本了,这就导致了使用者在遇到bug时往往会因为版本的不同导致感到无所适从(这点非常像早期python的感觉,尤其是在python2到python3的转换期间),所以我建议等到Julia再稳定一些后再使用Julia进行研究。
总的来说,从更加宏观的角度来说,以上的第一点是语言战略方向的问题,而第二点和第三点仅仅是战术上的缺陷,而这些缺陷都能够靠时间来弥补,而且语言的热度从来都不是线性发展,我还挺期待Julia的下一个更加成熟与稳定版本的。
所以,从量化研究框架的稳定性出发,我认为Julia替代python还为之过早,不过因为python的速度实在是太慢,而c++的编程时间以及debug时间又过长,所以我还是希望Julia能够快速发展的的。
最后,学好c++后,换个语言根本就不是一个事。(给c++跪了。。。。。)