在这个人工智能和大数据当道的时代,好像不会门编程语言就落后于时代了。

有同学问我:许良许良,现在Python很火,我很想学,但是学长又告诉我,还是学C++好一些。

于是在编程语言的选择上,在C++和Python之间犹豫不决,不知道到底该如何选择。

先说下我的背景:

1.我上完了一门在自动驾驶Term1的线课程,Term1的内容主要是机器视觉和深度学习的内容,里面编程语言是Python;

2.而Term2/Term3是主要是关于车辆定位、数据融合、路径规划和车辆控制的内容,里面使用的语言是C++;

3.国庆期间花了5天时间把C++课程学了一遍,截止到现在,Term2已经完成,使用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吧~

就酱。

以上。

感谢阅读。

欢迎大家关注头条号:我不是许良谁是许良,我会持续跟大家分享汽车圈/互联网圈的那些事儿。

我做了个思维导图,供大家参考。

相关文章