在这个人工智能和大数据当道的时代,好像不会门编程语言就落后于时代了。
而在编程语言的选择上,很容易在C++和Python之间犹豫不决,不知道到底该如何选择。
先说下我的背景:
1.我刚上完自动驾驶Term1的课程,Term1的内容主要是机器视觉和深度学习的内容,里面编程语言是Python;
2.而Term2/Term3是主要是关于车辆定位、数据融合、路径规划和车辆控制的内容,里面使用的语言是C++;
3.国庆期间花了5天时间把C++课程学了一遍,算是刚刚入门吧。
针对这个问题,我说一下我的浅显的看法,抛砖引玉,说的不好,大家轻拍哈~
先说下Python和C++两者的差异。
性质不同
Python为脚本语言(script language),需要边解释边运行。好处是不需要编译,可以直接运行。坏处是由于边解释边运行,运行效率慢。
而C++为编译语言(complier language),需要先编译再运行。好处是运行速度快,尤其对于大型程序,效率提升明显。坏处是程序更新后,需要重新编译运行,不是很方便。
语法不同
Python语法简单,语句简洁,使用方便,上手容易,而且不需要编译可以即使运行,尤其在Jupyter Notebook上运行,那叫一个得心应手,所以才有“人生苦短,我用Python”之说。
C++语法复杂,格式要求高,使用不便,上手较难。比如变量在使用前需声明(declaration),更不用提指针/虚函数之类,想想都头大。
应用场景不同
Python在人工智能领域占据有压倒性的优势,有众多的库支持,大多数第三方库都是基于Python开发或者提供完整的API。这也是为什么自动驾驶Term1使用Python语言的原因。
由于运行速度的优势,C++在工业界占有统治性的地位,这也是为什么在自动驾驶Term2/Term3都是用C++语言的原因。
所以,不用太纠结到底如何选择,可以根据自己的应用场景和使用目的来选择。
如果只是追求实现功能,对速度要求不高,请选择Python。
如果需要追求运行效率,还是选择C++。
如果是人工智能相关的领域,那还是别犹豫了,直接Python吧~
就酱。
感谢阅读。
欢迎大家关注我的知乎专栏和微信公众号:业界良新。
我做了个思维导图,供大家参考。
更多推荐
为什么python不需要编译而c++需要_C++ or Python 这个选择题该怎么做?
发布评论