欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

前端编程语言有哪几种(目前最主流的6种编程语言)

程序员文章站 2023-11-27 15:39:40
有些人会说语言学到最后不都差不多吗?其实可以这样讲,也可以不这样讲。虽然每种语言的表达能力大部分是重合的,只是语法表现形式不一样,但是由于历史发展的原因,每种语言形成了自己的支撑环境,所以都有其主要的...

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

c、c++、python和java四种是通用编程语言,javascript和php算是web环境的专用编程语言。

c(令人崇拜的语言)

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

c++(神秘莫测的语言)

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

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关键字.