GNU Smalltalk是一个实现,紧跟在书中的Smalltalk-80中描述的的Smalltalk-80语言:语言及其实施由阿黛尔·戈德堡和大卫·罗宾逊,这将在下文中简称蓝皮书。
Smalltalk的编程语言是一个面向对象的程序设计语言。这意味着,对于一件事,那你编程的想法不仅是一个对象包含的数据,也可以获得该对象上的操作时。
对象的数据表示能力和可用的对象上的操作是“不可分的”;的那套东西,你可以用一个对象做的是通过一系列操作,这Smalltalk的调用方法,可用于该对象的精确定义:每一个对象都属于一个类(数据类型和函数集其上运行),或者,更好的,它是类的一个实例。
你甚至无法检查从外部对象的内容 - 以一个局外人,对象是一个黑盒子,有一些国家和一些操作可用,但仅此而已,你知道:当你想在对象上执行操作,可以只发送它的消息,并且该对象拾取对应于该消息中的方法。
在Smalltalk语言,一切都是对象。这不仅包括数字和所有的数据结构,但即使是类,方法,一种方法(块或闭包)内的代码段,堆栈帧(上下文),等等。即使和同时结构被实现为发送到特定对象的方法。
不像其他Smalltalks(包括Smalltalk的-80),GNU Smalltalk中强调Smalltalk的快速原型特征,而不是编程环境的图形和易于使用性(你知道第一个图形用户界面下的Smalltalk曾经跑了?)。
庞大的身躯系统类的可用性,一旦你掌握了它们,使得它非常容易编写复杂的方案,通常是用于所谓的脚本语言的任务。因此,即使我们有一个漂亮的GUI环境,包括一类的浏览器,GNU的Smalltalk的项目的目标是当前产生一个完整的系统,以用于在一个清晰,美观,和哲学吸引人的编程语言编写的脚本。
Installling:
首先要做的编译GNU Smalltalk是配置程序,创建makefile和一个`gstconf.h“,其中包含猜测在系统的特殊性。由'配置'shell脚本自动执行此配置;运行它,只须键入:
的./configure
您可以通过配置选项包括--disable-DLD,这就排除了Smalltalk的程序从动态链接库在运行时。
当你配置GNU Smalltalk中,你可以编译系统通过键入:
使
Smalltalk中应编制并没有错误链接。如果编译出错,你可能要检查用来启动编译器的命令。例如,一定要检查,如果你的编译器的扩展,如果不启用,不要让它ANSI兼容。如果是这样的话,型
使distclean命令
CFLAGS =所需的命令行标志
并重新配置/ make过程。在非常特殊的情况下,配置脚本可能会错过一个头文件的存在或系统上的功能。您可以通过打补丁的配置过程中创建的`config.cache“里面的文件。例如,如果配置没有找到你`unistd.h中“头文件,更改行读取
ac_cv_header_unistd_h = $ {ac_cv_header_unistd_h'不'=}
至
ac_cv_header_unistd_h = $ {ac_cv_header_unistd_h ='是'}
并再次重试配置/ make过程。
化妆输出的最后几行应该是这样的:
出口SMALLTALK_KERNEL =`CD ./kernel; pwd`;
./gst -iq dummy_file
使[2]:离开目录`/家用/ utente / devel软件包-GST“
使[1]:离开目录`/家用/ utente / devel软件包-GST“
在这一点上,你有一个工作Smalltalk的GNU。恭喜!
你也将要存储Smalltalk的来源和创建在适当的位置(图像文件中包含的系统状态的快照满)的图像文件。这是当你做一个化妆安装自动完成。指定--enable-模块作为一个选项来配置将加载Smalltalk的包中自动安装映像。例如
时候使用./configure --enable-模块= Blox的,TCP
将创建一个Blox的用户界面工具包和TCP抽象库内置的图像。
以下是“GNU Smalltalk的”一些主要特点:
按类别搜索
热门软件
Aubit 4GL compiler 20 Feb 15
X11-Basic 20 Feb 15
GNU Cobol 17 Feb 15
PL/1 for GCC 2 Jun 15
Regina Rexx Interpreter 3 Jun 15
Tiny C Compiler 3 Jun 15
boot 20 Feb 15
GNU Smalltalk
类似的软件
显影剂的其他软件 Paolo Bonzini
Permanent notifications
20 Feb 15
意见 GNU Smalltalk
按类别搜索
热门软件
Free Pascal Compiler 22 Jun 18
Open Virtual Machine Language 20 Feb 15
CodeViz 3 Jun 15
Intel Fortran Compiler For Linux 20 Feb 15
Linaro GCC 17 Feb 15
bc 3 Jun 15
LIOGO 3 Jun 15
评论没有发现