当前位置: 首页 > article >正文

公共命名空间,2024年10月的笔记

首先,我国选择C++做为竞赛语言,许多人学C++,学习的结果是:看到“公共命名空间”,就幻想出一个私有命名空间,其实,公共命名空间和C++的命名空间无关!

超简源代码

已知序列v={1,2,3,4,5},找出其中的偶数,把每一个元素乘以2,并显示。

方案1:
源代码模板,修改已有的源代码,就像在做填空题,而且还有标准答案做参考。这需要IDE支持,经典源代码中的某些部分不可修改,是“只读”属性。

方案2:
序列v={1,2,3,4,5}
筛选序列[v]中的[偶数]至[w]
序列[w]的每个元素[*2]至[u]
显示[u]

方案3:
{1,2,3,4,5} & 筛选偶数 & 乘以2 & 显示

方案3最诱人。结合“上下文容器”,方案2可以更简单一点儿。

{1,2,3,4,5} | 筛选偶数
筛选[{1,2,3,4,5}]中的偶数
筛选偶数({1,2,3,4,5})
以上三行分别是前置参数、中置参数、后置参数。

调用一段源代码,不是用函数,也不是对象,而是另一段源代码。一般来说,后者比前者简单。后者的后者,可以是自然语言;前者的前者,可以是汇编语言。

假设有“阿立芬多数”代替“偶数”,上述代码的实现和形式该做怎样的修改?

注:阿立芬多数,是作者虚构出来的,只是为了测试一种情况:计算机语言定型之后,又有新事物出现,我们该怎么办?当然是修改语言啦!

C+Python的设计模式可以参考,常见的功能,用C语言实现,高效;其它的,用Python来编写,方便。兼顾便捷与效率。

复杂性

语言的复杂性来自于任务的复杂性,将这种复杂性写在公共命名空间之中,或者说,分散于其中。而计算机语言是简单的。

这一想法来自于对C++的反思,C++过于复杂,这是不对的,计算机语言应该是简单的。如此说来,公共命名空间成了复杂的任务和简单的计算机语言之间的缓冲带?

形式和实现之间的关系?传统的编译原理导致任务一复杂,形式也跟着复杂起来了。结果,编程序成了一项困难的工作。理想的计算机语言不应该是这样的。

别忘了,公共命名空间还有一个目标:让2000年后的人们能读懂今天写的源代码。

以英语为例,单词可以连成句子,但任务的复杂性导致程序的实现不能简单连接。所以,需要以句子为单位来理解源代码。

再以数学为例,一个高维空间,需要完整的坐标,才能正确描述。比如说六维空间,需要6个数字组成的向量来描述。6个数字之间没有简单关系,要把它们都写出来才行。这相当于用6个单词组成一个句子。所以,再次得出同样的结论:需要以句子为单位来理解源代码!

公共命名空间和人工智能

我对人工智能了解不多,仅有的一点儿了解,是神经元网络的梯度下降法。在梯度下降法里,定义了损失函数,这可以理解为:神经元网络的当前状态和理想状态之间的距离。

由于这个距离采用的是广义的欧几里德距离,所以,导致了神经元网络的状态空间不是四维的,(究竟是高维的还是零维的,我也说不清),它无法和公共命名空间相对接。

若不改变这一现状,公共命名空间中的所有项目(包括方言、句子、冗余项、同位素)将失去它们原有的位置关系。例如,冗余项说的是:形式不同而内容完全相同的情况,例如姥姥和外婆、将和帅、兵和卒。在损失函数看来,它们不是精确相等的。

所以,期待“四维损失函数”出现,使得人工智能和公共命名空间能更好的衔接。但是,话又说回来了,有了填充完好的公共命名空间,用精确的字符串匹配函数即可处理源代码,用不到人工智能了。

公共命名空间和人工智能里的自然语言理解,走的是不同的道路。


http://www.kler.cn/a/372696.html

相关文章:

  • Mongodb使用视图连接两个集合
  • Spring Boot Configuration和AutoConfiguration加载逻辑和加载顺序调整
  • 2024 Rust现代实用教程:1.2编译器与包管理工具以及开发环境搭建
  • Apache Hive分布式容错数据仓库系统
  • 跨境电商行业研究报告
  • 引入RFID技术,焕新消防应急物资管理方式
  • 6款IntelliJ IDEA插件,让Spring和Java开发如虎添翼
  • 微信小程序生成二维码
  • Vue中如何解析docx文件(word文档)
  • 零跑汽车嵌入式面试题汇总及参考答案
  • 如何理解Js中闭包
  • LeetCode 242 - 有效的字母异位词
  • (done) 什么 RPC 协议? remote procedure call 远程调用协议
  • Comsol基于亥姆霍兹声学超材料的通风式低频吸声器
  • 【Linux】文件切割排序 cut sort
  • 微信小程序元素水平居中或垂直居中
  • vue打包项目直接输出压缩包,方便部署线上
  • HCIP-HarmonyOS Application Developer V1.0 笔记(二)
  • 问题记录01
  • Oracle视频基础1_1.1练习
  • C# 企业微信机器人推送消息 windows服务应用程序的使用
  • ComfyUI - ComfyUI 工作流中集成 SAM2 + GroundingDINO 处理图像与视频 教程
  • docker-高级(待补图)
  • 百度SEO中的关键词密度与内容优化研究【百度SEO专家】
  • 职业技术学校新出路,无人机飞手考证、组装、调试全面提高市场就业率
  • Qt:信号和槽