六种流行语言(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
文章为作者独立观点不代本网立场,未经允许不得转载。