就自己了解的几种语言的特性加以分析:

基础数据模板,

C++,Java都没有原生的N维矩阵数据模板类,因此对应这类数据的所有处理都要构建,而目前大多数的机器学习,深度学习算法都是在N维矩阵的各类操作,代码量就会大幅增加

sas与matlab几乎所有的数据集都以N维数据模板为基础,大多数的function,计算用的packge是也是针对这个数据模板操作,因而整合性优异很多,稳定性随之提高

R与python正好介于之间,R的基础数据模板类便于统计类function,因此写统计类的包都相对容易,但超出这个范围,就没有那么灵活。Python起初也不是为数据计算设计的,但它的更底层能很好“粘合”各类基于C的库,上层又表现为lisp等函数化的便携操作,因此numpy,scipy等一系列科学计算包(大量的C与Fortran)完善了python在这个领域的优势

基础类特性,

C++,Java基于OO而生,因此这方面的优化,类的各种特性、变化自由度都很大,GUI,web以及工业级应用各类场景很成熟,也有全面的安全与版权保护机制。困难之处就是从头造所需的团队组织规模要求高,在过去开源社区还不壮大时,只有大型企业可以负担

sas与matlab可称为封闭商业软件,用户只能使用固有的类属性与操作,因此自由度受到了最大的限制,新功能只能等待版本升级,但稳定性与可靠性得到最大保障

R与python好像也是介于之间,R的基础数据模板有限,对类的属性支持也不是特别重示,因此还只能局限在统计方面的应用。Python的底层经过多次的优化,包括大版本2.0与3.0的分割,都是为了能更好的包容各个基类的新特性,而这些特性也促使了包括科学计算社区在内的所有python社区在各个领域都有飞速的扩展,比如web领域的各类框架,服务器领域的用于分布式的队列及管理等。而深度学习也是需要软硬件的大范围的整合,算法的灵活变化,分布式数据IO控制,网络传输与GUI动态展示,类的多样性以及扩展性才能更好的支持,也是python能立于深度学习领先阵营的核心原因