`
hatedance
  • 浏览: 59499 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

夸平台的秘密:字符串

阅读更多
计算机世界里一直存在着夸平台的说法,一般说来夸平台总是好的,但也难以实现的。所谓的平台也有很多种说法,包括硬件,OS,编程语言等。其中以跨语言最强。比如java是跨操作系统的,但是jdbc不是跨语言的, sql 是跨语言的; jsp 不是跨语言的,html 是跨语言的。

试想当年VB,VC,Delphi,PB哪个不是有自己的界面框架。以至于程序员大喊:学语言不是难题,几十个关键词罢了,难的是其框架。所谓的框架,主要是图形界面库。甚至语言被淘汰就是因为其界面库太差。比如叫你用java开发个程序你没问题,如果说要在智能手机上用呢?你就不敢说了,因为界面库不一样,什么qt,tk 都是想做夸平台的界面库。但如果说手机支持浏览器了,你又来劲了,b/s还是好做的。多年前,我发现一些嵌入设备比如无线AP都是从telnet方式转向了web界面了。可见html真是个好东西,能把文本变成图文并茂的界面,技术门槛那个低啊,是个语言都支持。

sql能成为数据库语言,固然不错。但是其返回的结果集却不是文本的,导致每个编程语言都要有驱动程序。就算有odbc,jdbc,dbi之类的所谓的标准,但仍然百花齐放,标准太多等于没有标准。数据库驱动程序成了“小”语言的困扰,没有驱动就不能连数据库,就像没有办法做界面一样,实用价值大大减少。为什么不把数据集用文本表示呢?那样一来问题不就解决了吗。无论用csv格式还是xml格式,只要是文本,我想任何语言都能解析了。
事实上,主流数据库产品都已经有这个功能了,通过http://my_server/sql=select * from foo for xml auto 得到文本格式的结果集。然后可以做Object Xml Mapping(OXM)映射到领域对象,也可以XSLT转化到HTML输出。

如此一来,计算机语言回归其特长领域,做数值计算和逻辑判断。界面和数据库不再是新型编程语言的跨入实用阶段的门槛。编程语言身上的包袱小了,可以更加自由的演化。咱学新语言也就可以专心学关键字了。不必考虑其如何连数据库,如何画界面。学生学语言也可以轻松许多。

(我正想试一试此方法在smalltalk里连接关系数据库。)
机器能识别文本和二进制,但人脑只能识别文本。这场战争的主人公是人类。所以,最后必然向着文本倾斜。REST和WS*之争正是文本与二进制之争,我想随着机器性能的提升,文本的领地也将越来越大。毕竟机器是为人类服务的。
3
1
分享到:
评论

相关推荐

    Java跨平台得秘密.pdf

    本文档详细介绍了Java跨平台的秘密,包括Java虚拟机、Java Runtime Environment、Java Development Kit、Java基本数据类型、Java操作符、Java控制流、Java函数、Java继承、Java接口、Java多线程、Java字符串和Java...

    Pasword-based-Encryptor:给定密码(任何字符串)的加密器可以通过对char进行加,减(解密)两个ASCII字符,密码和来自文本的char来对char进行加密和解密。

    Java是一种广泛使用的面向对象的编程语言,具有跨平台的特性,适合开发各种类型的应用,包括安全相关的软件。 在【压缩包子文件的文件名称列表】中,我们看到的是"Pasword-based-Encryptor-master",这通常表示这是...

    java 培训机构秘密课件 很给力0

    Java是一种广泛使用的面向对象的编程语言,以其跨平台、高性能和强大的库支持而闻名。对于初学者来说,Java提供了一个良好的学习曲线,使得新手能够快速掌握基础并逐步深入到更复杂的概念。 在“java培训机构秘密...

    Token生成技术_JWT.doc

    JWT 使用JSON对象作为其数据格式,并通过一个紧凑的字符串进行传递,这个字符串包含了必要的验证信息。JWT的设计旨在减少服务器的存储开销,同时提供安全性较高的认证。 JWT主要分为三个部分:Header(头部)、...

    微软笔试面试题集锦 笔试 面试

    .NET 架构支持 Web Service 的开发和部署,使得开发者能够轻松地创建跨平台的服务接口。 ### 总结 以上知识点涵盖了微软笔试面试中常见的数学问题、逻辑推理题、经济问题、运动物理题、抽象思维题、编程基础题以及...

    realtime-geolocation-secrets:显示隐藏在世界各地的基于位置的“秘密”的实时列表

    Java是一种广泛应用的编程语言,具有跨平台兼容性和丰富的库支持,对于构建这样的实时地理位置应用非常合适。 总的来说,"realtime-geolocation-secrets"项目揭示了如何结合Firebase和Geofire的力量,创建一个实时...

    lahacks_workinggroup:秘密的事情

    - **ES6+语法**:包括箭头函数、模板字符串、Promise、async/await等,这些都是现代JavaScript的重要特性。 - **模块化**:使用CommonJS或ES6的import/export实现代码模块化,提高可维护性和复用性。 - **框架和库...

    开发者20120419大会ppt

    - JVM(Java虚拟机):Java的跨平台特性由JVM支持,它解释并执行字节码,确保代码能在不同操作系统上运行。 - 类加载机制:讲解了如何加载、链接和初始化Java类,包括类加载器的工作原理。 -垃圾收集:深入探讨...

    Node.js-now-env-在你的本地环境中使用ZeitNowenvconfig和secret

    10. **跨平台兼容**:由于Node.js和Zeit Now的跨平台特性,无论在Windows、MacOS还是Linux系统上,开发者都能使用`now-env`来配置本地开发环境。 综上所述,`now-env`是Node.js开发者在使用Zeit Now时的重要工具,...

    老男孩 Python 自动化开发 01 Python基础知识介绍 共29页.pptx

    3. **跨平台**:Python可在Windows、Linux、macOS等多种操作系统上运行,具有良好的可移植性。 4. **面向对象**:支持面向对象的编程范式,可以创建类和对象,实现封装、继承和多态。 5. **可扩展性**:如果需要提高...

    Python库 | find_known_secrets-1.0.30.tar.gz

    1. **秘密检测**:库会扫描源代码、配置文件、版本控制历史等,寻找常见秘密模式,如硬编码的API密钥、数据库连接字符串等。 2. **自定义规则**:允许开发者定义自己的秘密模式,以适应项目的特定需求。 3. **集成CI...

    表白代码.rar_Python 表白_python_python表白代码_表白_表白代码

    使用`colorama`库可以实现跨平台的彩色输出。或者,如果想要更复杂的图形效果,可以借助`pygame`库来创建一个小型的游戏或动画。 当然,压缩包中的“表白代码.docx”可能包含了一份详细步骤的文档,指导用户如何...

    猜字谜.zip

    JAVA是一种面向对象的、跨平台的编程语言,它的特点是“一次编写,到处运行”。它有严格的类型检查和垃圾回收机制,使得代码更加健壮且易于维护。JAVA程序通常由类组成,这些类定义了数据结构和方法,通过对象之间的...

    C++builder6编程实例精讲

    - **2.1.2 AnsiString类**:用于处理Ansi字符串,即非Unicode字符。 - **2.1.3 Set(集合)**:一种无序且不重复的数据集合。 - **2.1.4 DynamicArray(动态数组)**:可以动态调整大小的数组。 - **2.1.5 ...

    JWT C Library.zip

    8. **兼容性**:考虑到C语言的广泛使用,JWT C Library应尽可能地跨平台兼容,能够在多种操作系统和硬件架构上运行。 9. **性能优化**:由于C语言的特性,库应考虑性能优化,特别是在大量生成和验证JWT的场景下,...

    TOTP library for Go.zip

    1. **密钥(Key)**:这是一个共享的秘密,通常为16进制字符串,用于计算一次性密码。 2. **时间戳(Timestamp)**:当前时间被转换成一个固定的整数,单位通常是秒。 3. **哈希函数(Hash Function)**:如SHA-1、...

    linux\Linux并非无毒 十五年病毒简史

    - **事件概述**:Binom病毒与2003年的Rike病毒类似,也会隐藏在ELF文件中,并在文件空白处写入特定字符串。 - **影响范围**:由于其行为相似,对系统的威胁程度也不高。 #### 2005年:Lupper蠕虫病毒 - **事件概述*...

    开源项目-golang-go.zip

    在描述中提到的"aLongTimeAgo easter egg removed :("可能是指Go早期版本中的一个彩蛋,"aLongTimeAgo"在旧版本的Go源代码中可能是一个隐藏的字符串或函数,用于娱乐或纪念意义,但现在已被移除。在编程领域,Easter...

    Asteganography App_southernos3_java_LZWCompression_netbeans_RMIj

    它通过建立一个字典来存储已知的字符串,然后用更短的编码来表示这些字符串,从而达到压缩的目的。LZW在Asteganography App中的作用可能是先对要隐藏的信息进行压缩,减少占用的空间,提高隐藏信息的效率。 **3. ...

Global site tag (gtag.js) - Google Analytics