公共命名空间和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替程序员自动完成。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/630002.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UE5C++ FString做为参数取值时报错error:C4840

问题描述 用来取FString类型的变量时报错: 问题解决 点击错误位置,跳转到代码: void AMyDelegateActor::TwoParamDelegateFunc(int32 param1, FString param2) {UE_LOG(LogTemp, Warning, TEXT("Two Param1:%d Param2:%s"), param…

Linux基本工具的使用

什么是工具? 在Linux中,工具的本质也是指令,只是因为这些指令与我们的开发的关系不是很大,所以就被称为工具 1 软件包管理器yum 在我们的Windows上如果想要安装软件,第一件事就是要先下载软件安装包,然后…

VUE之旅—day2

文章目录 Vue生命周期和生命周期的四个阶段created应用—新闻列表渲染mounted应用—进入页面搜索框就获得焦点账单统计(Echarts可视化图表渲染) Vue生命周期和生命周期的四个阶段 思考: 什么时候可以发送初始化渲染请求?&#xff…

Spring 各版本发布时间与区别

版本版本特性Spring Framework 1.01. 所有代码都在一个项目中 2. 支持核心功能IoC、AOP 3. 内置支持Hibernate、iBatis等第三方框架 4. 对第三方技术简单封装。如:JDBC、Mail、事务等 5. 只支持XML配置方式。6.主要通过 XML 配置文件来管理对象和依赖关系&#xff0…

首次曝光!我喂了半年主食冻干,喵状态真滴顶~

科学养猫理念的推广,使得主食冻干喂养越来越受到养猫者的欢迎。主食冻干不仅符合猫咪的自然饮食习惯,还能提供丰富的营养,有助于保持猫咪的口腔和消化系统健康。我家喂了半年主食冻干,猫咪的状态是真的不一样了! 然而…

P9748 [CSP-J 2023] 小苹果 / P7071 [CSP-J2020] 优秀的拆分:做题笔记

目录 P9748 [CSP-J 2023] 小苹果 思路 代码 P7071 [CSP-J2020] 优秀的拆分 思路 代码 P9748 [CSP-J 2023] 小苹果 P9748 [CSP-J 2023] 小苹果 思路 先写几个看看规律 题意我们能看出来是三个三个一组的,然后每次取走的都是三个里面的第一个。我们应该很容易…

23.HashMap的put方法流程

一、put方法的流程图 二、put方法的执行步骤 首先,根据key值计算哈希值。然后判断table数组是否为空或者数组长度是否为0,是的话则要扩容,resize()。接着,根据哈希值计算数组下标。如果这个下标位置为空&a…

Linux平台和Windows平台互传文件

rz和sz的出发对象都是从Linux出发的,例如sz发送(Send)从Linux->发送到Windows。 rz 从Windows文件发送到Linux中 先创立一个新文本文件 之后将hello Windows输入到该文本文件中 在显示器上显示里面是否有hello Windows内容 sz发送Lin…

【SpringBoot】SpringBoot整合jasypt进行重要数据加密

📝个人主页:哈__ 期待您的关注 目录 📕jasypt简介 🔥SpringBoot使用jasypt 📂创建我需要的数据库文件 📕引入依赖 🔓配置数据库文件(先不进行加密) 🌙创…

暴利 选品大课:选品决定成败,教你多种大爆款选品方法(12节课)

课程目录 001.第一讲:选品决定成败.mp4 002.第二讲:选品也有生辰八字,mp4 003.第三讲:高热度选品底层逻辑,mp4 004,第四讲:高动销选品底层逻辑,mp4 005,第五讲:高点击选品底层逻辑,mp4 006.第六讲:高转化选品底层逻辑.mp4 007.第七讲:低付费选品底层逻辑.mp4 008,第八讲…

kubernetes多master集群架构

一、完成master02节点的初始化操作 master02环境准备,详细过程参考上一期博客环境准备 #添加主机映射 vim /etc/hosts 192.168.88.3 master01 192.168.88.8 master02 192.168.88.4 node01 192.168.88.5 node021、准备master02节点需要的文件 从 master01 节点上拷…

USB-OTG:1、OTG原理介绍

目录 🍅点击这里查看所有博文 随着自己工作的进行,接触到的技术栈也越来越多。给我一个很直观的感受就是,某一项技术/经验在刚开始接触的时候都记得很清楚。往往过了几个月都会忘记的差不多了,只有经常会用到的东西才有可能真正记…

2024042002-计算机网络 - 应用层

计算机网络 - 应用层 计算机网络 - 应用层 域名系统文件传送协议动态主机配置协议远程登录协议电子邮件协议 1. SMTP2. POP33. IMAP 常用端口Web 页面请求过程 1. DHCP 配置主机信息2. ARP 解析 MAC 地址3. DNS 解析域名4. HTTP 请求页面 域名系统 DNS 是一个分布式数据库&…

GPT-4o 炸裂发布!你竟然还没用上?(附详细教程)

今天AI界的爆炸新闻非chatgpt-4o莫属,从早上到现在随处可见的文章推送,视频推送。 大家或多或少都有耳闻了,今天主要讲一讲我们普通人到底怎么用?如果不氪金行不行?我就想体验一下可不可以?带着问题往下看 …

应用层之 HTTP 协议

HTTP 协议 HTTP (全称为 "超文本传输协议") 是一种应用非常广泛的 应用层协议。所谓 "超文本" 的含义, 就是传输的内容不仅仅是文本(比如 html, css 这个就是文本), 还可以是一些 其他的资源, 比如图片, 视频, 音频等二进制的数据。浏览器获取到网页&#…

618洗地机如何选?洗地机哪个牌子好?洗地机详解

快节奏的生活方式使得清洁工作成为许多人难以应付的任务。不过,洗地机的出现为这个问题提供了完美的解决方案。洗地机以其强劲的吸力和高效的清洁功能,能够快速清理地面的污渍和灰尘,极大地提升了清洁效率。不仅如此,洗地机的操作…

C语言/数据结构——栈的实现

一.前言 今天我们讲解新的领域——栈。 二.正文 1.栈 1.1栈的概念及结构 栈:一种特殊的线性表,其允许在固定的一段进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO&#…

详解绝对路径和相对路径的区别

绝对路径和相对路径是用于描述文件或目录在文件系统中位置的两种不同方式。 绝对路径(Absolute Path)是从文件系统的根目录开始的完整路径,可以唯一地确定一个文件或目录的位置。在不同的操作系统中,根目录的表示方式可能略有不同…

浅析扩散模型与图像生成【应用篇】(二十五)——Plug-and-Play

25. Plug-and-Play: Diffusion Features for Text-Driven Image-to-Image Translation 该文提出一种文本驱动的图像转换方法,输入一张图像和一个目标文本描述,按照文本描述对输入图像进行转换,得到目标图像。图像转换任务其实本质上属于图像编…

大模型日报2024-05-15

大模型日报 2024-05-15 大模型资讯 OpenAI推出全新AI模型GPT-4o,具备文本、图像和音频处理能力 摘要: OpenAI公司继ChatGPT后,最新推出了名为GPT-4o的AI模型。这一模型不仅能够理解和生成文本,还新增了图像和音频的解释及生成功能。GPT-4o作为…