随想、语录

我们仔细的观察一下编程语言的走势,从最开始的高级语言C语言到C++再到Java、C#再到现在普遍流行的脚步语言;我们发现了什么?语言正在跨平台化、脚本化。而当今普遍流行的脚本语言他主要基于一些高级语言来实现一些简单或不简单的解析。

我们可以使用JavaScript语言来写一些网页上面的一些效果,甚至我们可以用JavaScript来在浏览器里面画图。而这一切,仅仅是基于一些高级语言的解析,然后运行在浏览器里面(当然,在这里并不否定一些脚本语言可以直接在系统里面运行,但是基于这些脚本语言的执行效率不及一些诸如Java、C#等)。当今的世界是一个网络的世界,你可以仔细的想一想,你每天打开电脑都在干一些什么:打开QQ、MSN等,再打开你的电子邮箱来查收你的邮件,打开浏览器“百度一下”或“Google手气不错”...我们实在离不开网络了,可以说,对于我们大多数人来说,离开网络会使我们的生活乏味一半,实在无法想象没有网络的世界。而我们当前的大多数程序员,只不过是使我们的网络变得更发达而已,题外话不说多了,回到我们刚才的主题上来,一半以上的脚本语言主要是对网页交互性的扩展而开发出来的,我们可以看到,脚本语言是在自己有限的资源里不断的重复利用...

我们是不是可以换个角度来考虑编程语言的设计呢?

为什么我们硬要在脚本语言上做手脚,而非浏览器上呢?

编程语言改来改去,语法再怎么怎么的,还不就是在memory中move来move去的!为何我们不去给脚本语言更大的一些执行空间呢?而非要脚本语言私下里、暗地里的去利用系统的bug呢?程序的运行就是几句指令操作另外的几句指令move来move去的,我们可以为浏览器提供一个物理或虚拟的一块控件,用以建立浏览器自己的memory结构,然后提供给一些脚本语言去实现他自己的一些功能,比如画图等等。而同时我们提供一个公共运行的指令库,就好比当前很多脚本语言开始将自己的实现交给jvm来做,而自己的编译器则仅仅只是将自身的语法翻译成Javacode;那么我们的浏览器也可以做到。他提供一个公共的规范来的约束脚本语言,从而系统不会因为一些恶意脚本而受到攻击入侵,这样岂不皆大欢喜嘛?!

我们可以特制一个操作系统,使他能够提供一块内存地址给浏览器来执行脚本语言,有人会考虑到安全问题。当然,这将在我们特制的操作系统里面来进行一个高级接管:操作系统首先在内存中划开一片空间,然后将其映射到浏览器的“内存堆栈”中去。事实上,操作系统并没有去替代Cpu的职能,他仅仅是提前将脚本的中间语言解释一遍,如果出现错误便终止脚本的运行,返回一个系统错误;否则将解释出的机器码交给CPU来处理。他很类似于Java的虚拟机,如果Javacode错误,那么jvm会停止工作,而不会影响到操作系统的安全。总结起来,浏览器就像是一个嵌入式的微型系统。与宿主分开又结合。。。

相关推荐