您现在的位置: 首页 > 网站导航收录 > 百科知识百科知识
学C++与学python,哪个更好?
人工智能,语言,编程语言学C++与学python,哪个更好?
发布时间:2019-02-08加入收藏来源:互联网点击:
学C++与学python,哪个更好?
回答于 2019-09-11 08:43:50
回答于 2019-09-11 08:43:50
(1)C/C++
现在C语言,一般都作为理工科学生的一门专业基础课。C / C ++是一种简单且广泛使用的计算机编程语言。 C编程语言主要由软件开发人员或程序员使用,特别是那些使用操作系统,UNIX,C编译器和几乎所有UNIX应用程序的人。可以这么说,C编程语言是当今计算机领域最常用的专业语言。 C ++是一种编译语言。对于要运行的程序,其源文本必须由编译器处理,生成目标文件,这些目标文件由产生可执行程序的链接器组合。 C ++程序通常由许多源代码文件组成。
随着最新计算机技术的发展,C++主要作为服务器软件,和硬件结合的驱动软件,和PLC等结合的自动控制软件等底层或者服务软件的开发工具,应用范围也是越来越狭窄了。
不过作为程序执行效率最高的编程语言,在人工智能时代,C++还是很重要的,人工智能算法的核心还是C/C++,因为人工智能是计算密集型,需要非常精细的优化,还需要GPU、专用硬件之类的接口,这些都只有C/C++能做到,所以某种意义上来说,其实C/C++才是人工智能领域最重要的语言。重要的人工智能开发框架Caffe就是基于C++的。像Tensorflow等python语言的人工智能开发框架,其底层的执行库也都是基于C++开发的。
不过还是那句话,C/C++主要用于底层和服务软件开发。你要是做的工作和硬件、自动化,操作系统打交道,或者你擅长于底层或系统级软件开发,比如说你要开发个Web服务器,网游服务器,网卡驱动,语音卡呼叫中心服务器,你就可以下功夫学C++,否则学一学c++入门就好,不要作为主要发展方向。
(2)Python
当前人工智能火遍大江南北,AlphaGo 的出现让业界为之兴奋,人工智能不再是概念,而人工智能、机器学习的首选语言就是Python。
python 是一门兼具简单与功能强大的动态编程语言,它是解释执行的,支持函数式编程,面向对象编程。它专注于如何解决问题,有自由开放的社区环境以及丰富的第三方库,无需浪费时间去造轮子,各种Web框架、爬虫框架、数据分析框架、机器学习框架应有尽有,拿来即用。
目前Python主要火在数据分析、机器学习和人工智能行业。对于非计算机软件专业人士来说,如果需要进行机器学习或者人工智能方面的应用开发,这时他们就可以采用开发起来比较简易的python语言作为开发工具。
不过,在国内,一个现实情况是大部分软件业务系统(管理信息系统)的开发,Python从来都不是主角,而是作为辅助工具在使用,可能是做个数据统计,弄些运维的脚本,写个测试脚本之类的,真正用 Python 来开发核心业务的公司少,叫得上名的除了豆瓣、知乎、饿了么、头条之类的公司之外,其他很少。大部分公司 Python 都是应用在一些非核心业务上。
如果你是要往数据分析、机器学习、人工智能等领域发展,或者想加入能够提供机械制造与机器人、金融与风投、医学和健康,新闻和写作,三维动画与电影等行业人工智能行业解决方案的人士,可以重点学习Python。
(3)Java
而目前中国的软件公司做的主要工作(包括世界上),就是行业的管理信息系统,以及正在广泛深入应用的大数据平台系统,这些软件的主要开发语言还是Java。
目前主流的手机操作系统Android的APP开发语言,也是Java。
所以说,虽然Python在数据分析和人工智能领域有优势,但是在提供软件开发的岗位这点来说,跟 Java 是没法比的,Java 确实能做到一个0基础的小白认认真真在培训机构学几个月就可以放到工作岗位上去干活,但 Python 不行,Python 虽然看起来简单,但是用好不容易,特别是大规模的团队对 Python 的要求就更高了,你去市场上去看,一般招Python都是要求有一定经验的,而且大部分业务系统的开发都是用Java而不是Python。
(4)C++和Python综述
总之,如果学校里教的是C++,那请你好好学,C++能学好的人证明素质还是相当不错的,C++可以被认为是现代高级编程语言的老祖宗。就比如熟悉文言文的人一般也很容易写好白话文。当你学好C++之后,如果你要学其他编程语言比如说Java或Python,你看其它编程语言时就能有一个对比从而加深理解。C++程序性能虽然最高,但C++最大的问题是开发程序的效率比较低下,还很容易出现内存泄漏等错误。
同时,Python最大的问题就在于性能(包括Java早期),但是Python的程序开发效率太高了,多么复杂的问题,几行代码就搞定了。同时Python可以十分方便地和C代码融合到一起。Python和C的组合彻底解决了后顾之忧:先用Python快速开发快速搭建产品原型,然后找出性能瓶颈有针对性的性能优化。所谓好钢用在刀刃上,节约时间,节省成本,减少风险,提高程序员的生活品质又有什么不对呢?
细说起来,Python底层的源代码其实可以理解为C语言的一些常用功能的库(如hashmap实现的dict),Python进程就是加载了这些库然后读取配置文件(Python代码)执行相应的逻辑。相同的功能,Python进行了一次转义,肯定会比直接用C实现要慢,但你不一定能这么快的写出这样运行比Python快的C代码。有了Python,程序员们寂寞难耐的夜晚可以有了更多的产出,一个一个的项目建立起来了,社区建立起来了,迟滞的市场也开始有感知了。
回答于 2019-09-11 08:43:50
人生苦短,当然学python
回答于 2019-09-11 08:43:50
计算机编程语言本身没有好坏之分,因为从编程语言的表达能力上来说,主流语言基本都是比较完备的,应该也基本是等价的。但是不同的语言的差别还是有很多的,下面列出两点不同,还有很多不同留给其他答者:
面向的应用场景不同:不同的人解决的问题不同有些语言可能更加适合而已。C++更多的是系统级、底层的应用,很多语言的底层实现实际也用的C/C++比如Python的很多实现就是这样,只是Pythoner无需知道而已,但这些功能一般比纯Python实现要高效(简单理解就是速度快);文本处理、数据分析、AI应用等场景现在Python使用的特别多,当然C++都可以做,但Python的开发效率要高很多;学习难度不同:不同语言的学习难度是有差别的,越底层的语言一般学习难度越大,比如C++学习的难度就比Python要高很多。下一篇:返回列表
相关链接 |
||
网友回复(共有 0 条回复) |