编程语言的分类与选择

  1. 机器语言 VS 高级语言
  2. 动态语言 VS 静态语言
  3. 命令式 VS 函数式 VS 逻辑式语言
  4. 强类型定义语言 VS 弱类型语言
  5. 面向对象 VS 面向过程
动态语言:运行期间才去做数据类型检查的语言
——PERL,Python,Ruby……可视为超级脚本语言
——脚本语言:JS,ASP,PHP,bat,shell,VBscript,Tcl
(脚本语言需要解释器来运行)
——宏语言(可视为脚本语言的分支)
——HTML,内嵌网页的脚本语言,解释器就是浏览器

静态语言:数据类型是在编译期间检查的
——C/C++,JAVA
命令式:大多数流行语言包括脚本语言
——Fortran,Pascal,Cobol,C,C++,Basic,Ada,Java,C#,Python……
函数式:泛函,基于数学函数概念
——Lisp,Haskell,ML,Scheme……
逻辑式:基于一组已知规则的形式逻辑系统,专家系统
——Prolog
强类型(类型安全):强制数据类型定义的语言
强类型语言在没有强制类型转化前,不允许两种不同类型的变量相互操作
——Java、C# 、Apex和 Python
弱类型:数据类型可以被忽略的语言(弱类型语言是指定义的变量没有具体类型,可以对其进行任意类型的赋值,变量不需要声明就可以直接使用?)
——vb,php,JS
强/弱类型是指类型检查的严格程度的。语言有无类型,弱类型和强类型三种。无类型的不检查,甚至不区分指令和数据。弱类型的检查很弱,仅能严格的区分指令和数据。强类型的则严格的在编译期进行检查。
纯面对过程的语言
——C/ FORTRAN/ COBOL/ ALGOL/ PASCAL/ BASIC
纯面对对象的语言
——JAVA   RUBY  Smalltalk
两者兼有
——C++、Python、JAVA、C#
编程语言的选择
  • 如果对性能要求苛刻,或者操作系统结合紧密——必然选C
  • 到处可用的程序——Java
  • 大型程序,尽量用Python
  • 文本的处理Perl
  • 知识的处理程序:Prolog
  • 最灵活,最模糊的程序:Lisp
  • 服务器端程序:PHP,Perl,python,asp,JavaEE
  • 前端:HTML5,CSS,Javascript
  • 数据库程序:VB,Delphi(?)

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注