python强调程序员的生产力,让你把精力集中在逻辑上而不是语言本身上。
你能想象用一下午时间实现从0开始一个简单的搜索引擎吗?C++显然是不行的。。你的大部分时间都将花在实现基本数据结构和调试语言错误上。。而用python,你要做的就是真正理解搜索算法,之后的实现真的很简单。。
我觉得用python很适合算法研究,不仅仅是数据挖掘。快速开发能让你迅速验证你的想法,而不是把时间浪费在程序本身上(想象一下你写了一星期的c++,调了一大堆指针错误,最后发现想法本身就有错误。。)当你知道你已经有了一个正确的算法,要使他运行速度提高只需用c++等重写性能瓶颈并嵌入就行了。。
python强调程序员的生产力,让你把精力集中在逻辑上而不是语言本身上。
你能想象用一下午时间实现从0开始一个简单的搜索引擎吗?C++显然是不行的。。你的大部分时间都将花在实现基本数据结构和调试语言错误上。。而用python,你要做的就是真正理解搜索算法,之后的实现真的很简单。。
我觉得用python很适合算法研究,不仅仅是数据挖掘。快速开发能让你迅速验证你的想法,而不是把时间浪费在程序本身上(想象一下你写了一星期的c++,调了一大堆指针错误,最后发现想法本身就有错误。。)当你知道你已经有了一个正确的算法,要使他运行速度提高只需用c++等重写性能瓶颈并嵌入就行了。。
如果你想用别人做好的成熟的轮子,那 python 是不二之选。因为 python 轮子多而且全,比如 numpy,scipy,scikit learn,gensim 等等都是成熟的轮子。至于什么叫成熟,主要是一下两点:
1. 快,numpy 中大量用 c 写的 data structure,和 function,用起来及其快,而且方便。而且和其他轮子协作及其好
2. 安全,因为 python 是广泛应用,而且开源,标准的语言,所以轮子是基本不会出 bug 的,放心用。
这样节省了及其多的开发时间,在程序的运行效率上也不会有极大的降低。