zoukankan      html  css  js  c++  java
  • 编程范式与编程语言

    一、综述

    范式是语言的内核;

    语言是范式的表现形式。

    编程范式是编程语言的核心特征。

    二、编程范式

     编程范式的核心是:世界观、思维方式、思想、体系;

    编程范式的表现形式就是一组概念和规则、(逻辑)体系的集合;

    实现了编程范式的编程语言需要对这些概念、规则作出定义、解释和运行支持。

    编程范式是基于数学理论或一组特定原则的方法,每一种范式支持一组概念。

    范·罗伊信仰多范式编程语言:

    解决一个编程问题,需要选择正确的概念;解决多个问题,则需要组合分属不同部分的多个概念。况且,许多程序需要解决的问题本来就不止一个。“理论上,一门语言应该以良好的方式支持多种概念,这样程序员就可以在需要时选择合适的概念,不受他人所累。”说得很直观,但我觉得也有潜在缺点:阅读这种语言的源码时,需要精通多种范式,并了解它们是怎么相互影响的。(范·罗伊可能在说“良好的方式”时考虑过如何改正这种缺点:真正的多范式语言应该避免跨范式干扰,而不仅仅是支持一大堆概念)。正如范·罗伊本人在后面讨论状态时所说的:“关键在于选择具有正确概念的范式。概念太少,则程序比较复杂;太多,则推理比较复杂。”

    https://www.cnblogs.com/feng9exe/p/11052037.html

    三、编程语言

    每一种编程范式都是一种解决方案;

    编程语言的实现就是要选择解决方案和世界观、思维方式的集合。

    并为这些集合的概念和规则提供实现支持。

    同一种编程范式在不同的语言中提供的实现细节可能会不同:比如oop,c++提供的是虚函数表机制,oc提供的是动态派发机制。

    四、语言、原生范式、二次范式

    由语言提供方提供的语言中缺省支持的范式称为原生范式。

    比如c++的oop、泛型;

    java的oop、泛型、注解;

    swift的oop、面向协议、函数式、泛型等。

    二次范式是编程语言原生没有提供,有第三方库提供的范式。

    比如rxjava、rxjs等rx系列。

    第三方库给编程语言添加范式,是在原声语言的基础上进行二次开发,提供新引入的范式的概念、规则等支持。

    五、编程范式是思想、思维、世界观和逻辑体系。

    1. 自然观/世界观——观念范式:指看待世界、运用科学的不同方式。

    2. 学科的逻辑体系——规则范式。在科学实际活动中,各种被公认的规范,如定律、理论、应用以及仪器设备、工具等等,组成了一个逻辑体系。这一体系通过专业教育,为从事该领域的人——科学共同体,规定了思考框架,并形成一种科学习惯和科学传统。科学共同体从同一模型(规则范式)中学习专业基础,因此他们不会再在基本原则方面碰到重大分歧。

    参考:

    https://blog.csdn.net/yqj2065/article/details/305879

  • 相关阅读:
    关于同余最短路
    【水】关于 __attribute__
    题解【AtCoder
    一些简单图论问题
    浅谈简单动态规划
    关于博客园主题(美化博客园)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第47章 读书笔记(待更新)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第46章 读书笔记(待更新)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第45章 读书笔记(待更新)
    Algebra, Topology, Differential Calculus, and Optimization Theory For Computer Science and Machine Learning 第44章 读书笔记(待更新)
  • 原文地址:https://www.cnblogs.com/feng9exe/p/11661779.html
Copyright © 2011-2022 走看看