第一个优点:c语言的代码量小。完成同样的功能,c语言编出来的程序容量比较小,其他语言编写容量比较大
比如 Microsoft Word 和 WPS,它们同样都是办公软件,功能也差不多,但 WPS 的安装文件只有 50MB 左右,而 Microsoft Word 的安装文件超过 500MB,有的甚至接近 1GB。原因就是 WPS 的内核是用C语言编写的。
C语言的第二和第三个优点是它的运行速度比较快和功能强大。如:UNIX 操作系统是用纯C语言编写的;Windows 操作系统的内
核也是用C语言编写的;Linux 操作系统仍是用纯C语言编写的。这三大系统的内核都是用c语言编写的,原因:c语言运行速度快,其次是C语言可以直接访问硬件,所以功能强大。
当建一个word 文档,我们只用在桌面点鼠标有右键,然后点击新建文档即可,在这个过程中,我们没有直接操控计算机硬盘,而是通过操作系统提供的“新建文档”等功能实现的。也就是说,操作系统给我们提供了一个界面,或者说给我们提供了一个操作的手段,通过这个手段我们可以删除文件、新建文件、打开文件或者修改文件。
那为甚么不用java写呢?是因为java太慢的,而且java中没有指针,不能访问硬件,所以功能是不够的。指针是C语言的一大特色,不会指针就没参透C语言的精华。
我们先看第一点。假如你写同样一个程序,在 Java 里面会报错,而在C语言里面是不会报错的。为什么?C语言的设计思想是:只要不是语法错误,一些问题编译器是可以自动完善的,而且认为这样写没有特殊含义,编译就可以通过。但 Java 不行:只要你这么写有歧义,或者说这样写不太好,那么它都会报错。
比如C语言中你可以将一个浮点型数据赋给一个整型变量,编译时只会警告,因为会丢失精度,但是在 Java 中这样写就会报错,它在语法上就禁止你这样写。所以不同的语言对同样一个问题有不同的处理方式。
因为有歧义的程序也可以通过,这样就会有很多漏洞,黑客往往会抓住这些漏洞进行攻击。所以说C语言比较危险。这也是为什么C语言比较难学的原因,因为你学完之后编写一个程序很可能就是错的,但又很难发现。C++从安全性上对C语言进行了升级。
第二个是它的开发周期比较长。因为C语言是面向过程的语言,面向过程语言的一个特点就是写大项目的时候很容易“崩溃”。当代码上到 10 万行的时候很容易崩溃,会出现各种各样莫名其妙的错误。这时候就需要用另外一种思想将整个程序的框架重新设计一下,即用面向对象的思想设计。这也是C语言现在没有 Java 流行的原因。
C语言的第三个缺点是可移植性不强。这个主要是针对 Java 的。Java 的可移植性太强了,所以就显得C语言的可移植性不强。什么叫可移植性?就是说 Java 程序在哪个机器上都可以运行,而且结果一模一样。而C语言就不行,C程序在其他机器上不一定能运行。而且就算能运行,结果可能也不一样。
角度一:优点:简单、安全、稳定、跨平台
缺点:需要运行环境、不适合开发桌面应用程序
应用:BS结构的ERP系统、金融系统、电子商务系统、网站等
几乎所有的银行系统和银行网站都是基于Java平台的,你可以访问看看。
角度二:优势:(1)一次编写,到处运行。(2)系统的多平台支持。(3)强大的可伸缩性。(4)多样化和功能强大的开发工具支持。劣势:(1) 与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。(2) Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的。java文件和.class文件,以及对应的版本文件。
角度三:1、跨平台性,虽然是很好的优势,可以让JAVA在任何的系统中运行,但是前提是该系统要安装JAVA虚拟机,这样导致一些JAVA编写的桌面程序无法在一般的用户(没有安装JAVA虚拟机的用户)上使用
2、JAVA的身后是SUN公司,提供及时的API更新,但是过多的版本导致JAVA的向下兼容性很差。而SUN公司在J2EE上的标准定义的并不是完美,导致在J2EE的开发中多数使用开源框架,开源框架是好东西,但是更新速度并不快。
3、都说面向对象的语言先进与面向过程,JAVA是OOP语言,但是它适合的是BS系统,在WEB项目中JAVA的实力毋庸置疑,但是转到了底层的程序却无法同C++抗衡。
JAVA大优点是开源,但是这往往也成了最大的缺陷了,无法定义一个好的标准使得开发时使用了框架,在新的程序员来到公司时必须先了解框架,延缓了开发的时间。
原文地址:阿凡87
1、Python提供了更多的错误检查,有益于编写
2、Python拥有更多的通用数据类型,适合大型项目,维护性好
3、Python代码复用性好
4、Python是解释语言,所以不需要编译器和连接,便于调试。
5、可嵌入其他语言,于其他语言完美结合做混合开发。
1、运行速度慢。机器
2、代码开源,不能加密,既是优点也是缺点。
3、架构选择多。
C++是以C语言为基础发展而来的一门面向对象语言。
1、代码复用性好。
2、C++实现了面向对象程序设计。在高级语言中,处理速度是最快的,大多数的游戏都是用C++来写的。
3、C++语言非常灵活,功能非常强大。C语言的优点是指针,C++的优点是功能和类层次化结构的设计。
4、C++非常严谨,精确和数理化,标准制定很详细。
5、C++语法思路层次分明,相呼应,语法结构也是明显的,明确的。
1、C++比较难学,语言过度复杂,已经无法简化。
2、标准库过度苍白。
新手被指针困扰,中手(3~5年)被stl困扰,高手(5年以上)被boost困扰。stl比较难懂,大多数的项目禁止用stl。
用boost编写的项目,要是开发者一旦离职,这个项目就废了,因为请一个会boost的高手要比重新编写项目花费的金钱多的多