六种流行语言(C、C++、Python、JavaScript、PHP、Java)对比

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

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

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

是一种支持最广泛编程范式的复杂语言,在高级语言当中,处理运行速度是最快的,大部分的游戏软件,系统都是由C++来编写的。

作为一种灵活的轻便的通用型脚本语言,使用范围比较广,从应用软件到Web开发都有它的身影,由于其解释语言的特点,比较适合轻量级或原型开发;

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

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

独特的语法混合了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++资料分享:

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

PHP函数大全:从Array到Zip,你需要了解的所有函数

PHP函数大全:从Array到Zip,你需要了解的所有函数

在PHP开发中,函数是非常重要的工具。它们提供了各种功能和操作,帮助我们更高效地处理数据和实现各种功能。在本文中,我们将介绍PHP中一些常用的函数,包括Array、Calendar、cURL、Date、Directory、Error、Filesystem、Filter、FTP、HTTP、LibXML、Mail、Math、Misc、MySQLi、SimpleXML、String、XML Parser和Zip函数。

Array函数:

Array函数提供了各种用于操作数组的功能。比如,array_push()函数可以向数组的末尾添加一个或多个元素,array_pop()函数可以从数组的末尾移除并返回一个元素。

示例代码demo:

使用心得:

Array函数是PHP中非常常用的函数之一。它们提供了各种操作数组的功能,可以帮助我们更方便地处理数据。在实际开发中,我经常使用Array函数来添加、移除和遍历数组,这些函数使得数组操作变得非常简单和高效。

Calendar函数:

Calendar函数提供了与日历相关的功能。比如,cal_days_in_month()函数可以返回指定月份的天数,cal_info()函数可以返回指定日历的信息。

示例代码demo:

使用心得:

Calendar函数在处理与日期和时间相关的功能时非常有用。它们提供了各种操作日期和时间的功能,可以帮助我们更好地处理时间和日期的计算和显示。

cURL函数:

cURL函数提供了与网络通信相关的功能。比如,curl_init()函数可以初始化一个cURL会话,curl_exec()函数可以执行一个cURL会话。

示例代码demo:

使用心得:

cURL函数是PHP中用于进行网络通信的重要工具。它们提供了各种操作URL和发送HTTP请求的功能,可以帮助我们与远程服务器进行数据交互和获取数据。

Date函数:

Date函数提供了与日期和时间相关的功能。比如,date()函数可以格式化一个本地日期和时间,strtotime()函数可以将一个日期时间字符串解析为Unix时间戳。

示例代码demo:

使用心得:

Date函数是PHP中非常常用的函数之一。它们提供了各种格式化和解析日期时间的功能,可以帮助我们更好地处理日期和时间的显示和计算。

Directory函数:

Directory函数提供了与目录相关的功能。比如,opendir()函数可以打开一个目录句柄,readdir()函数可以读取目录中的条目。

示例代码demo:

使用心得:

Directory函数是PHP中用于处理目录的重要工具。它们提供了各种操作目录和文件的功能,可以帮助我们更好地管理和处理文件和目录。

Error函数:

Error函数提供了与错误处理相关的功能。比如,error_reporting()函数可以设置错误报告级别,trigger_error()函数可以触发一个用户定义的错误。

示例代码demo:

使用心得:

Error函数是PHP中用于错误处理的重要工具。它们提供了各种处理和报告错误的功能,可以帮助我们更好地调试和修复代码中的错误。

Filesystem函数:

Filesystem函数提供了与文件系统相关的功能。比如,file_exists()函数可以检查文件或目录是否存在,mkdir()函数可以创建一个目录。

示例代码demo:

使用心得:

Filesystem函数是PHP中用于处理文件和目录的重要工具。它们提供了各种操作文件和目录的功能,可以帮助我们更好地管理和处理文件和目录。

Filter函数:

Filter函数提供了与过滤和验证数据相关的功能。比如,filter_var()函数可以过滤和验证一个变量的值,filter_input()函数可以获取并过滤一个输入变量的值。

示例代码demo:

使用心得:

Filter函数是PHP中用于过滤和验证数据的重要工具。它们提供了各种过滤和验证数据的功能,可以帮助我们更好地处理和保护用户输入的数据。

FTP函数:

FTP函数提供了与FTP协议相关的功能。比如,ftp_connect()函数可以连接到一个FTP服务器,ftp_login()函数可以登录到一个FTP服务器。

示例代码demo:

使用心得:

FTP函数是PHP中用于与FTP服务器进行交互的重要工具。

助手函数:

助手函数是自定义的函数,它们提供了一些常用的功能,可以帮助我们简化代码和提高开发效率。比如,一个常见的助手函数是计算两个数的和。

示例代码demo:

使用心得:

助手函数是PHP中用于简化代码和提高开发效率的重要工具。它们可以根据我们的需求自定义,提供各种常用的功能,可以帮助我们更好地处理和操作数据。

HTTP函数:

HTTP函数提供了与HTTP协议相关的功能。比如,file_get_contents()函数可以从一个URL地址获取内容,header()函数可以发送HTTP头信息。

示例代码demo:

使用心得:

HTTP函数是PHP中用于与HTTP协议进行交互的重要工具。它们提供了各种操作HTTP协议的功能,可以帮助我们更好地获取和发送HTTP数据。

Image函数:

Image函数提供了与图像处理相关的功能。比如,imagecreate()函数可以创建一个新的图像资源,imagecopy()函数可以将一个图像复制到另一个图像上。

示例代码demo:

使用心得:

Image函数是PHP中用于处理图像的重要工具。它们提供了各种操作图像的功能,可以帮助我们更好地处理和操作图像数据。

JSON函数:

JSON函数提供了与JSON数据相关的功能。比如,json_encode()函数可以将一个PHP变量编码为JSON字符串,json_decode()函数可以将一个JSON字符串解码为PHP变量。

示例代码demo:

使用心得:

JSON函数是PHP中用于处理JSON数据的重要工具。它们提供了各种操作JSON数据的功能,可以帮助我们更好地处理和传输数据。

Math函数:

Math函数提供了与数学运算相关的功能。比如,abs()函数可以返回一个数的绝对值,sqrt()函数可以返回一个数的平方根。

示例代码demo:

使用心得:

Math函数是PHP中用于数学运算的重要工具。它们提供了各种数学运算的功能,可以帮助我们更好地进行数学计算和处理。

Network函数:

Network函数提供了与网络相关的功能。比如,gethostbyname()函数可以根据主机名获取IP地址,getprotobyname()函数可以根据协议名获取协议号。

示例代码demo:

使用心得:

Network函数是PHP中用于处理网络相关操作的重要工具。它们提供了各种操作网络的功能,可以帮助我们更好地处理和操作网络数据。

String函数:

String函数提供了与字符串处理相关的功能。比如,strlen()函数可以返回一个字符串的长度,substr()函数可以截取一个字符串的一部分。

示例代码demo:

使用心得:

String函数是PHP中用于处理字符串的重要工具。它们提供了各种操作字符串的功能,可以帮助我们更好地处理和操作字符串数据。

继续介绍PHP常用函数:

Date函数:

Date函数提供了与日期和时间相关的功能。比如,date()函数可以返回当前的日期和时间,strtotime()函数可以将一个日期时间字符串转换为时间戳。

示例代码demo:

使用心得:

Date函数是PHP中用于处理日期和时间的重要工具。它们提供了各种操作日期和时间的功能,可以帮助我们更好地处理和操作日期时间数据。

File函数:

File函数提供了与文件处理相关的功能。比如,file_exists()函数可以判断一个文件是否存在,file_get_contents()函数可以读取一个文件的内容。

示例代码demo:

使用心得:

File函数是PHP中用于处理文件的重要工具。它们提供了各种操作文件的功能,可以帮助我们更好地处理和操作文件数据。

Array函数:

Array函数提供了与数组处理相关的功能。比如,count()函数可以返回一个数组的长度,array_push()函数可以向数组末尾添加一个或多个元素。

示例代码demo:

使用心得:

Array函数是PHP中用于处理数组的重要工具。它们提供了各种操作数组的功能,可以帮助我们更好地处理和操作数组数据。

Regular Expression函数:

Regular Expression函数提供了与正则表达式相关的功能。比如,preg_match()函数可以用正则表达式匹配一个字符串,preg_replace()函数可以用正则表达式替换一个字符串的内容。

示例代码demo:

使用心得:

Regular Expression函数是PHP中用于处理正则表达式的重要工具。它们提供了各种操作正则表达式的功能,可以帮助我们更好地处理和操作字符串。

以上是PHP中常用的一些函数,它们提供了各种功能,可以帮助我们更好地处理和操作数据。在实际开发中,我们可以根据具体需求选择合适的函数来完成相应的任务。

我是永不低头的熊,喜欢美食、健身,当然也喜欢写代码,每天不定时更新各类编程相关的文章,希望你在码农这条路上不再孤单!

本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com

点赞 0
收藏 0

文章为作者独立观点不代本网立场,未经允许不得转载。