`
gaotong1991
  • 浏览: 93512 次
  • 来自: 北京
社区版块
存档分类
最新评论

6门主流编程语言(C、C++、Java、Python、JavaScript、PHP)特性对比

阅读更多
这些年来我陆陆续续已经学习了六种编程语言,有些人会说语言学到最后不都差不多吗?其实可以这样讲,也可以不这样讲。虽然每种语言的表达能力大部分是重合的,只是语法表现形式不一样,但是由于历史发展的原因,每种语言形成了自己的支撑环境,所以都有其主要的适用范围。

       C、C++、Python和Java四种是通用编程语言,JavaScript和PHP算是Web环境的专用编程语言。C语言由于其底层操作特性和历史的积累,在嵌入式领域是当之无愧的王者;C++是一种支持最广泛编程范式的复杂语言,这些年来发展不太好,目前在服务器后台和游戏领域还有其一席之地;Python作为一种灵活的轻便的通用型脚本语言,使用范围比较广,从应用软件到Web开发都有它的身影,由于其解释语言的特点,比较适合轻量级或原型开发;JavaScript语言由于其是浏览器内置的脚本语言,是Web前端开发的主流,近年来由于google的V8引擎开源,出现了Node.js之类JavaScript后台开发框架,把JavaScript的应用领域扩展到了Web后台;PHP作为一种简单的Web服务器后台脚本语言,在全世界范围内的网站上有最大的使用率;Java由于其跨平台可移植性,在Web开发领域大放异彩,特别是在企业级Web开发,同时由于Android系统采用Java来开发应用程序,所以也随着Android的发展而应用越发广泛。

       理清不同语言间主要语法特性的差异,才能更好的在合适的领域或场景下去应用合适的编程语言,以满足我们所面对的需求。这六种语言都是从C语言发展而来,所以它们的语法都比较像C语言,下面我就主要语法特性对各个语言做一个对比。

1、常量定义

C:#define TEST 0

C++:#define TEST 0

或者

const test = 0;

Python:test = 0

JavaScript:不支持

PHP:define('test', 1);

Java:final int test = 0;

分析:JavaScript不支持常量,C、C++都用特有的预定义宏,PHP用特殊的define语法,其它的都用定义不变变量的方式。

2、变量定义

C:int test = 0;

C++:int test = 0;

Python:test = 0

JavaScript:val test = 0;

PHP:$test = 0;

Java:int test = 0;

分析:这个最基本的都支持了。

3、函数定义

C:int test(int param){}

C++:int test(int param){}

Python:def test(param):

JavaScript:function test(param){}

PHP:function test($param){}

Java:public class test{

public int test(int param){} }

分析:这个也是最基本的了,只是Java比较特殊,不支持定义类之外的函数。

4、类定义(含继承)

C:不支持

C++:class test2: public test1{}

Python:class test2(test1):

JavaScript:function test2(){}

test2.prototype =inherit(test1.prototype){}

PHP:class test2 extend test1{}

Java:class test2 extends test1{}

分析:C由于是传统面向过程的语言不支持类,其他的都支持了,只是JavaScript的类模型比较特殊,把函数作为类来使用。

5、对象定义

C:不支持

C++:test2 obj = new test2();

Python:obj = test2()

JavaScript:var obj = new test2();

PHP:$obj = new test2();

Java:test2 obj = new test2();

分析:除了C外其它语言都是通过new一个对象。

6、数组定义

C:int a[] = {1, 2, 3};

C++:int a[] = {1, 2, 3};

Python:a = [1, 2, 3]

JavaScript:var a = [1, 2, 3];

PHP:$a = array("1", "2", "3");

Java:int a[] = {1, 2, 3};

分析:数组是语言的基本特性,都支持了,只是PHP通过类似函数调用的语法来完成。

7、条件语句

C:if (test > 0){}

else if (test < 0){}

else{}

C++:if (test > 0){}

else if (test < 0){}

else{}

Python:if test > 0:

elif test < 0:

else:

JavaScript:if (test > 0){}

else if (test < 0){}

else{}

PHP:if ($test > 0){}

elseif ($test < 0){}

else{}

Java:if (test > 0){}

else if (test < 0){}

else{}

分析:这是最基本的语句,都支持了。

8、循环语句

C:for (idx=0; idx<num; idx++){}

C++:for (idx=0; idx<num; idx++){}

Python:for idx in range(1,10):

JavaScript:for (var idx=0; idx<num; idx++){}

PHP:for ($idx=0; $idx<$num; $idx++){}

Java:for (idx=0; idx<num; idx++){}

分析:这个也是基本的语句,都支持了。

9、foreach语句

C:不支持

C++:不支持

Python:for i in a:

或者

for key in d:

d[key]

JavaScript:for(i in a){}

PHP:foreach($a as $i){}

Java:for(int i : a){}

分析:foreach算是循环语句的一个变种,在操作顺序容器的时候非常有用,可以看到C和C++不支持,其它的都语言内置支持了。

10、打印语句

C:printf("test: %d", val);

C++:cout<<"test: "<<val<<endl;

Python:print "test: "+val

JavaScript:不支持

PHP:echo "test: $val";

Java:System.out.println("test :"+val);

分析:打印算是语言所运行环境的支持库功能,除了JavaScript外都支持了,因为JavaScript主要使用来操控DOM树的,没有自己的输出窗口所以也没必要支持。

11、字符串定义

C:char test[] = {"helloworld"};

C++:String test = "helloworld";

Python:test = "helloworld"

JavaScript:var test = "helloworld";

PHP:$test = "helloworld";

Java:String test = "helloworld";

分析:这个都支持了,其中C++、Java都是用标准库来现实的。

12、字符串串接

C:test = strcat(test1, test2);

C++:test = test1 + test2;(STL库)

Python:test = test1 + test2

JavaScript:var test = test1 + test2;

PHP:$test = $test1 .= $test2;

Java:test = test1 + test2;

分析:很有用的功能,除了C是用标准库函数来实现,其它都是语言内置支持了。

13、字符串分割

C:不支持

C++:test.substr(3,;

Python:test[3:8]

JavaScript:test.slice(3, 5);

PHP:substr($test, 3, 5);

Java:test.substring(3,;

分析:常用的功能,C不支持,Python是语言内置支持,其他的都依靠库来完成。

14、字符串正则表达式

C:不支持

C++:不支持

Python:test.replace("test1", "test2")

JavaScript:test.replace(/test1/gi, "test2");

PHP:str_replace($test, "test1", "test2");

Java:test.replaceAll("test1", "test2");

分析:常用的功能,可惜C、C++不支持,其他都有标准库来支持。

15、内置容器类型

C:数组

C++:数组

顺序容器 Vector

关联容器 Pair MapSet

Python:列表/元组

字典

JavaScript:数组

对象

PHP:数组(含关联数组)

Java:数组

序列 Collection

映射表 Map

分析:C最简单只支持数组,其他都支持容器,不过主要还是顺序容器和关联容器两大类。

16、注释方式

C:/* */

C++://

Python:#

JavaScript:/* */

//

PHP:/* */

//

#

Java:/* */

//

分析:大概就/**/、//、#三种方式,各自支持情况不一。

17、多线程支持

C:支持

C++:支持

Python:支持

JavaScript:不支持

PHP:不支持

Java:支持

分析:四种通用编程语言都支持了,两种专用编程语言都不支持。

18、socket支持

C:支持

C++:支持

Python:支持

JavaScript:不支持

PHP:支持

Java:支持

分析:除了JavaScript以外都支持,这也是JavaScript的应用领域限制所决定的。

19、垃圾回收机制

C:不支持

C++:不支持

Python:支持

JavaScript:支持

PHP:支持

Java:支持

分析:这是现代语言的重要机制,C和C++不支持,其他的都支持了。

20、引入其他文件中的函数

C:export int test();

C++:export int test();

Python:from test import *

JavaScript:<script language='javascript' src="test.js"charset="utf-8"></script>

PHP:require_once('test.php');

或者

include_once('test.php');

Java:import java.util.test.*;

分析:都支持,C和C++用export,Python和Java用import,JavaScript依靠HTML脚本,PHP用自己的函数调用。

21、将字符串作为指令执行

C:不支持

C++:不支持

Python:eval("port=5060")

JavaScript:eval("port=5060;");

PHP:eval("port=5060;");

Java:Porcess proc = new ProcessBuilder(“test”).start();

分析:很有用的一个动态语言特性,C和C++都不支持,Java要类库来支持,其它的语言内置eval关键字来支持。
分享到:
评论

相关推荐

    5、六种主流编程语言C++、PYTHON、JAVA对比.pdf

    C++、Python和Java是目前主流的编程语言,在软件开发领域中被广泛使用。它们各自有着不同的特点和适用场景。C++具有较强的性能和效率,适用于系统底层开发和游戏编程;Python则以其简洁性和强大的库支持著称,在数据...

    python前端c语言c++java微信小程序Linux嵌入式开发+驱动开发PHP最全资源

    C++是在C语言基础上发展起来的一种面向对象的编程语言。它不仅继承了C语言的优点,还引入了类、对象等概念,支持封装、继承和多态等特性,适用于复杂的软件开发项目。C++被广泛应用于游戏开发、高性能服务器编写等...

    java、python、PHP、Html 、JS、C、C++

    标题中的"java、python、PHP、Html 、JS、C、C++"涵盖了七种主流的编程语言,这些语言在IT行业中各有其独特的应用领域和重要性。下面将逐一介绍这些语言及其相关知识点: 1. **Java**:由Sun Microsystems(现已被...

    在线编程语言速学网,C++、CSS、java、json、PHP、python、swift等各种语言的快速学习教程。.zip

    在线编程语言速学网提供了丰富的资源,覆盖了C++、CSS、Java、JSON、PHP、Python和Swift等多门主流编程语言的快速学习教程。这些教程通常以易于理解的方式介绍编程基础,帮助初学者迅速入门并提升技能。下面将详细...

    主流编程语言的学习.pdf

    首先,文档中提到的主流编程语言包括但不限于C, BASIC, Fortran, C++, Java, C#, SQL, Lisp, Prolog, PHP, HTML5, CSS3, JavaScript, Perl, Python, Ruby, PL/SQL, .NET, Swift, Objective-C。每一种语言都有其独特...

    设计模式-7种开发语言(C#、JAVA、JavaScript、C++、Python、Go、PHP).pdf

    在标题提及的《设计模式-7种开发语言(C#、JAVA、JavaScript、C++、Python、Go、PHP)》中,作者林晨一点详细介绍了24种经典的设计模式,并提供了这七种主流编程语言的代码示例。以下将对其中一些关键的设计模式进行...

    当今主流的所有网络编程语言

    尽管Lua、PowerShell和Erlang尚未成为主流编程语言,但它们各自展现出了独特的优势和发展潜力。Lua以其小巧灵活的特点,在嵌入式系统开发领域有着广泛的应用前景;PowerShell作为Windows系统管理语言的重要组成部分...

    10门编程语言各自优势汇总共6页.pdf.zip

    这篇名为"10门编程语言各自优势汇总共6页.pdf.zip"的文档,显然是一份详细分析了十种主流编程语言特性和优势的资料。以下是根据标题和描述提炼出的各编程语言关键知识点: 1. **Java**:Java以其“一次编写,到处...

    当今流行网络编程语言介绍

    在当前的网络编程语言领域中, Java、PHP、Python、Perl、Ruby、JavaScript、C、D、Lua、PowerShell 和 Erlang 等语言都是非常流行的选择。每种语言都有其特点和应用领域,了解这些语言的特点和发展趋势对于网络编程...

    最难学的十大编程语言,Java只排第三,第一你绝对想不到!.docx

    C 语言的设计影响了众多后来的编程语言,例如 C++、Objective-C、Java、C# 等。C 语言的作者是 Dennis MacAlistair Ritchie,他是一名美国计算机科学家,黑客圈子通常称他“dmr”。C 语言排名第八名,作者头发浓密度...

    八大编程语言知识点汇总.zip

    【描述】本资料涵盖了八种主流的编程语言,旨在为初学者和有经验的开发者提供一个全面的参考指南,深入理解每种语言的核心概念、语法特性以及实际应用。 【标签】编程语言,基础知识,语法特性,应用实践 【正文】...

    golang、python、php、c++、c、java、Nodejs性能对比

    本文主要探讨了七种主流编程语言——Golang、Python、PHP、C++、C、Java和Node.js在性能方面的对比。作者通过实现一个简单的斐波那契数列计算程序来衡量它们的执行速度。斐波那契数列是一个经典算法,常用于测试语言...

    基于多种编程语言的Ip2region离线IP数据管理框架设计源码

    Ip2region离线IP数据管理框架:基于C语言构建,包含174个文件,包括25个Markdown文档、...此外,它还实现了多种主流编程语言的xdb数据管理引擎,包括C#、Go、Java、Python、Rust、Lua、C、JavaScript、C、PHP和Shell。

    超全面全语言编程入门课程.pdf

    在这份课程中,我们能够学习到Python、Java、C/C++、前端H5、PHP等流行编程语言的基础知识和开发技能,同时,物联网与区块链、云计算大数据、以及前端与移动开发等内容也被包含在内,突显了课程的全面性和实用性。...

Global site tag (gtag.js) - Google Analytics