公共命名空间和RHP

概述

RHP的全称是:the little Robot that Helped me Program,帮我编程序的小机器人。
RHP必然存在,C语言的宏、C++的模板,都是RHP;更复杂的例子,是lex和yacc,它们是制作程序的程序,也可以认为是RHP。可能从某个角度看,它和游戏中的NPC有点像。
公共命名空间是一张巨大的表格,里面收录了所有方言的所有句子。
公共命名空间可以把一行行源代码,翻译成一个个函数,在函数和函数之间,还有许多琐碎的事务。靠RHP自动完成这些琐碎的事务。
经典的《编译原理》认为可以从源代码到目标代码直接转换,虽然过程很复杂,但它总是一个函数。可是,由于语言的复杂性、敏感性,直接转换往往不容易实现。
语言的复杂性来源于任务的复杂性;
语言的敏感性指的是,修改语言的一小部分,它的含义就发生了较大变化。如果事无巨细全都要体现在源代码中,源代码将变得十分敏感。

美国的航天器,因为源代码里错了一个标点符号,几亿美金就没了。这是语言过于敏感造成的。

早期计算机科学家幻想的,用对话的方式和电脑交流,也就是现在的命令行。为什么不在编程序的过程中使用对话的方式呢?这时,RHP就出现了,它是“帮我编程序的小机器人”。
在这里插入图片描述
公共命名空间是一个四维空间,程序员控制两个维度,机器人控制两个维度,这样可以吗??

例1

C++的引用,可以省去一些敲击键盘的次数。用RHP可以模拟引用。加不加星号,什么时候加’&'号,就很琐碎,需要自动完成。

例2

print函数搭配不同的变量,如,整数、字符串,所需的功能完全不同。在C语言中是%d和%s的区别,在C++中则更智能一些,可以自动判断变量的类型。这一功能可以用RHP实现。

例3

debug函数用于显示调试信息,希望在程序的开头加一句debug off,就取消所有的debug作用。这一功能可以用C语言宏实现,更一般的描述为,用RHP实现。

例4

循环,直至按q退出:
    生成随机数至x
    打印x,每行5个
上述所有x添加进空列表y

这一段接近伪代码,用《编译原理》难以实现,需要定义很多复杂的概念,用RHP则有希望实现。

总结

公共命名空间是一张巨大的表格,由计算机语言的使用者来填充,并把对计算机语言的期望,写在里边。计算机语言的制作者,负责阅读公共命名空间,并制作计算机语言。
RHP是“帮我编程序的小机器人”,它必然存在!C语言的宏、C++的模板,都可以看作是这类机器人的简化版本。在没有RHP的那些年,程序员要处理许多琐碎的事务,这些事务应该由RHP替程序员自动完成。

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值