在确定了三大定理后,一个想法就是将相关的理论和工作迁移过来,然而还是缺乏有明显的可操作性和发展空间的选项。直到想到这个想法:领域就是语言。由此,从三大定理出发,首先将不同的领域作为“目标语言”确定下来,进而去考虑源语言的设计。
这样子的想法其实缺少一个层次:正向建立的通用性可能更主观,但也更有活力和优点,领域的通用性并不能还原到正向建立的通用性。但这个问题,暂时先忽略了。
进一步地一个问题是,采取分散的研发和管理,还是采取集中的研发和管理。分散的研发和管理,看上去优点很多,例如有利于更多的智力资源参与进来,有利于快速落实和扩张,但是,资源是有成本的,快速落实和扩张则一定要社会化,这就会意味着要克服许多可能的社会冲突,这些在当前都不太可能。由此,几乎可以确定采取集中的研发和管理。
至此,很多事情就清晰了。行动是这样子的:将全部的软件技术集中到3-4个软件项目中,由这少数的几个项目牵引语言相关的设施,同时,语言的相关的设施再进一步支持这3-4个软件项目。此外,绝对不再设置额外的项目或设施,而有需要的项目和设施都挂靠在3-4个项目里。这样子,软件项目和语言都是新的,甚至新的有些让人困惑,但这些可以通过文档和沟通来解决。
这3-4个软件项目是:
- 基础系统(Foundational System)。这个系统不是一个极小的系统。暂时地,这个系统也看作是一个工作环境。这个系统将管理硬件,提供网络的支持,提供一些面向数学优化的基本工具,还带有一些人们常常会用到的附件软件。从职能来看,这个系统差不多等于操作系统+matlab+网卡驱动+附件软件。操作系统的部分,只提供极少的核心的东西就可以了。matlab的部分,应当注意和matlab的功能要错开。网卡驱动的部分还没想好怎么弄。附件软件则是较容易的。总的来说,这个系统首先考虑中国的航空航空行业的需要,以大量的数值优化工具集为特色,基本兼容操作系统的使用习惯,直接管理硬件资源。这个系统的行业属性就是航空航天。
- 矢量软件包(Vector)。这个软件包主要面向科学研究(Scientific Research),可视化(Visualization),图形(Graphics),娱乐(Entertainment)等行业需求。
- 办公室软件包(Office)。这个软件包主要面向工业化,信息化,电子商务,信息管理,写作,软件工程等行业需求。
由此,编译器就要先归入到Office里了。
这里仍然有一些问题,例如操作系统在当前通常会划分为极小版、服务器版、桌面版,因为服务器版本和一些特殊的条件需要一个较精简的操作系统,但按照这样子的划分,服务器版本和较精简的操作系统应当归到Office那里去。这个问题,还待以后解决。
接下来即开始对这些有一个规划。
发表回复