zoukankan      html  css  js  c++  java
  • 函数式编程学习之路(11) 人工智能

    编程模式

    很难去表达这个东西,但也没有办法下定义,我们来看下:

    SQL:Structured Query Language

    SQL 是高级的非过程化编程语言,它允许用户在高层数据结构上工作。它不要求用户指定对数据的存放方法,也不需要用户了解其具体的数据存放方式。而它的界面,能使具有底层结构完全不同的数据库系统和不同数据库之间,使用相同的 SQL作为数据的输入与管理。它以记录项目〔records〕的合集(set)〔项集,record set〕作为操纵对象,所有 SQL 语句接受项集作为输入,回提交的项集作为输出,这种项集特性允许一条 SQL 语句的输出作为另一条 SQL 语句的输入,所以 SQL 语句可以嵌套,这使它拥有极大的灵活性和强大的功能。在多数情况下,在其他编程语言中需要用一大段程序才可实践的一个单独事件,而其在 SQL 上只需要一个语句就可以被表达出来。这也意味着用 SQL 可以写出非常复杂的语句。

    SQL 同时也是数据库文件格式扩展名

    SQL 包含3个部分:

    再看下Linq引入的一些概念:

    匿名对象,匿名方法,对象创建,隐式类型等,另外就是类定义,泛型,等,其实也是在定义.也逃不出DDL的范畴.

    DML的CRUD, 现代编程中的ORM, 还有集合操作等,都有共性.

    DCL定义的更精确,把权限控制用3个关键字给定义出来了,grant,deny,revoke, 而现在编程语言,在涉及权限方面还比较复杂,当然最终泛化后还是一样.

    由此可见,一是编程语言最终的特性,还是在哲学的大范畴里,而声明式编程的威力,则把占在了制高点上,SQL虽然早在70年代就发明出来,但现在来看,它抽象的非常精简,现代编程语言泛化后,正在向SQL这种声明式进化.

    以C#为例,新特性已经能部分满足DDL, DML, 但DCL在程序设计里还差一大截,必竟对功能的控制,比起对数据的控制要困难得多.

    声明式编程包含了函数式编程逻辑编程,故采用这两种编程范型的编程语言如PrologHaskell都属声明式编程。其他例子有SQL

    由此可见,函数式编程是声明式编程的一部分,逻辑编程有prolog.

    声明式编程里的DSL有比如,SQL,CSS,正则表达式等,老赵翻译自Anders的演讲系列把这些说的很清楚,由此可见,Anders的确是语言大师.

    另外通过查阅资料发现,很多这些概念,都是出现在70年代附近,而最近几年才逐步被重视起来的原因,应该是受到了软硬件发展的限制,必竟理论超越环境几十年很正常.

    然后就是元编程,不知道理在的模板技术算不算,在HTML世界,模板变得越来越重要,但也造成模板语言百花齐放,如果有一门通用的比如象SQL这样的语言,相信是程序员的巨大福利.

    W3C只顾定义Html, CSS这类的东西,却把最重要的Template给遗忘了真是不够明智,如果有一门通用的Template,那什么PHP, JSP, ASP, ASPX, Razor等都可以统一起来了.

    Template语言的真正统一和产生,才是互联网的第二代.整个互联网将从静态进入到动态

  • 相关阅读:
    div中嵌套div中使用margin-top失效问题
    thinkphp点击导航变色
    thinkphp I() 方法
    判断是手机端还是电脑端 isMobile()
    手机端H5 header定义样式
    AR.Drone 2.0四轴飞机体验:最好的玩具航拍器
    这是一个专注于电脑技术、软件应用、互联网、嵌入式,电子技术行业等的原创IT博客
    ul li列子
    [HTML]去除li前面的小黑点,和ul、LI部分属性
    Bad update sites
  • 原文地址:https://www.cnblogs.com/DSharp/p/3054399.html
Copyright © 2011-2022 走看看