1. 主流编程语言
2. 编程语言分类
    2.1 编译or解释
    2.2 按照客观系统的描述可分为两类
    2.3 按照编程范型可分为
3. 语言范式 Paradigm
4. 计算机语言历史
5. 编程语言排名
6. 编程语言影响关系
7. 更多信息:

1. 主流编程语言

Language 2019 Top Languages Influenced Influenced by
Java 1 2015 39 17
C 2 2017 54 10
Python 3 2018 30 9
C++ 4 2003 36 6
Lisp 32   60 1
C# 6   17 8
JavaScript 7 2014 12 7
PHP 8 2004 2 8
SQL 9 2013 7 1
Objective-C 10 2012 11 2
Ruby 12 2006 17 10
Perl 17   19 10
go 18 2016   7

列描述:

  • 2019: 截止2019年7月排名
  • Top: 登录过首位的年份
  • Languages Influenced: 影响多少个编程语言
  • Influenced by: 被多少个编程语言影响

2. 编程语言分类

  • 机器语言 (二进制代码)
  • 汇编语言 (面向机器的程序设计语言)
  • 高级语言 (...)

2.1 编译or解释

  • 解释性语言:Java、JavaScript、Perl、Python、Ruby、MATLAB 等。
  • 编译性语言: C/C++、Pascal/Object Pascal(Delphi)
  • 脚本语言(一种解释性语言):Python、JavaScript,ASP,PHP,Perl等

2.2 按照客观系统的描述可分为两类

  • 面向过程语言(C);
  • 面向对象语言(C++, Objective-C)

2.3 按照编程范型可分为

  • 命令式语言;  (Fortran、ALGOL、COBOL、C、Ada、Pascal)
  • 函数式语言;  (Lisp、Haskell、ML、Scheme 、F#)
  • 逻辑式语言;  (Prolog)
  • 纯面向对象语言  (Smalltalk)

3. 语言范式 Paradigm

sn 语言范式 Paradigm 比如: 描述 count
1 面向对象的编程
Object-oriented
Lisp, Java, Python, C++, Ruby, Perl, Smalltalk 使用由数据字段和方法组成的数据结构及其交互(对象)来设计程序 188
2 功能编程 Functional Lisp,Python, C++, Ruby, JavaScript, C# 使用数学函数的评估并避免状态和可变数据 130
3 命令式编程 Imperative C, Java, Python, JavaScript, Pascal, Ruby, Perl 改变程序状态的显式语句 118
4 逻辑编程 Logic Prolog 使用显式数学逻辑进行编程 20
5 声明性编程 Declarative Haskell 描述应该执行的计算,而不指定详细的状态变化c.f.命令式编程(功能和逻辑编程是声明性编程的主要子组) 15
6 通用编程 Generic Java, C++, Perl, C# 使用根据待指定的后续类型编写的算法,然后根据需要对作为参数提供的特定类型进行实例化 10
7 反思性编程 Reflective Ruby, JavaScript 元编程方法,其中程序修改或扩展自身 5
8 数据流编程 Dataflow SISAL 数据值发生变化时强制重新计算公式(例如电子表格) 3
9 管道编程 Pipeline   一个简单的语法更改,用于添加语法以将函数调用嵌套到最初使用none设计的语言 2
10 分布式编程 Distributed   支持通过计算机网络进行通信的多台自治计算机 1
11 多范式编程语言 Python, C++, Perl, Ruby, C# Multi-paradigm programming language 94
12 程序编程 Lisp, C, Python, C++, Perl Procedural programming 89
13 结构化编程 C, Java, Pascal, Ruby Structured programming 65
14 并发计算 C# Concurrent computing 26
15 基于原型的编程 JavaScript Prototype-based programming 24
16 面向堆栈的编程语言 Forth Stack-oriented programming language 17
17 并行计算 ALGOL 68 Parallel computing 16
18 数组编程 APL Array programming 13
19 知识表示语言 KPL Knowledge Representation Language 9
20 连接编程语言 Forth Concatenative programming language 9
21 口译语言 Lisp, Python, Ruby Interpreted language 8
22 动态编程语言 Perl, Ruby Dynamic programming language 7
23 数据库编程 SQL Database programming 7
24 教育编程语言 Logo Educational programming language 6
25 数学 Lisp, Haskell, APL Mathematics 4
26 懒惰的评价 Haskell Lazy evaluation 4
27 编译语言 Haskell Compiled language 4
28 强打字 Haskell, Java Strong typing 3
29 可视化编程语言   Visual programming language 3
30 按合同设计 Eiffel Design by contract 3
31 模块化编程 Modula, Mesa Modular programming 3
32 类型推断 Haskell, ML Type inference 3
33 功能级编程 FP Function-level programming 3
34 标记语言 Curl Markup language 2
35 依赖类型   Dependent type 2
36 演员模特   Actor model 2
37 框架语言   Frame language 2
38 自修改代码   Self-modifying code 2
39 事件驱动的编程   Event-driven programming 2
40 组合逻辑   Combinatory logic 2
41 细胞为主   Cell-based 2
42 虚拟机   Virtual machine 1
43 一次编写, 随处运行   Write once, run anywhere 1
44 多代理系统   Multi-agent system 1
45 基于表达式   Expression-based 1
46 基于知识的系统   Knowledge-based systems 1
47 面向组件的编程   Component oriented programming 1
48 封装   Encapsulation 1
49 阿贾克斯   Ajax 1
50 操作者   Operator 1
51 示例中心编程   Example Centric Programming 1
52 二维   Two dimensional 1

注: [count]列内的数字,表示该范式包含多少种编程语言,数据来源: https://exploring-data.com/vis/programming-languages-influence-network/

4. 计算机语言历史

lang.pdf (1954-2018)
https://www.levenez.com/lang/lang.pdf

5. 编程语言排名

https://www.tiobe.com/tiobe-index/

6. 编程语言影响关系

https://exploring-data.com/vis/programming-languages-influence-network/
编程语言影响关系图↑及相关说明↓
https://exploring-data.com/info/programming-languages-influence-network/

7. 更多信息:

https://en.wikipedia.org/wiki/Programming_paradigm
编程范式是一种根据编程语言的特性对编程语言进行分类的方法。语言可以分为多种范例。
https://upload.wikimedia.org/wikipedia/commons/f/f7/Programming_paradigms.svg
根据Peter Van Roy的各种编程范例概述(svg图)

多范式编程语言的比较
https://en.wikipedia.org/wiki/Comparison_of_multi-paradigm_programming_languages

https://en.wikipedia.org/wiki/Comparison_of_programming_languages

https://en.wikipedia.org/wiki/Categorical_list_of_programming_languages
编程语言的分类列表

Program-Language的更多相关文章

  1. History of program (language).

    1 编程语言的发展历程及未来趋势 1.1 编程语言的发展 · 1946 Plankalkul     Konrad Zuse,一位德国工程师,他躲藏在巴伐利亚附近的阿尔卑斯山上时,独立开发了Plank ...

  2. Function program language

    历史 Lambda演算为描述函数及其评估提供了理论框架.它是一种数学抽象而不是编程语言 - 但它构成了几乎所有当前函数式编程语言的基础.等效的理论公式,组合逻辑,通常被认为比lambda演算更抽象,并 ...

  3. 函数式编程语言(Fuction Program Language)

    一.什么是函数式编程语言 函数式编程语言(functional progarm language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型. ...

  4. functional program language(what,include,why popular)

    函数式语言(functional language)一类程序设计语言.是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型.这种语言具有较强的组织数据结构的能力,可以把某 ...

  5. functional program language

    1.什么是函数式编程语言 函数式语言(functional language)一类程序设计语言,是一种非冯·诺伊曼式的程序设计语言.函数式语言主要成分是原始函数.定义函数和函数型.这种语言具有较强的组 ...

  6. C program Language 'EOF' and 'getchar()'

    #include <stdio.h> void main() { int c; c=getchar(); while(c!=EOF) { putchar(c); c=getchar(); ...

  7. 函数式编程(Function Program Language)

    WHAT: 简单说,"函数式编程"是一种"编程范式",也就是如何编写程序的方法论. 它属于"结构化编程"的一种,主要思想是把运算过程尽量写成 ...

  8. 函数式编程语言(Functional Program Language)

    (一) 什么是函数编程语言 简单说,"函数式编程"是一种"编程范式"(programming paradigm),也就是如何编写程序的方法论. 是一种编程典范, ...

  9. 《C专家编程》第一章——C:穿越时空的迷雾

    这一章讲的是C语言的发展史,包括它是多么不经意的诞生,而后又经历了早期C.K&C.ANSI C的各种阶段,直到它现在形成的这个样子.C语言从来不是一门完美的语言,所以它一直在发展,直到今日,它 ...

  10. Nico Nico Ni~(完全背包)

    Time Limit:2000MS  Memory Limit:65535K Type: Program   Language: Not Limited Description Lys plays L ...

随机推荐

  1. Python 基础之正则之一 单字符,多字符匹配及开头结尾匹配

    一.正则表达式之单个字符匹配 格式:lst = re.findall(正则表达式,要匹配的字符串)预定义字符集 匹配内容 .匹配任意字符,除了换行符\n \d匹配数字 \D匹配非数字 \w匹配字母或数 ...

  2. robot framework 接口post请求需要加headers

    说明:当你用RF进行post接口测试时候,那么需要加个headers=Content-Type=application/x-www-form-urlencoded,要不然会请求不成功的.

  3. ZOJ4103 Traveler(2019浙江省赛)

    构造+思维~ #include<bits/stdc++.h> using namespace std; ; int N,M,T; int visit[maxn]; stack<int ...

  4. 1004 Counting Leaves (30分) DFS

    1004 Counting Leaves (30分)   A family hierarchy is usually presented by a pedigree tree. Your job is ...

  5. 02-10Android学习进度报告十

    今天我学习了有关ListView的基础知识,主要是学习了其中界面展示的基本方法. 首先看一个简单的列表实现代码: public class Animal { private String aName; ...

  6. MIT宣布人工智能独立设系!

    导读 MIT宣布人工智能独立设系!AI与电子工程.计算机科学系将三分天下? MIT 电子工程和计算机科学系(EECS)拆分啦.拆分后分为 3 个学科群(faculty),或者说 3 个系:电子工程(E ...

  7. 如何启动mac版docker自带的k8s

    最近准备好好学习下k8s,为了图方便,直接使用docker集成的k8s,但是网上找了一些教程但都没能一次性成功,只好自己从头跑一遍,顺手写个教程可以方便有类似需求的同学参考. 话不多说,直接上步骤. ...

  8. Linux CentOS7 VMware 安装PHP5 、安装PHP7

    一.安装PHP5 PHP官网www.php.net 当前主流版本为5.6/7.1 cd /usr/local/src/ wget http://cn2.php.net/distributions/ph ...

  9. nopad++将制表符替换为换行符

    将制表符换位换行

  10. VS2013 ERROR MSB8020

    error MSB8020: The build tools for Visual Studio 2013 (Platform Toolset = 'v120') cannot be found. T ...