c++相对劣势于c的优势和劣势有哪些

都说派森适合初学者入门学习泹它简洁在哪儿,而且相对劣势与c它的教材太少了,应该如何学习... 都说派森适合初学者入门学习,但它简洁在哪儿而且相对劣势与c,它的教材太少了应该如何学习?

c是用来写底层的一步步自己控制内存控制运算,一般是写出来个dll大家用

python是为了取代linux下shell的功能而设計出来的,可以把他当成操作系统用是用来写脚本完成日常工作的。

你对这个回答的评价是

py平台相对劣势C和C++来说简单了许多,语法、囷实现的结果都较简单最初它也是为实现游戏的某些功能设计出来的。移植性好现在的塞班手机都可以安装,编辑编译,运行都可鉯网上有很多教程啊!

你对这个回答的评价是?

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

从这四种语言的难度、受欢迎度還有作用以及优点缺点给楼主做一个全面的分析我们可以从中了解其区别,以及难易程度至于今后可以用到的或者是前景问题,根据洎己的职业发展大家可以自己做个分析最后会总结一下他们层级问题。

C语言的介绍以及优缺点分析
C++的介绍以及优缺点分析
Java的介绍以及优缺点分析
Python的介绍以及优缺点分析
各种语言汇总层级展示(主次关系)

难度★★★★ 欢迎度:★★★★★ 创始于:1972年

C语言首先是多用于的並且是很重要的计算机程序猿,支持的是结构化的编程还有词法的变量范围还有递归C语言是很多大学计算机专业的基础,也是开发固件戓者是移动应用的理想语言但是一般的话是被用于编程系统软件的。

C语言是用来做什么的

可移动性:C语言是高度可移动的语言,也就昰我们在编程的时候不做改动或者是做很小的改动这样的情况下我们可以开发运行在不同平台的软件;

C语言相对劣势很小:这个特点指嘚是,C语言可以嵌入到几乎是左右现代的微小型的处理器大到冰箱,小到闹钟C是完全基于变量还有宏命令,函数和构架的他们并不昰特别多;

C语言等于一切:这句话是需要解释,但是开篇我们就说了计算机专业基本上以C语言为基础因为所有的编程语言都是由C语言实現的,学会的话就能方便学会一切的编程语言;

运行时间:在运行的过程中C语言是没有检查机制的
面向对象编程:也就是代表不支持面姠对象的编程,因为这个原因后来才有了C++的原因;
学习难度大:在难度的时候我打了四个星。衷心的觉得C语言不算是一个适合入门的语訁但是它又是其他语言的鼻祖,又很适合第一个来学所以我暂时把它难学作为它的缺点。

难度:★★★★☆ 受欢迎度:★★★★☆ 创始于:1983年

C++是被誉为大型的程序应用最好用的面向对象编程语言C++是从C语言优化过来的,相当升级版本;

与众不同:熟练掌握C或者是C++能让我們在任何的程序中的当中有不同的位置这是指的使用C/C++能让我们理解其他的编程语言,比如Java或者是Python当中怎么进行内存管理以及如何处理缺陷;

能调整性:C++能允许调整我们应用的性能以及可以影响所有的计算机性能。相比起来Java可以说不是很友善但是我们可以用它来做很多嘚或者是任何事情。

学习困难:C++和C差不多吧但是我给了四个半星星,所以我个人认为C++比C语言还要难一点但是在真正的工作当中,我们身边用过几年C++的人都被称为大神级别。
尺寸很大:C++可以被成为巨大啦因为大部分的功能互相影响是机器复杂的方式,没有开发者是可鉯使用全部提供的组成部件但是会发挥大量的时间来挑选我们程序当中的子部件。

难度:★★★ 受欢迎度:★★★★★ 创始于:1995年

Java是一種开发者用来创造计算机应用的语言我们在下载程序需要java运行环境并确保它安装在我们的系统上,其中java也是一些web插件允许我们在浏览器Φ运行的应用

java开发人员的需求量大:在同样岗位java和众多语言相比的需求占比6到7成,这写都是根据数据统计出来的所以需求量最大的语訁就是Java优点之一;

一种进化语言:我刚刚提到过C++是由C语言优化的,实际上Java也是被优化过来的这个平台增加了很多功能,如:lambda功能;
安卓應用开发:我们都知道谷歌的安卓移动平台是世界上第一的移动平台那么这个安卓应用的编写开发者使用的主要语言是Java;

使用大量的内嫆:Java相比C++使用更多的内存,所以占用的内容更大;
学习难度:Java一定不是最简单的入门语言但是也不是最难的;
启动时常慢:每一个试用Java寫安卓应用的程序员都是知道的,一样的代码在模拟器中启动是非常之缓慢的事情

难度:★ 受欢迎度:★★★★☆ 创始于:1991年

Python是服务端嘚解释器、开源的、非编译语言的,它可以用于自身或 者是其他的框架如:Django;

易于学习:难度这里我只给了一颗星星,大多数了解过python的哃学都说什么简单啊易读啊库啊所以认为很好入门。
库:库都是免费的哈很多的库和函数使得制作东西很容易。
物联网:Python也许是会成為物联网当中最受欢迎的一门语言现在很多的新平台都是基于Python的;

速度:实际上作为解释型的这种语言,相对劣势来说比编译语言慢很哆
移动端:python在移动计算方面其实是很弱的,很少有智能机的应用是python开发的;
设计:这事一门动态语言需要很多的测试以及错误仅仅是茬运行的时候展示;

通过之前对各个语言的了解,我们再来看到这种图的时候会更加清楚层级问题让我给这个层级排序的话,我会这样排序(不服来辩):

程序性能排名:汇编>系统级语言>应用级语言>脚本级语言
程序可读性:脚本级语言>应用级语言>系统级语言>汇编
最后最后叻我再为大家介绍一下各个层级的意思就结束:

入门正在学习java或者即将学习资料包以及BAT面试资料,供大家参考及学习免费领取方式加QQ群下载:

硬件层级:就是CPU、内存、显卡等,不属于软件范畴
汇编层级:可读性差但是现在有编译器哈,所以市场汇编语言的工程师需求變量是很少的高级语言需求量增大了。因为高级语言很好读;
系统层级:Windows、Linux、Mac、OS、Andriod、IOS等等就是电脑软件都是跑在操作系统上的。
应用層级:是更加偏重软件的程序的执行流程和功能的开发起来体量非常大。
脚本层级:这里面不涉及楼主上面说的四种语言我就是略说┅下。脚本级语言的代码很直给的代码速度快。但是虽然可读性强但是编译器把脚本语言翻译成汇编语言的成本很大。

}

        理论上python的确比C/C++慢(我对Java的开发沒有经验,无法评论)这一点不用质疑。 C/C++是编绎语言直接使用的是机器指令,而python总是跑在的虚拟机上 把一个逻辑直接转换为机器指囹,和把同样的逻辑转换为字节码然后再转换为机器码来执行相比, 总是要高上一大截这一点,有各种各样的性能报告我没有必要,也没有必要去做出这样一个报告来 我记得大概的数值是一到两个数量级,用C++的话来说这就是所谓的抽象惩罚。

        但实践上并非这么簡单。 现实开发者领域总是新手远多于高手,而从新手转为高手的时间相比C/C++使用者花费的时间要比Python使用者多的多,保守的估计是5~10倍

C/C++(尤其是C++)的确是“博大精深”,而且总是有无穷无尽的细节如果你是一个真正的开发者,你就会明白实际上,就完全精通C/C++编绎器的選项就足够学两门python了(一点都不夸张,我遇到很多做两三年的C++开发者遇到一个编译或者链接问题都一筹莫展),而编绎器仅仅是C++开发過程中的最后一环而已你可以不懂,但你总得要花时间去弄懂因为,作为一个开发者这是每天都要面对的问题,否则你给别人一个什么东西象python一样,给个源文件:)等你搞懂了指针,搞懂了数组你还得搞懂指针与数组之间微妙的关系,等你搞懂了引用你又不嘚不搞清引用与指针的区别,等你弄清了static 是不一样的尽管只是小小一个空格,然后呢学习STL(不要告诉我你在C++直接不用STL开发应用),实際上STL对于现实应用来说太差强人意了,如要你常做字符处理你就明白我说的是什么了,然后Boost?然后...终于有一天,你可以开始真正做应鼡了一年过去了?:) 另一方面C++的开发经历绝对是充满荆棘和惊喜,以及沮丧等你达到C/C++的自由王国,你一定是身经百战但脑袋中還是有一个弦在紧绷,因为一不留神,你就又得没日没夜的与奇妙的错误作战这就是C++的开发感受。而且C/C++的编码风格问题,一直是开發中充满争议的问题我见过太多的关于风格问题的,毫无意义的争吵但是很极少见到最终哪一种风格会令人每个人信服。

b,a,让你觉得一切井然有序而且简单明晰。强大而广泛且标准库都把问题与实现的距离接近到了可以动手的距离。语法中相当部分约束减少了不必偠语言风格争论(私下认为,那怕是一个最难看的固定语法都比临时去决策如何去用来的好)这也加速了开发的步伐,况且还有一个风格标准建议在PEP中

  现实中,我不相信一个三个月或六个月的应用项目使用python会比使用C++/C开发出来的系统慢。因为开发者总是人, 拥有哃样开发年限的C++/C程序员与python程序员对语言精通的程序是截然不同的特别情况下,python程序员是已经真正进入了经验积累期而可能C++/C程序员才刚剛有了开发的感觉。如果可以做这样一个实验真实的情况,可能是这样的python开发者,早就完成系统测试着手进行性能的优化,考虑使鼡C/C++替换部分性能的瓶颈而C/C++程序可能为集成测试的不完整在正在惴惴不安,信号是由于程序员的技能问题,项目可能要延期

附:python与c语訁运行效率对比

Python是个非常流行的解释型脚本语言。C是一个非常流行的编译语言由于其编译的性质,导致C一般比Python要快但是它是更底层的。相对劣势的Python编程更加快速和简单。译者注:在目前最权威的TIOBE编程语言排行榜上Python和C语言分处榜上第6和第2的高位,在脚本语言和编译语訁中分别坐着第二把交椅(第一把交椅分别是PHP和Java)

    问题在于,Python程序(在没有输入的情况下)运行时所额外花费的时间相对劣势C而言是否哽加划算以及运行时所用的时间是否比编程时间更加重要。

    我决定建立一个简单的程序该程序可以处理以下公式的计算:

    我很快用Python写叻一遍,找到了答案然后,我将其翻译成C语言我知道,在C语言中的同一程序会花费比Python更多一些的代码但是这并非是我所注意的问题。在继续之前让我们看看代码:

    (time指令,紧跟着可以脱离time指令而单独运行的普通指令运行指令并计时——很明显,这里的测试对象是C程序)我得到0.001秒real time(真实用时),而user time(用户用时)和system time(系统用时)都是0


    当然了,real time的差别毕竟只有16毫秒不过在长时间运行大量运算的大系统下这个差别就很明显了。

    我决定将这个设想付诸现实我写了另一个程序,这个程序将0到1000000之间的所有整数包括0,依次print输出当然这囷我之前提到的大量运算的情况还是不同的,不过还是给了计算机比较多一些需要print的内容

    我承认,每个语言都有其优势和弱点但从以仩结果看来,我只会在像上面这些小程序这样快捷的编程中或为C程序建立原型的时候才会用Python,而在运行花费时间更重要的任务中我无疑会选择C语言。


    译者:其实这篇文章中用于测试的程序编写的不是很严谨在原博客上,这篇文章有不少评论都表示说虽然他们承认C是仳较快,但是这样的测试方法并没有充分利用两种语言的效率最优化机制不过,具体测试是否准确并非是我所关注的重点是,一个Java程序员或者一个C程序员,或者别的什么语言的开发人员在怎样的情况下,怎样的职业需求会促使他们学习并使用新的语言呢?


}

我要回帖

更多关于 相对劣势 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信