不许看,和老师讲的不一样

以下内容,35岁前不建议观看,因为和工业标准有冲突。

24

哆啦A梦用的操作系统,是Linux。

23

操作系统的根目录是桌面?
系统启动之后,停留在根目录。
目录里不仅有文件,还有许多其他东西,以至于可以构成内容丰富的桌面。

22

源代码中有“时间1”、“时间2”,不用管它们是变量还是函数,写下“时间差”就能获得想要的内容。
实现这一技术,需要用到“编译前函数”,相当于有一个帮我写代码的小机器人。

21

CISC->复杂指令集计算机,电脑上的x86
RISC->精简指令集计算机,手机里的ARM
NISC->无指令集计算机
有人会问了,没有指令集,那可怎么运行啊?
①从源代码到电路的编译器
②用简单电路模拟复杂电路
在第二步,就用不到指令集。
已经进行的研究,分出两个方向:
①让CPU识别HDL(硬件描述语言)
②运用图论,把电路分割成块,再逐块实现。

20

公共命名空间和新编译原理。
大约是我60岁那年,公共命名空间的填充工作结束了,人们开始研究新编译原理。
内置名和上下文容器。
例:
霍夫曼编码[符号和概率]至[编码]
霍夫曼编码符号和概率[a]至编码[b]
其中,编码[b]的内置名是[编码],这就避免了出现:
霍夫曼编码[符号和概率]至编码[编码]
要把编码写两次,很麻烦。据说,这一创意来自于C语言:
time_t time1=time(NULL);
要把time写三次,很麻烦。
上下文容器:
投[3]个骰子至[x]
投[3]个骰子
不写至哪里,则至上下文容器。第二个句子自动地向上下文容器添加一个变量,供下文使用。
把内置名和上下文容器结合起来,句子“投[3]个骰子”向上下文容器自动添加一个内置名,是一个叫“骰子”的变量。

19

网络分成五层:
物理层->物理纠错层->逻辑层->逻辑监管层->应用层
在物理纠错层,排除一切物理错误。
在逻辑监管层,排除一切人为错误。

18

用“图元脚本”实现办公软件。
图元是图像的元素,操纵图元的脚本程序,叫图元脚本。
办公文档是画出来的。例如:

准备一张A4纸为[o]::竖放
书写标题["..."]至[x]
布置[x]于[o]

17

把git和blog结合起来,有人帮我改错别字,也是挺好的。

16

C语言中,函数指针类型声明的变化。

int (*fp)(int,int)
int=&(int,int) fp
int=_(int,int) fp
int=$(int,int) fp

修改后的,把函数指针变量放到了后边。
三个选择,哪个更好看?
我更喜欢下划线,看上去像是一道填空题。

15

变长结构体。
以常见的学生类为例,它有姓名、性别、年龄几个成员,其中姓名是字符串,长度不确定。用C++或Java实现,会分配多片内存,通过指针连接为一个整体,成为学生类。
有了变长结构体之后,分配在一片连续的存储空间。语法如下:

struct student{
    char[int=6] name
    bool sex
    unsigned char age
}

int=6,表示用4字节的int记录字符串长度,默认值为6。
对该结构体的修改,将诱发realloc函数,并把数据复制到位。

14

数组的下标,可以从0开始,也可以从1开始。具体操作起来,还有点复杂。a[0],a[第1],这需要确保作用域内没有叫“第1”的变量。要不然就修改编译器,让数组下标使用了第几的作用域内,禁止出现第几形式的标识符;要不然就把叫“第1”的变量,改名叫“第1个”。
第型数组,声明数组是这种类型之后,下标统一从1开始,没有a[0]了,这将引发数组下标越界异常。

13

除了正则表达式,还有算数表达式,分别对应于语文和数学。

re(/abc\d{4}/, "abc1234")
me("1+2*3^n",n=4)

研究编译原理的过程中,被算数表达式纠缠了,一个句子也按数学的方式处理,有点儿乱。应该把算数表达式单独出来实现,让句子回归语文课的属性。
和正则表达式一样,算数表达式需要先编译,再执行。编译之后,它是一个函数,或是直接返回计算结果。如:

me("1+2*3^n",n=4) //编译前
f(4)  //编译后

12

计算[1+2*3]至[结果]

上述源代码,是自然语言编程的尝试。自然语言编程理所应当包含中文编程。
当任务变得琐碎,使用母语编程就成了必须的。对中国的程序员来说,就是中文编程。
另外,应尽可能少地占用符号,像C++那样,大中小括号都占满了,还要用尖括号,不太好。
寻求敲击键盘的次数越少越好,这需要输入法。例如,输入"zdgys",输出求[ ]的最大公约数至[ ],然后填充括号即可得到源代码。如果没有输入法,就需要程序员强行记住zdgys是最大公约数。
当任务变得琐碎,各种简称将会很多,所以,必须使用输入法。

11

程序结构分为八种,更进一步说,分5种基本结构,和3种扩充结构。
顺序、分支、循环、调用、并行,
复制指针、包含指针、封装函数。
老师只说了前三种,其实调用和并行也是基本程序结构。之后的三种扩充结构,用于自动添加free函数时,绘制变量的生命线。

10

盗版和高薪,危害中国IT业发展。
盗版,使得公司挣不到钱,难以经营下去。
高薪,使得国家不能总动员,开发不出大项目。
如果国家使用强制力拒绝盗版,高薪的问题就出现了。有一个笑话,说的是一个设计师特别厉害,你给他10万元,他能帮你把房子装修出20万的效果。如果你给他100万,那么,也是20万的效果。

9

编译前函数,这违背了《编译原理》上的T模型。但是,现在有许多成熟的计算机语言,用语言生成语言。
C语言的宏,C++的模板,都是这一思路的早期实践。

8

CPU内部可编程。
随着CPU越来越复杂,出现了“CPU内部编程环境”。缓冲不再对程序员透明,那至少16MB的Cache也可以拿来编程了。寄存器本可以做到几百上千个,但是,因为其速度和高速缓冲(Cache)差不多,且Cache也能编程,就仅保留4个: a . . a.. a..d。
有专门为CPU内部编程的指令,和访问RAM的指令形式差不多。因为输入法的升级,可以用长一点的指令了。例如:

cpu.move 至$a, [4650E]处的8字节
ram.move 至[2587EF96], $a的全部8字节

move指令需要接受三个参数:源地址、目标地址、长度。即从哪到哪,移动多少字节?

7

升级的RAM。
内存能够接受next n指令,从而把接下来的n字节,主动传递给CPU。这可以避免每次都由CPU计算地址,把地址加一的工作交给RAM来完成。
问题来了,这需要在RAM里实现一个加法器,它一定比CPU里的加法器慢。而且会导致RAM成本上升,不划算。
内存能够接受move block指令,从而把一块内存复制到另一处。这可以避免占用CPU。
问题是一样的,这也需要在RAM里实现一个加法器。
上述设想都需要在RAM里实现一个小型的CPU,是否划算,需要仔细计算一下才知道啊。

6

能对CPU内部编程序了,存储器也要区分开。CPU内部的叫C存,RAM叫R存,硬盘里的叫D存。总的来说,这是C-R-D存储模型。
网络也加入进来,网络存储叫N存。形成C-R-D-N存储模型。
2023年前后,手机的内存应该叫D存,它的运行内存叫R存,暂时不支持C存和N存。

5

文件系统出现了进化,不再是树状结构,一层层的目录,而是以“主题”为主要结构。典型的主题有:
桌面,设置,去西藏旅行的照片,C语言教程,C语言编译环境,我的C语言程序。
这些主题是并列关系,不是树状结构的层级关系。
如果主题内还能包含主题,它就和传统的树状结构的文件系统差别不大了。主题内的结构,应该不止是包含关系。
文件系统会影响编程模式,不再是所有内容统一到一个根目录下了,编程序也可以更灵活了。

4

现在流行使用自然语言编程,例如:
创建[int]类型,[2,5,8]形状的高维数组至[a]
创建[3]维数组,[int]型,[2,5,8]形,至[a]
创建高维数组,[int]型,[2,5,8]形,至[a]
赋值[a][0,0,0]为[100]

有人认准了“敲if比如果快”,上述赋值语句,明显没有等于号快呀?这需要输入法帮忙,输入"=",就显示源代码的模板,这样会不会快一点?

3

函数不仅是y=f(a,b)的形式,函数可以带中括号,把参数放置在句子的任意位置,例如:
赋值[a][0,0,0]为[100]
该函数的原型为:
赋值[(高维数组)][(自然数序列,项数为参数1的维度数)]为[(参数1的元素类型)]

以上这个中文+中括号+反斜线转义符的字符串,是一个函数名。这样设计是为了兼容C语言和机器语言,保证所有函数调用,都是y=f(a,b)的形式。

通过反斜线转义符可以设置函数重载,如:
[\(猫)]叫
[\(狗)]叫
同样是“叫”函数,从函数名,或者说函数原型,就能分辨出来。

2

几个比特是一个字节的问题,又思考了一遍。结论是:方便就好,没有什么硬性的规定。另外,考虑到计算机需要上网,和全世界交流,所以,应该保持8比特/字节。
美国人设计的8位,16位,32位,64位路线有问题,但这还不是推翻他的理由。虽然我认为10比特/字节更方便,但历史遗留问题,就不去改它了,就保持8比特/字节。

1

16GB内存,1TB硬盘的电脑。
①16GB内存完全用于硬盘缓冲,程序直接运行在硬盘上,代替malloc函数的dalloc早已经被实现了。
②1TB硬盘完全用于虚拟内存,程序仍然运行在内存中,只是已经把文件系统集成于内存管理单元(MMU),关机的操作就是把内存里的数据写入硬盘。
现在的电脑,硬盘缓冲和虚拟内存同时存在。在以后,将选择其中一个,抛弃一个。

  • 26
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值