技术背景

打印

技术背景

出于历史原因,此处转载了1999年原始手册中的这一节。

通常,您会也应该不关心您只想使用的软件的编程语言和其他技术细节。尽管如此,我们还是想告诉您灰姑娘.



灰姑娘是用Java编写的,Java是Sun Microsystems开发的独立于平台的编程语言。这意味着软件可以在任何计算机上运行,而不管其操作系统如何,前提是该系统有一种称为“Java虚拟机”(JVM)的东西。这些Java虚拟机可从Sun Microsystems for Windows 95/98/NT和Solaris获得,并且有用于Linux、OS/2、MacOS、BeOS、AIX、HP-UX等的端口。事实上,您的计算机上可能已经安装了JVM,因为Netscape Navigator和Microsoft Internet Explorer都有内置的JVM。反过来,这意味着您可以在web浏览器中运行Java程序。这些程序被称为“小程序”。


我们不想在这里详细解释Java,相反,我们推荐官方Java主页http://www.javasoft.com作为进一步阅读的起点。然而,我们确实想告诉您选择Java的一些后果灰姑娘.



事实上,尽管Microsoft Windows是当今的主流操作系统,但许多数学系都有各种Unix工作站。即使在同一个工作组中,您也可以找到不同系统的混合。Java使每个人,无论选择何种平台,都可以使用灰姑娘以同样的方式。甚至可以安装和使用所有计算机上的相同代码对我们来说,我们可以使用我们最喜欢的操作系统(Linux)进行开发,同时我们一定会接触到尽可能多的受众。


其次,您可以在web浏览器中运行Java软件这一事实已被用于灰姑娘这意味着您可以轻松发布结构,用动画为您的个人主页增添趣味,或者为您的学生分配结构作业。我们的许可协议在重新分配灰姑娘,但请遵守随之而来的一些限制。


Java是一种解释语言,与编译的像C或C++这样的语言是大多数软件常用的语言。解释语言有一些技术优势,但它们还需要额外的翻译步骤,这会降低程序的速度。Java(或虚拟机)在性能方面进行了大量调整,性能差距没有我们项目开始时那么大。我们仍然需要手动进行大量优化,以创建可接受的速度,以及灰姑娘.


有时,当你移动一个点时,你会注意到一个短暂的延迟。不要责怪你的电脑、Java或灰姑娘。这些延迟是由极其复杂的计算引起的,这些计算是在移动后获得正确结果或正确屏幕表示所必需的。正确位点的产生是原因之一;许多涉及圆锥的交点是另一个。我们尽力加快这些计算,但有一个(数学)极限,我们不想牺牲速度的准确性。


最后,我们想提及帮助我们创建灰姑娘以及本文档。首先是XEmacs公司是一个功能强大、可扩展的文本编辑器,它基于GNU Emacs,而GNU Emacs又是Richard Stallman于70年代在麻省理工学院编写的原始Emacs的一个版本。它无疑是最好的编辑器,我们用它来编写整个程序和所有文档。


该程序本身是在Java开发工具包Javasoft,Sun Microsystems的一个分支,特别是它的Linux端口(请参阅http://java.blackdown.org有关Java Linux移植项目的更多信息)。Linux操作系统是一个源于Linus Torvalds工作的免费类unix操作系统,现在通过全世界数百名开发人员的努力不断改进。


解析引擎(用于加载保存的构造)是在前2.5.0,一个公共域Java/C++解析器生成器,由MageLang研究所的Terence Parr编写。


代码的后优化和压缩是用杰克斯来自IBM研究部门alphaworks。我们要感谢Jax团队,特别是Frank Tip,感谢他们的帮助,感谢IBM允许在商业上使用Jax。


这个并发版本系统(CVS)通过循环软件进行了大部分版本合并(并使我们避免了很多麻烦)。它也是自由软件。


多亏了微软和Netscape公司、重新分发的许可条款Netscape导航器允许我们将兼容Java-1.1的浏览器与灰姑娘.


文件灰姑娘打印的手册和在线版本都是用HTML格式的XEmacs编写的。我们将相同的文件用于打印版本和屏幕表示。网页的设计使用级联样式表(CSS);硬拷贝是用一个破旧版本的html2ps作者Jan Karrman。


中使用的图标和图像灰姑娘是我们自己设计的GIMP公司(GNU图像处理程序),由Peter Mattis和Spencer Kimball编写。在我们看来,它是最令人印象深刻的自由分发软件之一。文档中的其他图形是使用创建的灰姑娘当然,还有波夫雷,一个免费的3D光线追踪软件,以及一些PostScript黑客。


有两个人值得特别提及:詹姆斯·高斯林Java编程语言的创建者,以及杰米·扎文斯基,负责Netscape Navigator的第一个Unix版本。它们都以一种特殊的方式与XEmacs相连:James Gosling实现了Emacs的第一个C实现,称为GOSMACS,Jamie Zawinski是XEmac版本19.0到19.10的负责人,当时这是Lucid(现已停业)和Sun Microsystems(原文如此!)的合作成果。

此页面的参与者:里希特,科尔滕坎普詹特.
页面上次修改日期为2011年9月4日星期日[18:29:34 UTC]里希特.

本页面上的内容根据许可证.


菜单