常见编程框架介绍
⽂章⼤纲
⼀、C/C++
⼆、C#
三、cocos2d-x
四、go语⾔
五、Hadoop
六、HBase
七、PHP
⼋、python
九、Spark
⼗、Storm
⼗⼀、Unity3D
⼗⼆、Java
⼗三、Android
⼗四、Object-C与swift
⼗五、.NET
⼗六、R语⾔
⼀、C/C++
1. 简介
C语⾔是⽬前世界上流⾏、使⽤最⼴泛的⾼级程序设计语⾔。
C语⾔对操作系统和系统使⽤程序以及需要对硬件进⾏操作的场合,⽤C语⾔明显优于其它⾼级语⾔,许多⼤型应⽤软件都是⽤C语⾔编写的。
C语⾔具有绘图能⼒强,可移植性,并具备很强的数据处理能⼒,因此适于编写系统软件,三维,⼆维图形和动画它是数值计算的⾼级语⾔。
2. 特点
(1)C语⾔属于⽐较低级的语⾔,仅次于汇编,这个低级主要指它和硬件关系⽐较紧密。
(2)应⽤⼴泛;⼏乎可以给任何电⼦设备编程,可以做很底层的开发如操作系统/驱动等。所以如楼上所说嵌⼊式等地⽅的开发会⼤量⽤到C语⾔。
(3)简单;因为是低级语⾔,所以不会提供很多的编程特性,如⾯向对象、多态、重载等等都不会出现。这也是为什么⼤学会⼤⾯积要求C语⾔课程⽽不是C++C#(当然,这指的是语⾔特性简单,不是指编写C语⾔程序简单,毕竟提出新的语⾔特性就是为了简化coding),⽤C语⾔写简单的程序来⼊门编程是个不错的组合。
3. 优点
1.1 简洁紧凑、灵活⽅便
C语⾔⼀共只有32个关键字,9种控制语句,程序书写⾃由,主要⽤⼩写字母表⽰。它把⾼级语⾔的基本
结构和语句与低级语⾔的实⽤性结合起来。C语⾔可以象汇编语⾔⼀样对位、字节和地址进⾏操作,⽽这三者是计算机最基本的⼯作单元。
1.2 运算符丰富
C的运算符包含的范围很⼴泛,共有种34个运算符。C语⾔把括号、赋值、强制类型转换等都作为运算符处理。从⽽使C的运算类型极其丰富表达式类型多样化,灵活使⽤各种运算符可以实现在其它⾼级语⾔中难以实现的运算。
1.3 数据结构丰富
C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共⽤体类型等。能⽤来实现各种复杂的数据类型的运算。并引⼊了指针概念,使程序效率更⾼。另外C语⾔具有强⼤的图形功能,⽀持多种显⽰器和驱动器。且计算功能、逻辑判断功能强⼤。
1.4 语法限制不太严格、程序设计⾃由度⼤
⼀般的⾼级语⾔语法检查⽐较严,能够检查出⼏乎所有的语法错误。⽽C语⾔允许程序编写者有较⼤的⾃由度
1.5 语⾔允许直接访问物理地址,可以直接对硬件进⾏操作
因此既具有⾼级语⾔的功能,⼜具有低级语⾔的许多功能,能够象汇编语⾔⼀样对位、字节和地址进⾏操作,⽽这三者是计算机最基本的⼯作单元,可以⽤来写系统软件。
1.6 C语⾔程序⽣成代码质量⾼,程序执⾏效率⾼
⼀般只⽐汇编程序⽣成的⽬标代码效率低10へ20%。
1.7 C语⾔适⽤范围⼤,可移植性好
C语⾔有⼀个突出的优点就是适合于多种操作系统,如DOS、UNIX,也适⽤于多种机型。
(1)C语⾔的缺点主要是表现在数据的封装性上,这⼀点使得C在数据的安全性上做的有很⼤缺陷,这也是C和C++的⼀⼤区别。
(2)C语⾔的语法限制不太严格
(3)对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检查等。从应⽤的⾓度,C语⾔⽐其他⾼级语⾔较难掌握。
(4)C语⾔指针指针就是C语⾔的⼀⼤特⾊,可以说C语⾔优于其它⾼级语⾔的⼀个重要原因就是因
为它有指针操作可以直接进⾏靠近硬件的操作,但是C的指针操作也给它带来了很多不安全的因素。C++在这⽅⾯做了很好的改进,在保留了指针操作的同时⼜增强了安全性。Java取消了指针操作,提⾼了安全性。
5. 常见使⽤场景
(1)操作系统⼀些操作系统是使⽤C语⾔编写的,同时C++凭借其对C的兼容性,性质也开始在该领域崭露头⾓。
(2)⽹络软件 C++拥有很多成熟的⽤于⽹络通信的库,其中最具有代表性的是跨平台的、重量级的ACE库,该库可以说是C++语⾔最重要的成果之⼀,在许多重要的企业、部门甚⾄是军⽅都有应⽤。
(3)游戏 C++的效率是⼀个很重要的原因。科学计算:在科学计算领域,FORTRAN是使⽤最多的语⾔之⼀。但是近年来,C++凭借先进的数值计算库、泛型编程等优势在这⼀领域也应⽤颇多。
(4)物联⽹领域⼈们普遍使⽤编写⼀些微处理器芯⽚程序,⽐如单⽚机,DSP,ARM等等。
⼆、C#
C#(读做 "C sharp",中⽂译⾳“夏普”)是微软公司发布的⼀种⾯向对象的、运⾏于.NET Framework之上
的⾼级程序设计语⾔,并定于在微软职业开发者论坛(PDC)上登台亮相.C#是微软公司研究员Anders Hejlsberg的最新成果.C#看起来与Java有着惊⼈的相似;它包括了诸如单⼀继承,界⾯,与Java⼏乎同样的语法,和编译成中间代码再运⾏的过程.但是C#与Java有着明显的不同,它借鉴了Delphi的⼀个特点,与COM(组件对象模型)是直接集成的,⽽且它是微软公司.NET windows⽹络框架的主⾓.
三、cocos2d-x
Cocos2d-x是⼀个开源的移动2D游戏框架,MIT许可证下发布的。这是⼀个C++ Cocos2d-iPhone项⽬的版本。Cocos2d-X发展的重点是围绕Cocos2d跨平台,Cocos2d-x提供的。⼿机游戏,可以写在C++或者Lua中,使⽤API是Cocos2d-iPhone完全兼容。Cocos2d-x项⽬可以很容易地建⽴和运⾏在iOS,Android,⿊莓Blackberry等操作系统中。Cocos2d-x还⽀持、和等桌⾯操作系统,因此,开发者编写的源代码很容易在桌⾯操作系统中编辑和调试。
四、go语⾔
1. 简介
Go(⼜称Golang)是开发的⼀种、编译型、并发型,并具有垃圾回收功能的。
2. 优点
2.1 性能
Go 极其地快。其性能与 Java 或 C++相似。在我们的使⽤中,Go ⼀般⽐ Python 要快 30 倍
2.2 并发性&通道
Go 作为⼀门语⾔致⼒于使事情简单化。它并未引⼊很多新概念,⽽是聚焦于打造⼀门简单的语⾔,它使⽤起来异常快速并且简单。其唯⼀的创新之处是 goroutines 和通道。Goroutines 是 Go ⾯向线程的轻量级⽅法,⽽通道是 goroutines 之间通信的优先⽅式
2.3 快速的编译时间
当前我们使⽤ Go 编写的最⼤微服务的编译时间只需 6 秒。相较于 Java 和 C++呆滞的编译速度,Go 的快速编译时间是⼀个主要的效率优势。
2.4 强⼤的⽣态系统
对我们这么⼤⼩的团队(⼤约 20 ⼈)⽽⾔,⽣态系统很重要。如果你需要重做每块功能,那就⽆法为客户创造收益了。Go 有着强⼤的⼯具⽀持,⾯向 Redis、RabbitMQ、PostgreSQL、Template parsing、Task scheduling、Expression parsing 和 RocksDB 的稳定的库。
Go 的⽣态系统相⽐于 Rust、Elixir 这样的语⾔有很⼤的优势。当然,它⼜略逊于 Java、Python 或 Node 这样的语⾔,但它很稳定,⽽且你会发现在很多基础需求上,已经有⾼质量的⽂件包可⽤了。
2.5 GOFMT,强制代码格式
Gofmt 是⼀种强⼤的命令⾏功能,内建在 Go 的编译器中来规定代码的格式。从功能上看,它类似于 Python 的 autopep8。格式⼀致很重要,但实际的格式标准并不总是⾮常重要。Gofmt ⽤⼀种官⽅的形式规格代码,避免了不必要的讨论
2.6 gRPC 和 Protocol Buffers
Go 语⾔对 protocol buffers 和 gRPC 有⼀流的⽀持。这两个⼯具能⼀起友好地⼯作以构建需要通过 RPC 进⾏通信的微服务器(microservices)。我们只需要写⼀个清单(manifest)就能定义 RPC 调⽤发⽣的情况和参数,然后从该清单将⾃动⽣成服务器和客户端代码。这样产⽣代码不仅快速,同时⽹络占⽤也⾮常少。
从相同的清单,我们可以从不同的语⾔⽣成客户端代码,例如 C++、Java、Python 和 Ruby。因此内部通信的 RESET 端点不会产⽣分歧,我们每次也就需要编写⼏乎相同的客户端和服务器代码
3.1 缺少框架
Go 语⾔没有⼀个主要的框架,如 Ruby 的 Rails 框架、Python 的 Django 框架或 PHP 的 Laravel。这是 Go 语⾔社区激烈讨论的问题,因为许多⼈认为我们不应该从使⽤框架开始。在很多案例情况中确实如此,但如果只是希望构建⼀个简单的 CRUD API,那么使⽤
Django/DJRF、Rails Laravel 或 Phoenix 将简单地多
3.2 错误处理
Go 语⾔通过函数和预期的调⽤代码简单地返回错误(或返回调⽤堆栈)⽽帮助开发者处理编译报错。虽然这种⽅法是有效的,但很容易丢失错误发⽣的范围,因此我们也很难向⽤户提供有意义的错误信息。错误包(errors package)可以允许我们添加返回错误的上下⽂和堆栈追踪⽽解决该问题。
另⼀个问题是我们可能会忘记处理报错。诸如 errcheck 和 megacheck 等静态分析⼯具可以避免出现这些失误。虽然这些解决⽅案⼗分有效,但可能并不是那么正确的⽅法。
3.3 软件包管理
Go 语⾔的软件包管理绝对不是完美的。默认情况下,它没有办法制定特定版本的依赖库,也⽆法创建可复写的 builds。相⽐之下 Python、Node 和 Ruby 都有更好的软件包管理系统。然⽽通过正确的⼯具,Go 语⾔的软件包管理也可以表现得不错。
我们可以使⽤ Dep 来管理依赖项,它也能指定特定的软件包版本。除此之外,我们还可以使⽤⼀个名为 VirtualGo 的开源⼯具,它能轻松地管理 Go 语⾔编写的多个项⽬
4. 就业⽅向
五、Hadoop
1. 简介
Hadoop是⼀个开源的框架,可编写和运⾏分布式应⽤处理⼤规模数据,是专为离线和⼤规模数据分析⽽设计的,并不适合那种对⼏个记录随机读写的在线事务处理模式。Hadoop=HDFS(⽂件系统,数据存储技术相关)+ Mapreduce(数据处理),Hadoop的数据来源可以是任何形式,在处理半结构化和⾮结构化数据上与关系型数据库相⽐有更好的性能,具有更灵活的处理能⼒,不管任何数据形式最终会转化为key/value,key/value是基本数据单元。⽤函数式变成Mapreduce代替SQL,SQL是查询语句,⽽Mapreduce则是使⽤脚本和代码,⽽对于适⽤于关系型数据库,习惯SQL的Hadoop有开源⼯具hive代替。
Hadoop就是⼀个分布式计算的解决⽅案
2. 优势
(1)⾼扩展
(2)低成本
(3)成熟的⽣态圈
(4)hadoop⽣态系统开源社区活跃
3. 应⽤场景
(1)⼤数据量存储:分布式存储
(2)⽇志处理:Hadoop擅长这个
(3)海量计算:并⾏计算
(4)ETL:数据抽取到oracle、mysql、DB2、mongdb及主流数据库
(5)使⽤HBase做数据分析:⽤扩展性应对⼤量的写操作—Facebook构建了基于HBase的实时数据分析系统
(6)机器学习:⽐如Apache Mahout项⽬
(7)搜索引擎:hadoop + lucene实现
(8)数据挖掘:⽬前⽐较流⾏的⼴告推荐
(9)⽤户细分特征建模
六、HBase
HBase是⼀个分布式的、⾯向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论⽂“Bigtable:⼀个结构化数据的”。就像Bigtable利⽤了Google⽂件系统(File System)所提供的分布式数据存储⼀样,HBase在Hadoop之上提供了类似于Bigtable的能⼒。HBase是Apache的Hadoop项⽬的⼦项⽬。HBase不同于⼀般的关系数据库,它是⼀个适合于⾮结构化数据存储的数据库。另⼀个不同的是HBase基于列的⽽不是基于⾏的模式。
七、PHP
1. 简介
PHP(外⽂名:PHP: Hypertext Preprocessor,中⽂名:“”)是⼀种通⽤。吸收了、和的特点,利于学习,使⽤,主要适⽤于开发领域。PHP 独特的混合了、、以及⾃创的语法。它可以⽐或者更快速地执⾏。⽤PHP做出的与其他的相⽐,是将嵌⼊到(下的⼀个应⽤)⽂档中去执
⾏,执⾏效率⽐完全⽣成标记的要⾼许多;PHP还可以执⾏后代码,编译可以达到和代码运⾏,使代码运⾏更快。
2. 优点
(1)跨平台,性能优越,跟Linux/Unix结合别跟Windows结合性能强45%,并且和很多免费的平台结合⾮常省钱,⽐如LAMP(Linux
/Apache/Mysql/PHP)或者FAMP(FreeBSD/Apache/Mysql/PHP)结合,或者数据应⽤够⼤可以考虑换 PostgreSQL或者Oracle,⽀持N种数据库。(N >= 10)
(2)语法简单,如果有学习C和Perl的很容易上⼿,并且跟ASP有部分类似。有成熟的开发⼯具,⽐如NuPHPed,或者Zend Studio等等,再Linux平台下可以使⽤Eclipse等等。
(3)⽬前主流技术都⽀持,⽐如WebService、Ajax、XML等等,⾜够应⽤。
(4)有⽐较完整的⽀持,⽐如使⽤ADODB或者PEAR::DB做数据库抽象层,⽤Smarty或者smart template做模板层,如果是PHP 5.1的话,还能够使⽤PDO(PHP Data Object)来访问数据库。
(5)有很多成熟的框架,⽐如⽀持MVC的框架:phpMVC,⽀持类似ASP的事件驱动的框架:Prado,⽀持类似Ruby On Rails的快速开发的框架:Cake等等,⾜够满⾜你的应⽤需求。
(6)PHP 5已经有成熟的⾯向对象体系,能够适应基本的⾯向对象要求。适合开发⼤型项⽬。
(7)有成熟的社区来⽀持PHP的开发。
(8)⽬前已经很多⼤型应⽤都是使⽤PHP,⽐如淘宝⽹、Yahoo、163、Sina等等⼤型门户,很多选⽤PHP来作为他们的开发语⾔,所以⼤型门户都能够选⽤它,我想⾜够能够你的使⽤了。
(9)有很多开源的框架或开源的系统可以使⽤,⽐如⽐较知名的开源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,开源论坛有Discuz!、Phpwind等,开源博客 WordPress,开源⽹店系统如Ecshop、ShopEx等,开源的SNS系统如UCHome、ThinkSNS 等。
(10)使⽤成本低(linux apache mysql php内核)
3. 缺点
(1)函数命名不规范驼峰法和下滑线,传参位置不⼀你知道的
(2)单线程; PHP本⾝,⼀直以来php就是个单进程的程序;虽然php的pthreads扩展早就有了。但是它不够稳定,运⾏运⾏着就会莫名其妙的⾃⼰挂掉;php的扩展都是C写的,这也就意味着任何⼀个扩展出现线程竞争资源控制问题都能让整个挂掉
(3)核⼼异步⽹络不⽀持(当然在linux只有同步⾮阻塞⽹络模型)。却少了这个使得很难开发⼀个能够承受⼤并发的⽹络应⽤。传统的⽹络模型和io都阻塞的。这样基本的编程的做法就是⼀个进程(或者线程)响应⼀个⽤户链接请求。因此⽆法完成像实时⽹游那样需要成千上万⽹络连接的任务。尽管php也有Libevent、eio扩展对此算是某种程度上⾯的弥补,但是感觉都不是那么完善
(4)只⽀持web开发,不⽅便做 .exe⽂件,不⽅便做桌⾯应⽤程序. 不⽅便做⼿机程序.
(5)不适合做爬⾍、⾃动运⾏脚本.科学运算项⽬,这语⾔基本构架就不适合,虽然有很多⽅法实现。
(6)后期维护困难。后期提速空间局限性较⼤。
(7)PHP的解释运⾏机制。这种运⾏机制使得每个PHP页⾯被解释执⾏后,所有的相关资源都会被回收。也就是说,PHP在语⾔级别上没有办法让某个对象常驻内存。在PHP中,所有的变量都是页⾯级的,⽆论是全局变量,还是类的静态成员,都会在页⾯执⾏完毕后被清空。以JSP为例,在JSP中,Java Bean的scope有四种有效值:Page、Application、Session、Request,分别对应页⾯、程序、会话、请求四种⽣存期。但在PHP中,只有Page⼀种⽣存期。
4. 就业⽅向
(1)PC端⽹站开发
(2)移动端微⽹站开发
(3)APP后台开发
⼋、python
1. 简介
Python是⼀种。是⼀种⾯向对象的动态类型语⾔,最初被设计⽤于编写⾃动化脚本(shell),随着版本的不断更新和语⾔新功能的添加,越来越多被⽤于独⽴的、⼤型项⽬的开发。
2. 特点
(1)web开发pytyon拥有⾮常完善的与web服务器进⾏交互的库,以及⼤量的免费的前端⽹页模板。更具优势的是,有⾮常优秀且成熟的Django Web框架,功能⼀应俱全。
(2)linux系统运维事实上,在早期都是通过shell脚本来去实现⾃动化运维,但是由于shell脚本本⾝呢可编程的能⼒偏弱,⼀些需要实现的功能的库也很少,⼤部分都需要⾃⼰从头写起,然⽽pyhon作
为“胶⽔语⾔”可以很⽅便的和其他由于集成起来,对各类⼯具进⾏⽅便发⼆次开发,形成⼀套⾃⼰的运维管理系统。
(3)游戏开发python在游戏开发⽅⾯可能不及Lua 或者是 C++,但是由于python脚本化的优点,类似于游戏剧本、游戏玩法逻辑等这种⾮常灵活的设计上,我们呢修改起来⼗分⽅便。当然了,如果开发⼀款⼩的游戏程序,python还是很具有优势的,⽐较出名的就是pygame 了,或许是我们⾃娱⾃乐的⼀个福⾳啦。
⽹络爬⾍在爬⾍⽅⾯,python是独领风骚的。python有⾮常丰富的库去访问⽹页⽂档的接⼝api以及后期⽹页⽂档的快速处理。
(4)桌⾯软件在window系统桌⾯开发领域,相信C++ MFC应该是⽤的⽐较⼴的了,python可以实现对C++的⽆缝对接,并且同时⽀持Qt和GTK。
(5)数据处理python作为⼀门⼯程性语⾔,对于数据处理的类库是相当丰富的,⽐如有⾼性能的科学计算类库NumPy和SciPy。
(6)⼈⼯智能事实上,真正的⼈⼯智能的底层语⾔是C/C++,因为真正的计算全在于C/C++,⽽python仅仅是调⽤AI的接⼝然后去实现⼀些逻辑⽽已。但是为什么说⼈⼯智能⾸先python呢?这个其实是由于python作为“胶⽔语⾔”的特质才会显的出类拔萃,主要使⽤python是因为
CPython和底层原因的融合使得开发起来更加⽅便。
(7)python还有其他的应⽤场景,⽐如说云计算,⼤名⿍⿍的云计算框架OpenStack就是python开发的。
九、Spark
1. 简介
目前流行的编程语言Apache Spark 是专为⼤规模数据处理⽽设计的快速通⽤的计算引擎。Spark是UC Berkeley AMP lab (加州⼤学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通⽤并⾏框架,Spark,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从⽽不再需要读写HDFS,因此Spark能更好地适⽤于数据挖掘与机器学习等需要迭代的MapReduce的算法。Spark 是⼀种与 Hadoop 相似的开源集计算环境,但是两者之间还存在⼀些不同之处,这些有⽤的不同之处使 Spark 在某些⼯作负载⽅⾯表现得更加优越,换句话说,Spark 启⽤了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代⼯作负载。
Spark 是在 Scala 语⾔中实现的,它将 Scala ⽤作其应⽤程序框架。与 Hadoop 不同,Spark 和 Scala 能够紧密集成,其中的 Scala 可以像操作本地集合对象⼀样轻松地操作分布式数据集。
尽管创建 Spark 是为了⽀持分布式数据集上的迭代作业,但是实际上它是对 Hadoop 的补充,可以在 Hadoop ⽂件系统中并⾏运⾏。通过名为 Mesos 的第三⽅集框架可以⽀持此⾏为。Spark 由加州⼤学伯克利分校 AMP 实验室 (Algorithms, Machines, and People Lab) 开发,可⽤来构建⼤型的、低延迟的数据分析应⽤程序。
2. 使⽤场景
(1)Spark是基于内存的迭代计算框架,适⽤于需要多次操作特定数据集的应⽤场合。需要反复操作的次数越多,所需读取的数据量越⼤,受益越⼤,数据量⼩但是计算密集度较⼤的场合,受益就相对较⼩;
(2)由于RDD的特性,Spark不适⽤那种异步细粒度更新状态的应⽤,例如web服务的存储或者是增量的web爬⾍和索引。就是对于那种增量修改的应⽤模型不适合;
(3)数据量不是特别⼤,但是要求实时统计分析需求。
满⾜以上条件的均可采⽤Spark技术进⾏处理,在实际应⽤中,⽬前⼤数据在互联⽹公司主要应⽤在⼴告、报表、推荐系统等业务上,在⼴告业务⽅⾯需要⼤数据做应⽤分析、效果分析、定向优化等,在推荐系统⽅⾯则需要⼤数据优化相关排名、个性化推荐以及热点点击分析等。
这些应⽤场景的普遍特点是计算量⼤、效率要求⾼,Spark恰恰可以满⾜这些要求,该项⽬⼀经推出便受到开源社区的⼴泛关注和好评,并在近两年内发展成为⼤数据处理领域炙⼿可热的开源项⽬。
⼗、Storm
1. 简介
Storm是⼀个分布式的、⾼容错的实时计算系统。
Storm对于实时计算的的意义相当于Hadoop对于批处理的意义。Hadoop为我们提供了Map和Reduce原语,使我们对数据进⾏批处理变的⾮常的简单和优美。同样,Storm也对数据的实时计算提供了简单Spout和Bolt原语。
2. 使⽤场景
(1)流数据处理:Storm可以⽤来⽤来处理源源不断的消息,并将处理之后的结果保存到持久化介质中。(2)分布式RPC:由于Storm的处理组件都是分布式的,⽽且处理延迟都极低,所以可以Storm可以做为⼀个通⽤的分布式RPC框架来使⽤。
⼗⼀、Unity3D
Unity3D是由Unity Technologies开发的⼀个让玩家轻松创建诸如视频游戏、建筑可视化、实时等类型互动内容的多平台的综合型游戏开发⼯具,是⼀个全⾯整合的专业。Unity类似于Director,Blender game engine, Virtools 或 Torque Game Builder等利⽤交互的图型化为⾸要⽅式的软件。其编辑器运⾏在Windows 和Mac OS X下,可发布游戏⾄、、、、(需要)、Windows phone 8和Android平台。也可以利⽤Unity web player发布⽹页游戏,⽀持Mac和Windows的⽹页浏览。它的也被Mac 所⽀持。
⼗⼆、Java
1. 简介
是⼀门编程语⾔,不仅吸收了语⾔的各种优点,还摒弃了C++⾥难以理解的、等概念,因此Java语⾔具有功能强⼤和简单易⽤两个特征。Java语⾔作为静态⾯向对象编程语⾔的代表,极好地实现了⾯向对象理论,允许程序员以优雅的思维⽅式进⾏复杂的编程 [1] 。
Java具有简单性、⾯向对象、、、、平台独⽴与可移植性、、动态性等特点 [2] 。Java可以编写、、和应⽤程序等
2. 特点
2.1 ⾯向对象
⾯向对象可以说是Java最重要的特性。Java语⾔的设计完全是⾯向对象的,它不⽀持类似C语⾔那样的⾯向过程的程序设计技术。Java⽀持静态和动态风格的代码继承及重⽤。单从⾯向对象的特性来看,Java类似于Small Talk,但其它特性、尤其是适⽤于分布式计算环境的特性远远超越了Small Talk。
2.2 分布式
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论