对于一个真正的技术人员,不要迷信什么编程语言有多么的厉害,关键看解决实际问题的能力,人工智能也好,编程技巧也罢主要还是为了解决实际问题,最终落实到解决实际能力,也不要过份在自己设置界限一定要学好哪种编程语言,语言语法特性再漂亮距离解决实际问题很遥远其实意义也不是很大。落实到具体的程序员,一个程序员要的就是解决问题能力以及实际执行力,不要沉迷于是中级工程师还是高级工程师,概念性的炒作都不如解决实际问题有用。
希望能帮到你。
谢邀。作为一名程序员,我来回答你问题。
C++和Python都可以算得上是面相对象的编程语言。他们都各自有各自的优势。
C++他是在C语言的基础上进行了改进,增加了一些面相对象的思想上去,所以用它一般适合开发一些底层性的东西。例如,我们常用的windows系统,他底层就是汇编语言,和C与C++配合使用来开发的。C++有一个特点,他有指针这个概念在里面,指针用的好绝对是大杀器,但是如果用的不好那就是大悲剧了。
Python呢,他的语法非常简单。可以说,这是目前为止最容易学习上手的语言了。他的底层库支持很多人工智能的一些技术,所以自从阿尔法狗打败李世石之后,人类进入了人工智能时代,可以说Python成为了放下最火的编程语言,受到了很多人的广泛青睐。
而刚刚题目时候说的一些车载之后的开发,其实这个东西比较偏向于底层的开发,所以python在应用层开发还好,如果跑到了底层系统层面的开发,他的优势略显不足,而这个时候C++的优势就发挥出来了。他比较适合于底层系统的开发,所以这个时候用C++比用python开发要好的多。
C/C++是比较底层的语言,可以对CPU/内存等计算机资源特别是硬件进行非常精细的控制,算法运算做到最精细自然要使用它们。
但是它们的优点自然也是他们的缺点,精细的操作自然需要精细的编程,精细的编程自然需要繁复的语言设定,比如什么是指针什么是指针函数什么是函数指针……等你搞清这些佶屈聱牙的概念,你大概也没有写代码的冲动了。更何况,你想写出高性能的代码,这些概念是必须精通的
python有一个很重要的特性,就是所谓的“胶水语言”,“胶水”的意思就是,它可以把不同语言编写的代码模块组合在一起,然后统一通过python去调用。其实绝大多数算法库都是使用C/C++编写,然后提供python的接口供用户使用,毕竟大部分人只需要知道怎么调用封装好的算法就好。但你要想实现自己的算法就必须会C/C++
打个不是很恰当的比方,python就像电视遥控器,C/C++就像遥控器里的电板,平时你想换换台,你只要按按钮就好。但是有一天你就是要个把画面旋转九十度的功能,而遥控器上没有这个功能,但是拆了遥控器电板插几个元件就能实现,你咋办?
c++是c语言发展得到的,比c语言功能更强,c++在中端与底层开发比较有优势,比如开发驱动程序,系统应用程序,网站通信系统,大型游戏开发等,都是使用c++开发,有人称“c语言或c++是标准编程”。
python是脚本语言,是用c语言开发的,它和c语言的复杂性相比之下,python简化了不少。虽然python算法扩展库众多,但是在单片机,终端开发python还是不能运行。
计算机视觉用opencv的话,c++用的比较多,所以计算机视觉算法工程师要求会c++
Python在ai算法应用的广的一大原因是,库多
而那些库,很多都是c,c++编写的,用Python封装起来
算法工程师不能流于表面调调api完事,如果要深度优化,需要自己重新写库或者修改库。至于为什么内部用c,c++,因为性能高啊,小数据量可能感受不出来,但ai大部分都是超大规模数据,c,c++的性能优势会体现的很明显
各有所长,Python有它的得到之处,C++亦是如此。还有啊,机器视觉不等于人工智能。视觉方向更多是偏向于图形学,计算机图形学什么的,C语言、C#、C++都是这方面的利器。
Python的许多算法包都是别人设计好的,你只要会用就行了,谈不上算法设计问题,比较方便,但是运行效率低点。在有些领域,需要开发特定算法,对效率有要求,那Python显然就不合适了。要具体应用了。