• 汉语编程现存的可能误区及可能方向思考 人工智能


    汉语编程这个东西,很特别,先逐步分析推理下:

    1.掌握一门开发语言不难,只要头脑正常的正常人都可以做到.

    2.掌握编译器就很困难,好在现有的技术条件,门槛已经大大下降了,一般稍微聪明一点的程序员都可以掌握.

    3.设计一门编程语言有一定门槛,它至少要求你了解各种语言,各种编程范式,一些计算机理论等,好在这方面有互联网,只要花些时间就可以.

    4.设计一门好的编程语言很难,但山寨一门语言是相对简单的,比如可以山寨C#.

    5.把复杂的语言编译成机器指令很困难.因为工作量很大,很底层.而且技术相对更复杂.

    6.好在现在有CLR和JAVA虚拟机这样广泛的中间运行时平台.还有浏览器这样的运行时环境,现代的语言不一定非要从底层做起,比如类scala,类coffeescript等,这并不妨碍它成为一门优秀语言.

    7.语言未必都必须是编译式的,现在计算机这么快,各种运行时也很流行,比如javascript引擎,因为太流行太强大,连语言大师ander也去搞TypeScript.还有CLR和JAVA虚拟机.

    可见,以上一些条件,只要避开困难部分,基于中间语言运行时,或者就做成脚本语言,把底层的难度化解了,完全可以发挥设计及想象力,更多只关注语言层面本身.让一个掌握基本技术的人直接和ander站在同一起跑线上,你也可以去做一个YouScript.

    但是计算机语言,更多的是表达计算,所以更"符号化",这就是为什么程序语言里有大量的"关键字","符号","数字"组成呢

    如果按正常思路去做,那么传统汉语编程,仅仅只会把"关键字"里的"英文单词"代替成"汉字",这样的东西顶多只是让初学者容易上手.价值不大,不能从根本上发挥汉语的威力.比如易语言,除了中文关键字,所有的都是传统编程语言的结构.所以它更适合初学者上手,但真正做开发,它能实现的和关键字是英语的是一样的.这就是现存汉语编程的误区.

    当然,就是这样一条路,也需要有大量人去做,去走,只有一个易语言,实现零的突破是不够的.而吴涛先生创了这个零的突破意义非常大.

    那么,以后汉语编程可能的方向应该怎么走呢?

    首先我们分析下汉语跟其它语言的差别在哪里,比如英语

    1.汉字数量庞大,有丰富的题材.

    2.汉字是图形化,结构化的,很直观,表意能力非常强

    3.汉字有个最最伟大的特点,就是可以轻松组成"衍生词组",比如"刀",加个前缀就是"小刀","大刀","水果刀",等等.天生就是面向对象,抽象的.而英语根本做不到这点.

    4.汉字有个最最伟大的特点,就是可以轻松组成"复合词组",比如"对","象",本身就有其含义,组成"对象",又有另一层含义,天生就是面向函数式的.而英语根本做不到这点.

    5.汉字有个最最伟大的特点,就是可以轻松"组合连接",比如"吃","饭",连接就是"吃饭",比如"先进","先出","后出",连接就是"先进先出","先出后出","后进先出","后进后出".天生就是面向组合及接口式的.而英语根本做不到这点.

    6.汉字有个最最伟大的特点,就是可以轻松"造词",比如"裸","婚",比如"户","口",比如"哇","靠",本来没关系的东西,一组合就成一新词,而光汉字就有几千个,这样的组合基本上是无穷尽的.连量子计算机都足够使用.而英语根本做不到这点.

    7.汉语还有另一个特点,表意能力强.不用很精确.这在计算机发展初期,是个劣势,但随着现在发展过了初级阶段,就变成了优势,现在很多计算都讲究"云","模糊","统计",因为数据量太大了,不用十分精确,也无法做到精确.

    比如:要分析"裸婚"这词的某行业流行度,因为这词就是一词,很容易.但象英语就困难了,因为同样概念很多时候不是一个单词,就算一个单词还有不同的时态,还有单复数,根本无法象汉语这样.

    通过上面的分析,结合计算机的现有编程理论及技术,我们可以发现如下:

    1.面向过程,和英语相当,没有特别的地方

    如:

    if true then do XXX, 汉语是假如 是 那么 做 XXX

    a = b + c, 汉语是 小计= 单价*数量 

    可见,两者在计算表达式和语句上,是一样一样的.当然汉语的对中国人来说更直观.

    2.面向对象.英语那就比较弱了,汉语的强势立即体现

    如:

    class county

    class china : county

    class UnitedStates : county

    class France : county

    class London : county

    看上面的继承及类型对应关系,因为英语单词都是不相同的,没规律的,你无法从字面量上迅速看出问题.汉语的是这样的

     国家

    中国 : 国家

    美国 : 国家

    法国 : 国家

    伦敦 : 国家

    看,从字面量上,中文很容易就带上分类,而不增加负担,非常直观.

    3.函数式.汉语的超越,相当于量子计算机对传统计算机的超越,不是一个层面的.

    以设计输入输出加数列看,英文的就懒得举例了,直接看中文的.

    设计函数:输入,输出,先,后,栈,数据

    通过函数式的组合:

    输入栈,输出栈,输入数据,输出数据,先输入栈后输出数据...这样的组合操作,看上去很自然,把程序变成字面语句.而要知道,几千个汉字,能组成无数的词组,而无数的词组再组成段语,然后再组成...

    这个强大的编程功能,量子计算机都够用.

    4.逻辑运算.

    这方面用汉语编程也很有强项.比如

    山 里有 庙,庙 里有 和尚.

    可以推理出: 山 里有 和尚

    这完全可以做出类似prolog的推理式汉语语言.而且操作和使用都很直观.

    5.正则表达式分析.

    现代计算机数据处理,需要处大大量的数据,文本,语音,图像.视频

    首先来看数据,图像和视频,这中西方是没有任何差别的.略过.

    然后就是自然语言的"文本"和"语音".差异就出来了.

    看英语:english,法语,france.

    如果用中文,都是两个"字",每个"字"都不可以拆分的.处理到"字"就是最小单元.而用字母表达的语言,得处理到"字母",可见汉字算法是更快更容易的.但是汉字比字母多,这在算法上是以空间换时间.

    然后是发音,可以看出,每个汉字对应一发音(当然有少数多音字),有很好的对应关系,而单词不是这样的.

    综上可以看出,汉语式遍程,可以模仿现有技术,但更主要的是完全可以有突破性的创新.这种创新可以结合上汉字, 汉语的特点,而这些特点经过上面的分析,首先是可行的,其次是有很大优势的.能不能出现体现汉语优势的汉语编程语言,相信只是时间的问题.

  • 相关阅读:
    css3——box-sizing属性
    HTML5存储--离线存储
    微信公众号爆出前端安全漏洞
    Js获取宽高度的归纳集锦总结
    Yii 2 修改 URL 模式为 PATH 模式,并隐藏index.php
    SQL 查询优化 索引优化
    linux提示语言包
    安装linux工作环境
    linux常用命令
    PHP解决抢购、秒杀、抢楼、抽奖等阻塞式高并发库存防控超量的思路方法
  • 原文地址:https://www.cnblogs.com/DSharp/p/3103298.html
Copyright © 2020-2023  润新知