C、C++、Python和Java四种是通用编程措辞,JavaScript和PHP算是Web环境的专用编程措辞。

C(令人崇拜的措辞)

由于其底层操作特性和历史的积累,在嵌入式领域是当之无愧的王者。

C++(神秘莫测的措辞)

是一种支持最广泛编程范式的繁芜措辞,在高等措辞当中,处理运行速率是最快的,大部分的游戏软件,系统都是由C++来编写的。

高端大气后台html六种风行说话CCPythonJavaScriptPHPJava比较 AJAX

Python(高端大气上档次的措辞)

作为一种灵巧的轻便的通用型脚本措辞,利用范围比较广,从运用软件到Web开拓都有它的身影,由于其阐明措辞的特点,比较适宜轻量级或原型开拓;

Java(有噱头的措辞)

Java由于其跨平台可移植性,在Web开拓领域大放异彩,特殊是在企业级Web开拓,同时由于Android系统采取Java来开拓运用程序,以是也随着Android的发展而运用加倍广泛;

JavaScript(有潜力的措辞)

JavaScript措辞由于其是浏览器内置的脚本措辞,是Web前端开拓的主流,近年来由于google的V8引擎开源,涌现了Node.js之类JavaScript后台开拓框架,把JavaScript的运用领域扩展到了Web后台。

PHP(低调奢华的措辞)

独特的语法稠浊了C、Java、Perl以及PHP自创的语法。
它可以比CGI或者Perl更快速地实行动态网页;还可以实行编译后代码,编译可以达到加密和优化代码运行,使代码运行更快。

理清不同措辞间紧张语法特性的差异,才能更好的在得当的领域或场景下去运用得当的编程措辞,以知足我们所面对的需求。
这六种措辞都是从C措辞发展而来,以是它们的语法都比较像C措辞,下面我就紧张语法特性对各个措辞做一个比拟。

1、常量定义

C:#define TEST 0

C++:#define TEST 0

或者

const test = 0;

Python:test = 0

C#:不支持

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, 8);

Python:test[3:8]

JavaScript:test.slice(3, 5);

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

Java:test.substring(3, 8);

剖析:常用的功能,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关键字.

C/C++资料分享:

须要的小伙伴们可以【点击下方】链接哦~