精华内容
下载资源
问答
  • 在模型转换语言的学习过程中,在文献中总能看到声明编程语言( declarative language)与命令式( imperative language)编程语言。查阅了资料之后,在这里总结一下自己的理解。 首先一个总体的理解是:声明式编程强调...

    在模型转换语言的学习过程中,在文献中总能看到声明式编程语言( declarative language)与命令式( imperative language)编程语言。查阅了资料之后,在这里总结一下自己的理解。
    首先一个总体的理解是:声明式编程强调做什么,命令式编程语言强调怎么做。

    声明式编程语言

    典型的语言有
    SQL, HTML

    声明式编程是计算机科学中的一种编程范例,在不描述控制流程的情况下表示计算的逻辑,让编程人员专注于业务上来,而不是具体的实现步骤,有些接口的味道。
    声明式编程是在命令式编程之上的抽象,因此更具有可读性
    Regex正则表达式是声明式编程语言的典型例子,因为其执行模式时是完全不能追踪的,只能最终的结果。
    函数式编程是生命式编程的子集

    命令式编程语言

    典型的语言有

    C, C++, Java

    此外还有混合式编程语言
    典型的语言有Python, JavaScripe, C#

    函数式编程

    展开全文
  • 接触的编程语言越来越多,反而有时候

           接触的编程语言越来越多,反而有时候把很基础的变量声明搞错了,所以写一下关于各主流语言中变量的声明。

        

         1.C/C++

      

    int a = 5;
    int array[5];//一维数组
    int array2[5][5];//二维数组
    int array3[][5] = {1,2,3,4,5};//二维数组
    int **array4;//二维数组


    其中int array3[][5]中只指定了数组二维的长度,这是可以的但是必须初始化,C++规定,在声明和初始化一个二维数组时,只有第一维(行数)可以省略。

         2.java

    int a = 5;
    int[] array = new int[5];
    int[][] array2 = new array[5][5];
    int[][] array3 = new array[][5];


       3.C#

    int a = 5;
    int[] array = new int[5];
    int[,] array2 = new int[3,4];


       4.Python

    a = 5
    array = [1,2,3]#直接声明一维数组
    array2 = [0 for i in range(3)]#间接声明一维数组 
    array3 = [[1,2,3],[1,2,3],[1,2,3]]#直接声明二维数组
    array4 =  [[0 for i in range(3)] for i in range(3)]#间接声明二维数组


    由于Python是弱类型语言,所以可以不用声明类型

    展开全文
  • Wybe是一种编程语言,旨在结合声明式和命令式编程最佳功能。 它处于开发早期阶段,尚不适合认真使用。 语言设计主要原则是接口完整性,这意味着流入或流出过程或函数所有信息均流经其接口。 这样可以确保...
  • 今天写python程序的时候,想将一些次要的方法写在文件末尾(方便浏览重要的方法),但是这个次要的函数是要被重要的函数调用,想到c语言里面的声明,定义,调用这样一种的次序关系。有以下几点: 1.函数与函数之间是...

      今天写python程序的时候,想将一些次要的方法写在文件末尾(方便浏览重要的方法),但是这个次要的函数是要被重要的函数调用,想到c语言里面的声明,定义,调用这样一种的次序关系。有以下几点:

    1.函数与函数之间是不存在定义和调用的次序关系

    2.这种关系是c语言编译器所规定的

     

    理解一下编译过程:

    main函数--->调用函数(这是编译器会往上找,往上找的话,可以知道上面的内容是有限的,可控的。但是如果没用声明,定义,调用的次序关系,编译器往下找的话,结果往往是未知的)。

    转载于:https://www.cnblogs.com/mRRRR/p/5246497.html

    展开全文
  • 编程语言的主要类型Common programming paradigms include imperative which allows side effects, functional which disallows side effects, declarative which does not state the order in which operati...

    编程语言的主要类型

    Common programming paradigms include imperative which allows side effects, functional which disallows side effects, declarative which does not state the order in which operations execute
    (翻译:常见的编程语言类型包括允许有副作用的命令式编程,不允许副作用的函数式编程和不描述操作执行顺序的声明式编程)

    A programming paradigm is a fundamental style of computer programming. There are four main paradigms: imperative, declarative, functional (which is considered a subset of the declarative paradigm) and object-oriented.

    Declarative programming : is a programming paradigm that expresses the logic of a computation(What do) without describing its control flow(How do). Some well-known examples of declarative domain specific languages (DSLs) include CSS, regular expressions, and a subset of SQL (SELECT queries, for example) Many markup languages such as HTML, MXML, XAML, XSLT… are often declarative. The declarative programming try to blur the distinction between a program as a set of instructions and a program as an assertion about the desired answer.

    Imperative programming : is a programming paradigm that describes computation in terms of statements that change a program state. The declarative programs can be dually viewed as programming commands or mathematical assertions.

    Functional programming : is a programming paradigm that treats computation as the evaluation of mathematical functions and avoids state and mutable data. It emphasizes the application of functions, in contrast to the imperative programming style, which emphasizes changes in state. In a pure functional language, such as Haskell, all functions are without side effects, and state changes are only represented as functions that transform the state.

    ( 出处:维基百科)

    翻译总结:

    编程语言主要有四种类型

    1. 声明式编程:专注于”做什么”而不是”如何去做”。在更高层面写代码,更关心的是目标,而不是底层算法实现的过程。
      ex: css, 正则表达式,sql 语句,html, xml…
    2. 命令式编程(过程式编程) : 专注于”如何去做”,这样不管”做什么”,都会按照你的命令去做。解决某一问题的具体算法实现。
    3. 函数式编程:把运算过程尽量写成一系列嵌套的函数调用。
      函数式编程强调没有”副作用”,意味着函数要保持独立,所有功能就是返回一个新的值,没有其他行为,尤其是不得修改外部变量的值。
      所谓”副作用”(side effect),指的是函数内部与外部互动(最典型的情况,就是修改全局变量的值),产生运算以外的其他结果。(详细了解函数式编程请看阮一峰的函数编程初探文章)

    举个简单的例子,了解三者区别
    1.现有这样一个数学表达式

    (1+2) * 3 / 4
    
    • 1
    • 2

    命令式编程可能会这样写

    var a = 1 + 2;
    var b = a * 3;
    var c = b / 4;
    
    • 1
    • 2
    • 3
    • 4

    函数式编程如下写法

    divide(multiply(add(1, 2), 3), 4)
    
    • 1
    • 2

    函数式编程是声明式的一种类型,声明式强调目标而不是具体过程。

    1. 我们想让一个数组里的数值翻倍。

    我们用命令式编程风格实现,像下面这样:

    var numbers = [1,2,3,4,5]
    var doubled = []
    for(var i = 0; i < numbers.length; i++) {
      var newNumber = numbers[i] * 2
      doubled.push (newNumber)
    }
    console.log (doubled) //=> [2,4,6,8,10]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    我们直接遍历整个数组,取出每个元素,乘以二,然后把翻倍后的值放入新数组,每次都要操作这个双倍数组,直到计算完所有元素。

    而使用声明式编程方法,我们可以用 Array.map 函数,像下面这样:

    var numbers = [1,2,3,4,5]
    var doubled = numbers.map (function (n) {
      return n * 2
    })
    console.log (doubled) //=> [2,4,6,8,10]
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    map利用当前的数组创建了一个新数组,新数组里的每个元素都是经过了传入map的函数(这里是function (n) { return n*2 })的处理。
      map函数所做的事情是将直接遍历整个数组的过程归纳抽离出来,让我们专注于描述我们想要的是什么(what)。注意,我们传入map的是一个纯函数;它不具有任何副作用(不会改变外部状态),它只是接收一个数字,返回乘以二后的值。

    参考文章
    1.声明式编程和命令式编程的比较
    2.阮一峰的函数编程初探文章

    展开全文
  • 概述:国内的计算机教育和工程培训,似乎一直在宣传“语言不重要,重要的是思想”,“语言一通百通”等观点,甚至在许多人眼中“语言的讨论”完全是不入流的,但其实“编程语言”与“工具”、“框架”或是“开发方法...
  • Logtalk是一种声明性的面向对象的逻辑编程语言,它扩展并利用了Prolog语言,并具有适合大型编程的功能集。 Logtalk支持现代代码封装和代码重用机制,同时保留Prolog的声明性编程功能。 Logtalk以高度可移植的代码...
  • 完全声明的编程语言。命令式编程已成为过去! 无需使用传统方法来构建代码-使用for循环,线性控制流和变量-metamine使您可以使用方程式而不是语句来编写代码。这些方程式是不变且永恒:诸如x = y + 1类方程式...
  • 编程语言的主要类型 Common programming paradigms include imperative which allows side effects, functional which disallows side effects, declarative which does not state the order in which operations ...
  • 这是Anders Hejlsberg(不用介绍这是谁了吧)在比利时TechDays 2010所做的开场演讲。由于最近我在博客上关于语言的...在上一部分中,Anders指出语言本身在过去的数十年里并没有明显的发展,并给出了他眼中编程语言...
  • 编程语言的分类

    2020-06-16 18:03:49
     普通编程语言  脚本语言  标记语言 第四种分类:  动态结构语言:是指数据类型检查是在运行时做。用动态类型语言编程时,不用给变量指定数据类型,该语言会在你第一次赋值给变量时,在内部记录数据类型。 ...
  • Python的语言类型Python是强类型动态语言-静态编译语言一旦声明变量类型,变类型不可改变,编译时需要检查-动态编译语言不用生变量类型,随时可以改变变量类型,很难推断变量类型-强类型语言不同类型之间操作,必须...
  • 编程语言的主要类型

    2019-01-24 19:37:00
    编程语言的主要类型,声明式编程,命令式编程()和函数式编程的区别 2016年12月18日 11:59:07xuqinggangsls阅读数:5242标签:函数式编程 编程语言 命令式编程 声明式编程 Common programming paradigms ...
  • js全称JavaScript,是一种具有函数优先轻量级,直译式、解释型或即时编译型高级编程语言,是一种属于网络高级脚本语言;JavaScript基于原型编程、多范式动态脚本语言,并且支持面向对象、命令式和声明式,如...
  • 函数式编程声明语言

    千次阅读 2019-01-18 20:57:54
    编程语言可以分成两类: 命令式 声明式 事实上,凡是非命令式编程都可归为声明式编程。因此,命令式、函数式和逻辑式是最核心三种范式。为清楚起见,我们用一幅图来表示它们之间关系。 与命令式编程相对...
  • 声明语言包包括数据库查询语言(SQL,XQuery),正则表达式,逻辑编程,函数式编程和组态管理系统。 声明编程透过函数、推论规则或项重写(term-rewriting)规则,来描述变量之间关系。它的语言运行器...
  • 在讲述什么是声明式UI之前,我们先了解编程的通用概念。学习过编程的人,都听说过编程范式(Programming Paradigm),查阅了一下资料,相对比较容易理解定义:A programming paradigm is a style, or “way,” of ...
  • 与其它大多数语言一样 Python 有函数,但是它没有像 C++ 一样独立头文件;或者像 Pascal 一样分离 interface / implementation 段。在需要函数时,像下面这样声明即可: def buildConnectionString(params)...
  • 1、函数声明与其它大多数语言一样 Python 有函数,但是它没有像 C++ 一样独立头文件;或者像 Pascal 一样分离 interface / implementation 段。在需要函数时,像下面这样声明即可: def ...
  • 编程语言的发展趋势及未来方向(2):声明式编程与DSL 编程语言的发展趋势及未来方向(3):函数式编程 编程语言的发展趋势及未来方向(4):动态语言 编程语言的发展趋势及未来方向(5):元编程 编程语言的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 10,586
精华内容 4,234
关键字:

编程语言的声明