JSON是一套数据对象组织格式,从程序员的角度观看,他是以种非常易读易写的形式来描述一种key-value的数据组织。全名称JavaScript Object Notation,从名称上可看已经说明他是一套格式规范。

讨论JSON对象组织的易读和易写性,我想所有人第一印象直觉就是名字冒号指派的意义,由花括号组织一块域,所见通篇皆是冒号描述的属性。而人类最喜欢的就是这种方法冒号开始描述一个主题。JSON上下文中正是沿用这种语意,指定命名属性和该属性的实际描述。

既然json可以把冒号发挥到如此淋漓极致,以冒号指派something不是更好,始终不明白为什么众多语言为何喜欢用=来作赋值操作,用==以及===这种看着难怪的符号来描述等于关系。

pascal语言体系中就作的很好,只过他依然告诉程序员许多细节,用:=形容赋值操作。不过在英文档案中赋值的单词就是assignment,其实就是计算指派的意义。那么如果出现一种脚本和json一样易读易写,那种这种语言将会告诉全人类,每个人都有可能发挥出他的组织与设计能力。



因为真正的程序设计工作其实就是划分层次,组织数据和设计流程。那么未来这种脚本将要孩子们学习些什么呢?

第一关键当然是语法掌握,你会看出来这里没什么语法,这种形式化学习,只是一种大学都欣然习惯的冒号指派,块件组织描述。在这种脚本环境中,块被区分成两类块,JSON块,function块;这显而易见的是,json块是构建对象的,function是描述处理的。最终是一些处理和调用。

那么有了这两类编程概念。将未来人类真正知道什么是脚本处理,(OOP)面向对象编程的脚本描述中,一切就是构造与调用某个处理器。无所谓定义类,我们需要的是构建一个些对象(纯可能是数据组织),构建一些功能件,使用一种方法安装某存在的功能件,这样对象可以以运行过程中应上下文需要而进化。

如此设想,可见JSON能触发我们怎样的探索,JSON就是告诉我们 how to form a object,那么相应若有那种脚本语言,暂且我们就称为冒号脚本吧,那这种脚本也就同样需要思考的是,how to form a processor,理所当然我们基于常人理解的习惯来思考,using assignment while just a colon notation。

JSON带来编程界怎样的描述的更多相关文章

  1. C++ 是 编程界 的 背锅侠

    C++ 是 编程界 的 背锅侠, C++ 背的包袱 之 庞大复杂, 举世瞩目, 令人感动 . C++  标准 委员会 俨然 已成了一个 职业 . C++  把  静态编译 体系 发展到 庞大复杂, C ...

  2. python高级编程之最佳实践,描述符与属性01

    # -*- coding: utf-8 -*- # python:2.x __author__ = 'Administrator' #最佳实践 """ 为了避免前面所有的 ...

  3. 低功耗蓝牙4.0BLE编程-nrf51822开发(10)-描述符

    特性中的属性有两种:属性值或描述符. 支持通知或指示的特性中默认有一个描述符:客户端特性配置描述符(Client Characteristic Configuration Descriptor,CCC ...

  4. 【闲聊PHP】编程界的萝莉小美女--PHP

    本文地址 01 前言--上了贼船 不知道何时就上了PHP的贼船了,开始了web的开发,记得差不多两年前我还是做传统电子行业的人,就是嵌入式的方向,那时在天津或摆弄手机,或下煤窑摆弄电话,抑或就是在医疗 ...

  5. Unix系统编程()文件描述符和打开文件之间的关系

    目前学习到的是一个文件描述符对应着一个打开的文件,似乎是对应的关系.但是实际上并不是这样的.多个文件描述符指向同一个打开的文件,是可能的也是必要的.这些文件描述符可以在相同或者不同的进程中打开. 要理 ...

  6. 编程界失传秘术,SSO单点登录,什么是单点,如何实现登录?

    单点登录 多系统,单一位置登录,实现多系统同时登录的一种技术. 常出现在互联网应用和企业级平台中. 如:京东. 单点登录一般是用于互相授信的系统,实现单一位置登录,全系统有效的. 三方登录:某系统,使 ...

  7. 元类编程--__get__ __set__属性描述符

    from datetime import date, datetime import numbers class IntField: #数据描述符,实现以下任意一个,都会变为属性描述符 def __g ...

  8. Charles Petzold 编程界大师,世界顶级技术作家 《CODE》值得阅读

    <CODE>The Hidden Language of Computer Hardware and Software 从书内容的第一页开始就惊叹于作者的耐心和责任心 整本书以两个隔街对窗 ...

  9. When Colon Scripting is comming

    当冒号脚本来临-- 前一篇<JSON带来编程界怎样的描述>,已经展开了一种脚本设计概念,以此诞生的脚本语言待定义的语法不多.但总归需要经历各种语言描述能力对比来归纳最终友好特性的. 冒号已 ...

随机推荐

  1. 几个Uboot命令

    1 nand scrub 这个命令会擦除坏块信息,将坏块标识成好的,但此时这个坏块有潜在有危险,在特定条件下仍会造成数据的丢失,所以应该谨慎使用. Run U-boot and then use th ...

  2. 14.5.2.3 Consistent Nonlocking Reads 一致性非锁定读

    14.5.2.3 Consistent Nonlocking Reads 一致性非锁定读 一致性读意味着 InnoDB 使用多版本来实现一个查询数据库的快照在某个时间点. 查看看到的事务做出的改变被提 ...

  3. bzoj3505

    ans=C((n+1)*(m+1),3)-三点一线的情况横线竖线我们可以先去掉然后考虑斜线,由于对称性我们只要考虑斜率大于0的即可有一个很显然的结论,但两点坐标差为x,y时,这条线段上的点数为gcd( ...

  4. 火狐浏览器对border-radius的渲染问题

  5. Hadoop core-site.xml 配置项列表

    core-default.xml与core-site.xml的功能是一样的,如果在core-site.xml里没有配置的属性,则会自动会获取core-default.xml里的相同属性的值 官方文档: ...

  6. GPRS

    互动百科http://www.baike.com/wiki/GPRS 百度百科http://baike.baidu.com/link?url=M-ElL_qR1bwzUr7BdrDgN4EzBhYYJ ...

  7. JAR WAR EAR包的区别

    jar包和war包的区别: war是一个web模块,其中需要包括WEB-INF,是可以直接运行的WEB模块.而jar一般只是包括一些class文件,在声明了Main_class之后是可以用java命令 ...

  8. AS3 读写 C++ 64位数字

    为框架添加了一套新的与C++通讯的数据协议,其中和C++的大爷们对于他们的64位数字(unsigned long long)读写的问题纠结了很久.真心觉得“学好C++走遍天下都不怕啊” AS里Numb ...

  9. GPS定位

    User Location(用户定位): 1.User Location能做什么? 获取用户位置.追踪用户的移动: 2.User Location关键API? Location Manager:用于管 ...

  10. [Angular 2] Using Pipes to Filter Data

    Pipes allow you to change data inside of templates without having to worry about changing it in the ...