zoukankan      html  css  js  c++  java
  • rust的词汇系统依旧不够良好

    感觉rust词汇中的“借用”这个词不是十分合适,因为想象力可能认为“借用”的物品通常是一种体积小于人质量轻便的东西,就像借用一本书,画面是书从一个人的手中交到了另一个人的手中,书移动了。但是rust中的借用很明显是借用的堆和栈中的内存空间的进出权,内存并未移动。应该有一个更合适的词汇体现出不移动的内存和移动的书这两种不同的场景,只是我还不知道这个词汇是什么?最合适的词汇应该是表达的是“授权通行”这种意思。

    当初函数参数(a: &int)的本意就是让行走进这个函数空间(作用域)的主体(主体是有主观能动性的行走者或者叫线程,客体就是那些不动的内存空间们)有权访问外层空间(作用域)中的a客体的意思,只不过实现中通常被用指针实现的引用逻辑,但通过控制作用域中的客体的访问权限实现才是最初的本意只不过这不高效而且复杂。 追本溯源我们发现rust中的move也是一个不良词汇,计算机的运行景象中从来就不曾存在过move。也不能说运行景象中不存在move,是存在的,move是主体(线程)的行为,表达的是当前空间(内存空间、寄存器空间等空间)的哪个位置在变化的意思,哪里在变化的意思就是主体行走到了哪里。

    主体行走到了空间的某个位置,他可能只是行走也可能操作当地的状态将当地的0扳动成1,这个0到1的变迁就是move,毕竟时空是一体的,时间表达的是空间的变,01变迁就是空间的变,从这个角度看空间变了,不变的是空间的容量不变,变化的是空间的震动位置在变。容量不变和能量守恒一定只是对同一件事情的不同表达,只不过是词汇不同。

    rust的词汇系统已经很好了,但也不理想。

    找到合适的词汇了,函数f(a: &int)中的参数a &int的意思是“位置”,就叫位置,不叫借用,&int叫“某个解释为int的内存位置”和&a叫“定位a的位置”概念一致。因为在底层根本不存在权限,权限是上层的概念,就像操作系统保护了某段内存用于自己访问不允许别人访问一样在操作系统层次有权限概念,在更上层有权限概念,但在更下层根本不存在权限概念,只存在位置概念。所以号称用来写操作系统的编程语言都不能有权限概念只能有位置概念。f(a: &int)中的参数a &int的唯一意思是传入一个解释为int的内存段的位置别无他意,只要给与位置和含义就行了根本没有权限概念更没有所有权概念。&的本来意思就是“取址”,&int当然指的是位置,一直良好一直一致,从来不存在move和bowrring概念。

    本文标题说rust的词汇系统依旧不够良好,意思中有C/C++的词汇系统也不良好的意思f(int& a)中的int&叫位置不叫引用。

  • 相关阅读:
    js统一设置富文本中的图片宽度
    springboot 使用Filter
    js判断当前浏览器
    es安装ik后报错无法启动 read write
    logback Filter LevelFilter ThresholdFilter
    使用vue构建一个可视化大数据平台
    常用ES6-ES10知识点总结
    常见的web安全问题总结
    web性能优化指南
    使用node+express+mongodb实现用户注册、登录和验证功能
  • 原文地址:https://www.cnblogs.com/ntminer/p/14115819.html
Copyright © 2011-2022 走看看