首页 > 编程语言 > 详细

各种编程语言的特点

时间:2021-06-28 09:42:36      阅读:18      评论:0      收藏:0      [点我收藏+]

C语言:

C语言是介于汇编语言和高级语言之间的语言,属于高级语言,也称为中级语言,是集汇编和高级语言优点于一身的程序设计语言。于1972年在美国贝尔实验室里问世。早期的C语言主要用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了九十年代,C语言开始进入其他操作系统,并很快在各类大、中、小和微型计算机上得到广泛的应用。成为当代最优秀的程序设计语言之一。

C的特点

1. 是一种结构化语言。层次清晰,便于按模块化方式组织程序,易于调试和维护。

2. C语言的表现能力和处理能力极强。不仅具有丰富的运算符和数据类型,便于实现各类复杂的数据结构,它还可以直接访问内存的物理地址,进行位级别的操作。

3. 由于C语言实现对硬件的编程操作,所以既可用于系统软件的开发,也适合于应用软件的开发。C语言还具有效率高,可移植性强等特点。因此广泛地移植到了各类计算机上,从而形成了多种版本的C语言。

4. 由于C语言允许直接对位、字节和地址进行操作,能实现汇编语言的大部分功能。

5. 目标代码质量高,程序执行效率高。

总体上来说,C语言的优点是简洁、紧凑、使用方便、灵活、易于学习和应用。仅有32个关键字。9种控制语句,程序的书写形式也很自由。

C语言的弱点:非强类型;语法限制不严格,使得编程者无法过多地依赖C编译程序去查错;缺少实时检查,如数组越界等。

从严格上来说,C语言是块结构语言,这是因为它在结构上类似于ALGOL、Pascal和Modula-2。从技术上讲,块结构语言允许在过程和函数中定义过程和函数。因为C语言不允许在函数中定义函数,所以不能称为通常意义上的块结构语言。

C语言作为一门面向过程的计算机语言,至今已有三十多年历史,应用广泛,无论是Windows还是Linux,你所看到的底层都是用C写的。大部分的网络协议也都是用C实现的。你看到的最漂亮的游戏画面也是用C实现的,工业控制程序也是用C实现的。不过C不是万能,只是某些方面它适用而已。

C++语言

C++是于1986年由AT&T贝尔实验室开发的,语言开发的目的在于通过数据封装减少程序变量的副作用,从而降低程序的复杂性并提高程序的可靠性。(笔者曾经听到的开发C++的目的是由于懂得C语言的人越来越多,所以需要再出一门更难的、比C语言强大的语言,才能保住饭碗,so。C++出世啦)C++是C语言的直接扩展,C++的多继承机制能更好地描述对象的属性和行为。

C++是C的扩展,但C++可以作为一种全新的语言来看。

C++的特点:面向对象、继承、封装、多态性。

由于C++是C的扩展,所以也具有C的特点。

C++在C的基础上,加入了面向对象编程思想,也就决定了C++的效率在某一方面是不如C的。比如定义一种类型,C++用类(Class)来封装,而C可能就直接几个变量的组合就成了一个结构体(Struct),类不仅具有成员变量,还具有成员函数等,在精细的比较其效率时,C会比C++的效率要高。但由于时代的发展,项目或工程的庞大化,基于面向对象的思想显然更能适应。即C++在这方面能比C要做得更漂亮。现在不少系统级编程都是用C++实现,许多应用级别的软件也是用C++实现。

这里要注意一点,就是C++并不是完全的面向对象语言。它是提供了面向对象的模型以及思路,但是同时兼容了面向过程的模型


Java语言

Java语言来自于Sun公司的一个叫Green的项目,其原先的目的是为家用消费电子产品开发一个分布式代码系统,这样我们就可以把email发给电冰箱、电视机等家用电器。对他们进行控制和信息交流。开始,准备用C++,但C++太复杂,安全性差,最后用一种新的语言Oak(Java的前身),Oak是一种用于网络的精巧而安全的语言,Sun公司曾依此投标一个交互式电视项目,但被SGI打败。可怜的Oak几乎无家可归,恰巧这时Mark Ardreesen开发的Mosaic和Netscape启发了Oak项目组成员,他们用(Java)编制了HotJava浏览器,得到了Sun首席执行官Scott McNealy的支持,触发了Java进军Internet。Java的取名有一段趣闻:有一天,几位Java成员组的会员正在讨论给这个新的语言取什么名字,当时他们正在咖啡馆喝着Java(爪哇)咖啡,有一个人灵机一动说就叫Java怎样,得到了其他人的赞赏,于是,Java这个名字就这样传开了。

Java的特点:

1. 简单性:风格类似于C++,Java摒弃了C++中容易引发程序错误的地方,如指针和内存管理。

2. 面向对象:Java是一种完全面向对象语言。从这点来看,Java类似于SmallTalk,但其特性、尤其是适用于分布式计算环境的特性远远超越了SmallTalk。

3. 分布式:Java包括一个支持HTTP和FTP等基于TCP/IP协议的子库。因此,Java应用程序可凭借URL打开并访问网络上的对象,其访问方式与访问本地文件系统几乎完全相同。

4. 健壮:Java致力于检查程序在编译和运行时的错误。类型检查帮助检查出许多开发早期出现的错误。Java自己操纵内存减少了内存出错的可能性。

5. 结构中立:Java将程序编译成一种结构中立的中间文件格式。只要有Java运行系统的机器都执行这种中间代码。这种中间语言被设计在虚拟机上运行,由机器相关的运行调试器实现执行。

6. 安全:
1)删除了香指针和手动释放内存等功能,避免了非法内存操作。
2)当Java用来创建浏览器时,语言功能和浏览器本身提供的功能结合起来。
Java在机器上执行前,要经过很多测试,它经过代码校验,检查代码段的格式,检测指针操作,对象操作是否过分以及试图改变一个对象的类型。

7. 可移植的:同体系结构无关的特性使得Java应用程序可以在配备Java解释器和运行环境的任何计算机系统上运行。任何Java代码会被解释成一种中间语言,然后通过不同机子的特定环境(如机器指令)运行程序。实现方便移植的特点。

8. 解释性。Java解释器能直接运行目标代码指令。链接程序通常比编译程序所需资源少。

9. 高性能。如果解释器速度不慢,Java可以在运行时直接将目标代码翻译成机器指令。Sun用直接解释器一秒钟内可调用300,000个过程。

10. 多线程:Java提供的多线程功能使得在一个程序里可同时执行多个小任务。多线程带来的更大好处是更好的交互性能和实时控制性能。

11. 动态:动态特性允许程序动态地装入运行过程中所需要的类。在运行时确定引用的好处是可以使用已被更新的类,而不必担心会影响原有的代码。如果程序连接了网络中另一系统中的某一类,该类的所有者也可以自由地对该类进行更新,而不会使任何引用该类的程序崩溃。

Java在诞生之后不久,便受到广大群众的欢迎,甚至有人说出有了Java,可以不要C/C++了。一度把Java提到了很高的地位。这当然是对Java的一种赞赏,只是有点过了。到今天,Java依然不能取代C,C++,而且还出现了新的对手――.Net(后面将会介绍)。

Java目前主要应用:Web浏览器、网络应用系统。



C#语言。

C#是一种精确、简单、类型安全、面向对象的语言。说到C#,就不得不先简单介绍一下.net。到底什么是.net呢,按照微软总裁兼首席执行官Steve Ballrner把它定义为:.Net代表一个集合,一个环境,它可以作为平台支持下一代Internet的可编程结构。C#是.net的代表语言。

C#的特点:

1. 完全面向对象

2. 支持分布式,之所以有C#,是因为微软相信分布式应用程序是未来的趋势,即处理过程分布在客户机和服务器上。所以C#一出生就注定了能很好解决分布式问题。

3. 跟Java类似,C#代码经过编译后,成为了一种IL(中间语言)。在运行时,再把IL编译为平台专用的代码。

4. 健壮,C#在检查程序错误和编译与运行时错误一点也不逊于Java,C#也用了自动管理内存机制。

5. C#不像Java那样完全摒弃了指针和手动内存管理。C#默认情况下是不能使用指针的,程序员在有必要时可以打开指针来使用。这样可以保证编程的灵活性。

6. 安全性:C#的安全性是有.net平台来提供的。C#代码编译后成为IL语言。是一种受控代码,.net提供类型安全检查等机制保证代码是安全的。

7. 可移植性:由于C#使用类似Java的中间语言机制。使得C#也跟Java类似,可以很方便的移植到其他系统。在运行时,再把中间代码编译为适合特定机器的代码。

8. 解释性:C#也是一种特殊的解释性语言。

9. 高性能:C#把代码编译成中间语言后,可以高效的执行程序。

10. 多线程:与Java类似,可以由一个主进程分出多个执行小任务的多线程。

11. 组件模式:C#很适合组件开发。各个组件可以由其他语言实现的,然后集成在.net中。

C#是在Java流行起来后所诞生的一种新的语言。由于微软在操作系统上占有很大的优势。在以往的开发中累积了不少经验,所形成的.net平台,所以C#在Windows方面可以说比Java具有更大的优势。如果单纯从技术上来讲,C#在网络编程上可以与Java匹敌。C#还在Windows Forms也有一定的优势。

C#是一种非常类似于C++的语言,风格是更接近于Java,不管是C++程序员还是Java程序员,都可以很方便的转到C#上来。

C#的强大是依赖于.net的发展,而.net的发展是看微软在.net上的决心和投入有多少。从Windows 2003和Vista系统可以看出(前者内置.net1.1,后者内置.net2.0。).Net在Windows编程中具有重要的战略意义。

C#目前主要是应用在网络编程上,其他领域比如数据库、窗体编程,都逐渐在增大。

 

 

一句话概括:需要拿着游标卡尺学习的语言

Python 是一款服务器端解释型开源非编译脚本语言。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是 C/C++)很轻松地联结在一起。

 

Python 的优势

             Python 学习简单,被誉为 “最易学习的语言”

Python 的不足

             Python 存在一些只在特定情况下才会出现(无法重现)的 bug

 

职业路线:

(1)用 Django 框架进行 Web 开发:和 Java 没什么两样。

(2)用 PIL 框架进行图形处理

(3)物联网:Raspberry Pi 等物联网平台都选择了 Python 作为开发语言

(4)Python 有一个无所不能的 Hack 库,如果认为 “打工时不可能打工的” 就去当一个自由的黑客吧

 

 

特性

 

  1. 解释性语言
  2. 拥有丰富的库
  3. 跨平台
  4. 可移植、可扩展
  5. 支持GUI编程
  6. 可嵌入

 

优点

 

  1. 简单,易学
  2. 免费,开源
  3. 可移植性强
  4. 属于解释性的一门动态语言
  5. 面向对象
  6. 拥有丰富的库
  7. 强制性缩进代码使得代码规范

 

缺点

 

  1. 运行速度慢
  2. 国内市场小
  3. 中文资料匮乏

 

各种编程语言的特点

原文:https://www.cnblogs.com/julinghappy2021/p/14942965.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!