一、强类型和弱类型语言:
C、 C++、 Java 、Python都是强类型的语言。PHP是弱类型的语言。
强类型语言是一种强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就是该数据类型。而弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以依据环境变化手动进行转换,不需要经过现行强制转换。二、静态类型和动态类型语言:
C、C++、Java是静态类型语言,PHP、Python是动态类型语言。
动态类型语言:动态性语言是指在运行期间才去做数据类型检测的语言,也就是说动态类型语言编程时,永远不用给任何变量指定数据类型,该语言会在第一次形参给变量时,在内部将数据类型记录出来。静态类型语言:静态类型语言与动态类则正好相反,它的数据类型在编译期间检测,也就是说在写程序时要申明所有变量的数据类型。三、编译型和解释型语言:
C、C++属于编译型语言。PHP、Python属于解释型语言。Java即是编译型语言,也是解释型语言,总的来说Java更接近解释型语言。
编译型语言:使用专门的编译器,针对特定的平台,将中级语言源代码一次性的编译成可被该平台硬件执行的机器码,并包装成该平台所能辨识的可执行性程序的格式。解释型语言:使用专门的类库对源程序逐行解释成特定平台的机器码并立刻执行。是代码在执行时才被类库一行行动态翻译和执行,而不是在执行之前就完成翻译。四、面向过程与面向对象:
C语言是面向过程的,C++、JAVA、python都是面向对象的。PHP同时可以面向对象和面向过程。
面向过程是直接将解决问题的步骤剖析下来,然后用函数把步骤一步一步实现,然后再依次调用就可以了。而面向对象是将构成问题的事物,分解成若干个对象,建立对象的目的不是为了完成一个步骤,而是为了描述某个事物在解决问题过程中的行为。
五、PHP
PHP语言(PHP: Hypertext Preprocessor的简写,中文名:“超文本预处理器”)是一种通用开源脚本语言。
PHP语言以前堪称世界第一,有很多的开源框架,不过PHP只是适宜中小企业开发或则个体户开发。PHP开发比较简单,但是安全性极差。如果你的要求不高,可以选择PHP,但是开发找工作不建议PHP。
优点:
跨平台,性能优越:跟Linux/Unix结合比跟Windows结合性能强45%,并且和好多免费的平台结合十分省钱。语法简单,容易上手:PHP有成熟的开发工具,比如NuPHPed,在Linux平台下可以使用Eclipse等等。技术支持性好:很多技术工具,比如WebService、Ajax、XML等等,足够应用;还能够使用多种数据抽象层,模板层,方法。框架多且成熟:比如支持MVC的框架:phpMVC,支持类似的风波驱动的框架:Prado,支持类似Ruby On Rails的快速开发的框架:Cake等等,足够满足你的应用需求。面向对象体系:能够适应基本的面向对象要求。开源性:比如比较著名的开源框架有Zend Framework、CakePHP、CodeIgniter、symfony等,开源峰会有Discuz!、Phpwind等,开源博客 WordPress,开源网店系统如Ecshop、ShopEx等,开源的SNS系统如UCHome、ThinkSNS等。
缺点:
对多线程支持不太好,大多数时侯我们只能简单地模拟去实现的。语法不太严谨,比如变量不需要定义就可以使用,在C,Java,C++中变量是必须先定义之后才可以使用的。PHP的解释运行机制冗长。六、Java
Java语言,Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的合称。
Java应当是就业最广的语言了。像阿里等大厂,都主打Java。主流的市场是做Web,当然也可以做安卓。各种算法的实现也可以用Java,Java的技术框架特别的庞大,Java、Javaweb、微服务、中间件等都须要搞。
优点:
跨平台性:Java语言中, Java自带的虚拟机挺好地实现了跨平台性。 Java虚拟机提供了一个字节码到底层硬件平台及操作系统的屏障,使得Java语言具备跨平台性。面向对象:Java是一种面向对象的语言,也承继了面向对象的众多用处,如代码扩充、代码复用等。安全性:运行时Java类须要类加载器载入,并经由字节码校验器校准以后才可以运行。 Java类在网路上使用时,对它的权限进行了设置,保证了被访问用户的安全性。多线程:Java不仅外置的多线程技术之外,还定义了一些类、方法等来构建和管理用户定义的多线程。简单易用:Java源代码的书写不屈从于特定的环境,可以用记事本、文本编辑器等编辑软件来实现,然后将源文件进行编译,编译通过后可直接运行,通过调试则可得到想要的结果。
缺点:
运行速率相比于C/C++有些平缓了,这是机制缘由造成的。
七、Python
Python语言,是一种面向对象、直译式计算机程序设计语言,Python句型简约而清晰,具有丰富和强悍的泛型。它常被爱称为胶带语言,它还能很轻松的把用其他语言制做的各类模块(尤其是C/C++)轻松地连结在一起。常见的一种应用情形是,使用python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有非常要求的部份,用更合适的语言改写。
当前宣扬最厉害的语言就是Python,因为现今人工智能如今很火。但是Python真没你们想的那么好。当前你要找Pyhton的工作,只会Python, 很难找到工作。普通本科生学校的中学生,不建议去学Python。Python 是最佳辅助工具、第一辅助编程语言。985中学中学生或则研究生以上可以考虑做算法、数据剖析、数据挖掘的工作!
优点:
易于学习:Python其实是用c语言写的,但是它摒弃了c中十分复杂的表针,简化了Python的句型,它使你才能专注于解决问题而不是去搞明白语言本身。开源性:Python是FLOSS(自由/开放源码软件)之一,Python希望见到一个愈发优秀的人创造并时常改进。可移植性:Python经过改动,已经被移植在许多平台上了。另外,Python类库把源代码转换成称为字节码的中间方式,然后再把它翻译成计算机使用的机器语言并运行,因而,你只须要把你的Python程序拷贝到另外一台计算机上,它就可以工作了,这也促使你的Python程序愈加便于移植。面向对象面向过程同时支持。可扩展性和可嵌入性:你可以将Python嵌入到C/C++程序,让你的程序的用户获得"脚本化"的能力。标准库以及第三方库资源丰富:Python标准库确实很庞大。python有可定义的第三方库可以使用。它可以帮助你处理各类工作,包括正则表达式、文档生成、单元测试、线程、数据库、网页浏览器、CGI、FTP、电子邮件、XML、XML-RPC、HTML、WAV文件、密码系统、GUI(图形用户界面)等等。
缺点:
运行速率慢,相比于C++/C运行速率偏慢,不过对于用户而言,机器上运行速率是可以忽视的。构架选择太冗长,没有像C#这样的官方.net架构,也没有像ruby因为历史较短,构架开发的相对集中,所以人人都有不同的方案。八、C
C语言,它既有高级语言的特征,又具有汇编语言的特性,它是结构式语言。
C语言应用表针:可以直接进行紧靠硬件的操作,但是C的表针操作不做保护,也给它带来了好多不安全的诱因。一般而言,C,C++,java被视为同一系的语言,它们常年抢占着程序使用榜的前三名。
优点:
简洁紧凑、灵活便捷:C语言一共只有32个关键字,9种控制句子,程序书写自由,主要用大写字母表示。它把高级语言的基本结构和句子与低级语言的实用性结合上去。 C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这两者是计算机最基本的工作单元。运算符丰富:C的运算符包含的范围很广泛,共有种34个运算符。C语言把括弧、赋值、强制类型转换等都作为运算符处理。从而使C的运算类型非常丰富表达式类型多元化,灵活使用各类运算符可以实现在其它高级语言中无法实现的运算。数据结构丰富:C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能拿来实现各类复杂的数据类型的运算。并引入了表针概念,使程序效率更高。另外C语言具有强悍的图形功能, 支持多种显示器和驱动器。且估算功能、逻辑判定功能强悍。C是结构式语言:结构式语言的明显特征是代码及数据的分隔化,即程序的各个部份不仅必要的信息交流外彼此独立。这种结构化形式可使程序层次清晰, 便于使用、维护以及调试。C语言是以函数方式提供给用户的,这些函数可便捷的调用,并具有多种循环、条件句子控制程序流向,从而使程序完全结构化。C句型限制不太严格、程序设计自由度大:一般的中级语言句型检测比较严,能够检测出几乎所有的句型错误。而C语言容许程序编写者有较大的自由度。C能直接访问数学地址和操作硬件:因此既具有高级语言的功能,又具有低级语言的许多功能,能够象汇编语言一样对位、字节和地址进行操作,而这两者是计算机最基本的工作单元,可以拿来写系统软件。C语言程序生成代码质量高:程序执行效率高通常只比汇编程序生成的目标代码效率低10へ20%。C语言适用范围大,可移植性好:C语言有一个突出的优点就是适合于多种操作系统, 如DOS、UNIX,也适用于多种型号。
缺点:
C语言的缺点主要表现在数据的封装性上,这一点致使C在数据的安全性上有很大缺陷,这也是C和C++的一大区别。C语言的句型限制不太严格,对变量的类型约束不严格,影响程序的安全性,对数组下标越界不作检测等。从应用的角度,C语言比其他高级语言较难把握。也就是说,对用C语言的人,要求对程序设计更熟练一些。九、C++
C++是C语言的承继,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特征的基于对象的程序设计,还可以进行以承继和多态为特征的面向对象的程序设计。
C++属于比较难的编程语言。它有很多不同的编程范式。在有很多人参与的小型项目里,很难严格统一所有人采用的范式。它在高性能的项目里有较多的技术,例如IO、, 线程池管理,协程,网络合同等等,这些技术并不属于C++简单小游戏c语言源程序简单小游戏c语言源程序,但是用C++会涉及到更多的技术,因此涉及到C++的项目开发都挺难的。
C++不仅兼顾了C语言的优势之外,还有一下特征:
C++语言的主要特征表现在两个方面,一是尽量兼容C,二是支持面向对象的方式。它帮衬了C的简约、高效的接近汇编语言等特性,对C的类型系统进行了变革的扩展,因此C++比C更安全,C++的编译系统能检测出更多的类型错误。另外,由于C语言的广泛使用,因而极大的推动了C++的普及和推广。C++语言最有意义的方面是支持面向对象的特点。虽然与C的兼容促使C++具有双重特征,但他在概念上完全与C不同,更具面向对象的特点。出于保证语言的简约和运行高效等方面的考虑,C++的好多特点都是以库(如STL)或其他的方式提供的,而没有直接添加到语言本身里。C++引入了面向对象的概念,使得开发人机交互类型的应用程序更为简单、快捷。很多优秀的程序框架包括Boost、Qt、MFC、OWL、wxWidgets、WTL就是使用的C++。