公共命名空间和RHP

news2024/11/15 8:28:16

概述

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替程序员自动完成。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

YOLOv9训练自己的数据集:最新最详细教程

一、代码及论文链接: 代码链接:https://github.com/WongKinYiu/yolov9/tree/main 论文链接:https://arxiv.org/abs/2402.13616 二、使用步骤 1.1 虚拟环境配置 创建一个虚拟环境用于单独对yolov9的环境进行配置: conda crea…

Latex问题1

问题 添加bib文件的引用后 \bibliographystyle{IEEEtran} \bibliography{IEEEabrv}之后,出现莫名其妙的错误,如下 IEEEabrv.bib是我的参考文献的bib文件,CCS_1.tex是我的tex文件,bib文件中的内容为 ARTICLE{1,author{Capponi,…

冥想训练具体方法有哪些|流静冥想

冥想是一种身体的放松和敏锐的警觉性相结合的状态。 每日练习的好处远不止你花在集中注意力的那几分钟。桑托雷利是建在乌斯特的马萨诸塞大学医学院的减压诊所的所长,她也是《自愈》的作者,她说:"冥想是一种工具,通过练习&a…

Python使用asyncio包实现异步编程

1. 异步编程 异步编程是一种编程范式,用于处理程序中需要等待异步操作完成后才能继续执行的情况。异步编程允许程序在执行耗时的操作时不被阻塞,而是在等待操作完成时继续执行其他任务。这对于处理诸如文件 I/O、网络请求、定时器等需要等待的操作非常有…

如何隐藏计算机IP地址,保证隐私安全?

隐藏计算机的IP地址在互联网在线活动种可以保护个人隐私,这是在线活动的一种常见做法,包括隐私问题、安全性和访问限制内容等场景。那么如何做到呢?有很5种方法分享。每种方法都有自己的优点和缺点。 1. 虚拟网络 当您连接到虚拟服务器时,您…

干什么副业好呢?

选择适合自己的副业可以根据个人的兴趣、技能和时间来决定。以下是一些常见的副业选择 1. 在线销售 可以在电商平台上开设自己的网店,销售自己感兴趣的产品,如手工艺品、服装、配饰等。 2. 做任务 网上我还在做的致米宝库,一个月有个一千多…

【go项目01_学习记录12】

代码组织 1 代码结构2 重构与测试2.1 安装测试功能2.2 testify 的常用断言函数 3 表组测试 1 代码结构 所有的代码写在一个main.go文件里面,GO编译器也是可以正常执行的。但是当代码量很庞大时,很难进行维护。 Go Web 程序的代码组织 单文件——反模式…

滑动窗口算法及相关习题

滑动窗口 又叫"同向双指针", left和right指针构成一个窗口 一般可以利用单调性时, 用到滑动窗口 使用: 定义left 0,right 0进窗口判断出窗口 还有一步是更新结果, 在哪一步更新是根据题意的 其中234步循环进行 一. 长度最小的子数组 答案 二.无重复字符的最长…

前馈神经网络FNN、多层感知机MLP和反向传播推导

目录 一、前馈神经网络FNN 激活函数的使用 二、多层感知机MLP MLP的典型结构 多层感知机MLP的特点 和前馈神经网络FNN的区别 三、传播推导 1、前向传播(Forward propagation) (1)输入层到隐藏层 (2)隐藏层到输出层 2、…

(C语言)队列实现与用队列实现栈

目录 1.队列 1.1队列的概念及结构 1.2 队列的实际应用联想 1.3队列的实现 2. 队列应用——队列实现栈 主要思路 1.队列 1.1队列的概念及结构 队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进…

报错:(idea端口被占用)Web server failed to start. Port 9090 was already in use.

cmd里面输入: netstat -ano|findstr "9090" 可以看到pid是9644 然后再打开任务管理器

Redis实战—验证码登录注册

目录 基于Session Controller层 Service层 ServiceImpl层 ​编辑校验登录状态 ThreadLocal 登录拦截器 添加拦截器到Config Controller层实现 基于Redis ServiceImpl 新增刷新拦截器 添加拦截器到Config 基于Session Controller层 /*** 发送手机验证码*/PostMappi…

Docker三剑客从0到1

一、docker三剑客介绍 使用"三剑客"可以帮助我们解决docker host维护,多容器编排部署,多个docker host集群的各个难题。 docker-machine 创建虚拟机 我们知道docker使用了linux的内核技术(namespace 资源隔离,cgroup资源限制等),那么如果我想在windows或Mac系统上…

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

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

【Flask框架】

6.Flask轻量型框架 6.1Flask简介 python提供的框架中已经写好了一个内置的服务器,服务器中的回应response行和头已经写好,我们只需要自己写显示在客户端,的主体body部分。 ---------------------------------------------------------- Fla…

【Linux】常用指令、热键与权限管理

一、常用指令 (1)ls 功能:列出指定目录下的所有子目录与文件 用法:ls (选项) (目录或文件名) 常用选项: -a:列出目录下的所有文件,包括隐藏…

k8s环境部署的集成arthas-spring-boot-starter spingboot项目无法访问控制台

前言 k8s环境部署的集成arthas-spring-boot-starter项目无法访问控制台,springboot项目集成arthas-spring-boot-starter 会自带个控制台 供我们访问 但是当使用k8s环境部署后 这个页面就无法访问了 分析 首先看下arthas对应的配置 arthas-spring-boot-starter 中…

linux基础指令讲解(ls、pwd、cd、touch、mkdir)

🪐🪐🪐欢迎来到程序员餐厅💫💫💫 主厨:邪王真眼 主厨的主页:Chef‘s blog 所属专栏:c大冒险 总有光环在陨落,总有新星在闪烁 这个是我们今天要用到的初始…

超实用的excel进销存管理系统(75份),自带库存预警,直接用!

进销存(Inventory Management)是企业管理中的一个核心组成部分,它涉及到商品的采购(进货)、销售和存储(库存)等环节。有效的进销存管理可以帮助企业降低成本、提高效率和客户满意度。 1. 采购管…