关于中文编程的一些思考

0. 为什么写这篇文章
笔者曾写过一篇《我眼中的C语言及其起源》(在其他地方叫《C语言发展史的点点滴滴》)的文章 , 文中从历史角度结合Unix系统源码来追溯了C语言的起源以及发展史(C语言的伟大毋庸置疑 , 但是其他语言带来的多样化也是十分重要) , 至于文章内容这里就不做过多赘述 , 感兴趣的读者可以查看原文 。
本文则缘起于 , 在头条转载的本文评论中一位读者提到的一句话:"国产易语言在角落瑟瑟发抖" 。 看到这句话之后 , 顿时就对中文编程语言的原理产生了兴趣 。 由于平时业务开发过程中使用的主要语言是PHP/Golang , 所以就从某种角度出发 , 并结合PHP、编译原理来分析一下中文编程语言的某些相似性原理 。 如果感兴趣的话 , 可以跟随笔者的步伐一探究竟 。
1. 中文编程语言如果说 , 给中文编程语言下一个定义的话:那就是 , 如其字面义 , 中文编程语言就是用中文汉字去编写代码逻辑 , 这些代码在经过编译处理之后 , 能够在现代计算机系统上跑起来的编程语言 。
1.1 现存的中文编程语言查了一下维基百科了解到:目前 , 中文编程语言大概有下面几种:
?BCY语言(1964年)
?朱邦复 曾设计过一些中文语言 , 如中文培基与中文cobol(1980年代)
?伙计培基(1987年)
?易语言(2000年)
?丙正正 C++语言的中文版本(2000年代 2001)
?唐凤 曾经设计过能以文言文写作的perl模块PerlYuYan(2002年)
?中蟒(2002年)
?O语言 中文汇编语言(2005年)
?ZhPy(周蟒 , 2007年)
?习语言 支持中文的C语言(2009年)
?中文小海龟 中文化的Logo语言(2009年)
?蝉语(2014年)
?wenyan-lang 类文言文的编程语言(2020年)
对于中文编程语言 , 笔者也说不好其意义与价值 。 只是想说一句话:凡存在即合理 。 这个世界 , 也正是因为包容性 , 才有了今天的多彩多姿 。 (维基百科里面有这么一句话:使用中文编程语言 , 不需要记住大量的英文语句 , 中文用户可以在自己母语的基础上从更高方面入手 。 而且可以减少学习英语的成本 , 为汉语区的软件产业发展提供帮助 。间接的说明了其存在的意义) 。
1.2 中文代码demo
关于中文编程的一些思考文章插图
[ 中文编写的示例代码 ]
上面程序执行结果为:这里是如果 。
看到这里 , 你可能认为这段代码是使用上面的某种中文编程语言编写的 。 当然 , 相关中文编程语言也是可以实现该功能 。 但是 , 如果我告诉你 , 这是段PHP/Go代码的话 , 你会做何感想 。
执行代码的PHP/Go程序用官方源码编译
代码是标准的PHP/Go格式代码
关于中文编程的一些思考文章插图
[ PHP执行示例代码 ]
关于中文编程的一些思考文章插图
[ Go执行示例代码 ]
是不是有种不可思议的感觉?是的话 , 那就对了 。 因为 , 这起码说明一个道理:大多数时候 , 你从主观角度看到的事实 , 往往不一定是其真实的写照 。
你可能会产生下面疑惑:
1.PHP/Go怎么可能使用中文编写代码?
2.这个跟中文编程语言有什么关系?
如果你想到这两个问题的话 , 那我的目的也就达到了 , 具体原因且往下看 。
2. 编程语言分类从某种角度来看编程语言 , 大概分为以下几种类型:
1.编译型语言(C、C++、golang ......)
大致执行流程:源代码->汇编代码->机器码->CPU执行
2.解释型语言(Python、JavaScript、PHP ......)
大致执行流程:源代码->中间代码->虚拟机->CPU执行