我的理解是这样的:
假如我基于 python,开发一门新语言,假设就叫 bb 语言
首先 bb 语言的打印字符串的代码如下:
打印 bb("你好") # 这是 bb 语言的打印语句,类似 python 的 print
由于我是基于 python 创造 bb 语言的,所以,我用 python 代码 针对 上述的 文本内容( bb 源代码),进行处理(词法分析、语法分析), 然后 python 代码里,捕捉到了 词法 打印 bb
以及 你好
python 代码就可以知道,是要打印一段文本, 然后就调用 python 的print
,并把 你好
传给print
就这样, 完成了 基于 python 创造一门新语言 bb (目前只支持一个语法,即 打印 bb
)
我理解的其他语言,比如:
java 基于 c ( java 的printf
本质是调用 c 的printf
),
cpython 基于 c ( cpython 的print
本质是调用 c 的printf
) ,
所以,如果我基于 python 创造了 bb 语言,那么 bb 语言的 打印 bb
本质就是调用 python 的print
不知道我的理解对不对
如果 我的以上理解是正确的, 那么,假如 python 的print
性能很差,那么是否 bb 语言的 打印 bb
也一定会很差?
如果以上假设成立,那么 假如 在我的 bb 语言里,我给打印 bb
这个方法加了更多额外处理流程,比如,在执行 打印 bb
的时候,还检测了网络,还读取了 xx 信息,总之 要 10 秒才能打印出内容
那么,某一天,有人基于 bb 语言,创造了 cc 语言,cc 语言的 打印 cc
基于 bb 语言的 打印 bb
,那么,cc 语言的 打印 cc
被调用后,也会有 10 秒多的延迟吧? 也会检测网络,读取 xx 信息 对吧?
那么,那些基于 c 的语言,如 java 、cpython,是怎么确保 基于 c 语言开发时,不会被 c 语言自身的私货(即 bb 语言里的 检测网络,读取 xx 信息 ) 影响了性能呢?
那么在这种情况下, 自举 还能提高性能吗? 不就变成了 套娃了吗? 最开始的娃很卡(如 bb 语言的打印 bb), 以后套上的娃 性能肯定不会超过最初的娃吧
有人基于 bb 语言,创造了 cc 语言,并且在 打印 cc 还加了自己的处理流程, 打印 cc 的延迟成功的增长到了 20 秒, 后来 又有人 基于 cc 语言创造了 dd 语言, ..... ... 直到 zz 语言,这时候 打印 zz 的 延迟很高很高了吧?
套娃,越来越卡,各种历史包袱, 导致更卡了
我的理解对吗
跪求各位前辈指点
谢谢
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.