zoukankan      html  css  js  c++  java
  • Program-Language


    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
    编程语言的分类列表


  • 相关阅读:
    eclipse连接远程hadoop集群开发时0700问题解决方案
    螺旋线
    双曲抛物面
    双曲抛物面
    工业相机标定相关知识整理
    高科技 stuff
    高科技 stuff
    杜甫诗百首
    杜甫诗百首
    经典纪录片
  • 原文地址:https://www.cnblogs.com/sztom/p/11223227.html
Copyright © 2011-2022 走看看