先做一个程序语言,有更加强的模块化,和动态性.
参考c#,编译为中间语言,然后借助强大的运行时,虚拟机之类的东西,让其可以适应客户机上的环境,进行自动调节.这是一个很好的特性.但是却因为.net过于庞大,而微软并没有很好的模块化设计,把所有类库都打包给应用程序是不合理的.
只需要一个核心类库,容量大概1M左右,类似sl .其余类库怎么办,会根据应用程序的需要自动从网络下载,也可以把必要的类库捆绑在应用软件发行.
c#编译为中间码这个没有错,但是却借助虚拟机去执行,其实可以不用虚拟机,而用本地编译器,把代码完全编译成适应本地系统架构的本机代码.当然要做到这个并不容易,首先需要针对每一个cpu开发一个优化版的编译器,当没有优化版编译器的时候,需要有通用版的编译器.这就需要编译器的架构相当灵活.这一切都要依赖网络自动更新编译器的编译内核,以适应最新的cpu和GPU.
如果应用软件,能够自动适应各种不同的系统架构,并把代码最优化,这实在是太完美了.这个有点类似linux的格局.不过linux用的是原始的c/c++语言.缺少模块化和动态性等现代语言的特性.
然后用这个程序语言开发一个操作系统.
操作系统的核心就是编译器.所有部件都是自适应的,不再有电脑,平板,电视,手机的区别,所有东西的核心,都只需要一套系统.推出不同的硬件架构,只需要动态更新编译器,就自动将系统升级到匹配状态.
这个系统可以适用于超级计算机的大规模异构环境,因为不同的组件只需要对应的编译核心存在便可.
最后,我希望可以在上面运行扫雷.只需要一个应用程序,我就能把它分发到所有系统,包括超级计算机平台.这个才是完美的平台.