1
当伪代码和源代码组成的代码对,呈饱和状态时,可以直接用伪代码编程。
这里所说的“饱和状态”是难以实现的,因为它要求代码库相当丰富。但是,当我们仅思考一个微型语言时,这种饱和状态又不是那么的遥不可及。
能否从汇编语言开始,用一层层的伪代码支撑起软件产业?以此取代一个又一个编程语言,直接用自然语言编程。
2
在动词短语和名词短语之间,是集合。面向对象编程在一定程度上提供了集合的功能,例如,把多个函数放在一个类里,类和对象可以看作是集合。
但我想要的集合不只于此,它应该能够支持集合间运算。例如,标识符的定义,字母数字下划线的组合=集合A,不以数字开头=集合B,标识符=A-B=A and (not B)
通过集合间运算,“打磨”出精致的语言。
3
一个动词短语的作用,和它所作用的状态相关。
unsigned char a=0;
a++;
这一句a++是加一的作用,但是,当a==255时,它的作用变成了归零。
4
目标是添加名词,却意外的遇到了形容词。例:
窗口.宽度=300
窗口.高度=300
创建(窗口)
用一句话说就成了:
创建宽300高300的窗口。
原始的句子是动词短语,因为它最终要翻译成mov语句。放在一个完整的句子里,变成了形容词。
所以,形容词和集合,都是介于动词和名词之间的。
5
自动制作DFA、自动垃圾回收、prolog语言的自动推理,都有“自动”的成分。它们的共同点是:把动词短语转换成了名词短语,由此,提出“程序名词化运动”,即多编一些自动的程序,减轻程序员的压力。
或许这与低代码编程有相同的目标。