中语言计算技术研究与发展联盟
舒生羽 wzyorg@gmail.com
任何编程语言的实用性都必须建立在许多支持库构成的基础上。比如C语言有众所周知的CRT,而C++则曾经有著名的stl,当前则被称之为libstdc++。当然这些还只是最基本的,实际的实用程序往外必须依赖更多的支持库,比如图形界面库,网络库等等。
中语言的基础部分事实上是汉语与C++的结合,其基础库完全继承自C与C++。C的CRT在中语言内被称作朴库,而C++的stdc++所定义的库被称作华库。
中语言的这些支持库是通过将现有相应开源库的C/C++代码用中语言翻译过来建成的。中语言的汉语形式使得这些库给使用中语言构造程序不仅带来表达上的便利,而且在提高程序的可读性上带来相当的增益。
中语言的华库对中语言本身具有内在重要性。中语言使用华库所支持的特殊数据结构来实现对便捷定义数据的支持,这将在后面的文章中介绍。
下面我们将使用华库内的“仓”(对应C++的vector)这一数据结构来演示中语言华库的使用。我们将在那里看到中语言的高度可读性(这当然是针对汉语使用者而言)。这种可读性不仅体现在文通字顺上,也体现在这些文字序列所蕴藏的意义上。因为这些意义是对神圣计算的表达,将那些时下被吹捧为神童天才,名家大师之类的文人写出的文字序列与之相比,它们简直弱爆了。如果可爱的程序员愿意在构思上多费些功夫,使用中语言写出如李杜的唐诗那般的经典也并非虚妄。
来 华库.仓; 来 华库.进出流; 名{ 用 宿 准; } 道: ()->()= { 用 饭 = 元; 饭桶: <饭>-仓; //仓的放进操作总是在仓的入口(其实是一维数据结构上的尾部)处放入一个值,后续的放入操作发生在 //这个值的后面,这等价于c++里面vector的push_back 饭桶.放进(饭::生(4)); 饭桶.放进(饭::生(7)); 饭桶.放进(28); 周(饭粒 @ 饭桶) 窄控出 << 饭粒 << 1#' '; 窄控出 << 行尾; //仓的提取操作总是取最后放进去的,这等价于c++里面vector的back 饭一 := 饭桶.提取(); 窄控出 << 饭一 << 行尾; //注意这个饭桶是取之不尽,用之不竭的宝器 饭二 := 饭桶.提取(); 窄控出 << 饭二 << 行尾; //当然,事情没有绝对 //仓的拿出操作把仓里面最后放进的值从仓内丢出去,这对应C++里面vector的pop_back 饭桶.拿出(); 饭三 := 饭桶.提取(); 窄控出 << 饭三 << 行尾; }
程序的运行效果如下:
官网文件参考:http://www.zhongyuyan.org/ZStudy/超酷程序/标准库.html