Smalltalk and Object Orientation: an Introduction - Free
Smalltalk and Object Orientation: an Introduction - Free
Smalltalk and Object Orientation: an Introduction - Free
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
33. The Future for <strong>Object</strong> Technology<br />
33.1 <strong>Introduction</strong><br />
This chapter is structured in the following m<strong>an</strong>ner: we first consider issues directly relating to the future<br />
of the <strong>Smalltalk</strong> l<strong>an</strong>guage <strong><strong>an</strong>d</strong> then the type of object oriented development toolkits which are, <strong><strong>an</strong>d</strong> will<br />
be, available. We next consider the impact of the internet on object technology. We then briefly discuss<br />
the development of object oriented databases <strong><strong>an</strong>d</strong> then address <strong>Smalltalk</strong>’s role as a training<br />
environment for object technology before concluding by considering very briefly the future of object<br />
technology over the next five years.<br />
33.2 The <strong>Smalltalk</strong> l<strong>an</strong>guage<br />
The <strong>Smalltalk</strong> l<strong>an</strong>guage is unlikely to ch<strong>an</strong>ge a great deal for the new ANSI st<strong><strong>an</strong>d</strong>ard being produced by<br />
the X3J20 st<strong><strong>an</strong>d</strong>ard committee. This committee was formed in late 1993 <strong><strong>an</strong>d</strong> draws its members from<br />
both the user <strong><strong>an</strong>d</strong> vendor communities. This st<strong><strong>an</strong>d</strong>ard is necessary as more <strong><strong>an</strong>d</strong> more vendors are<br />
producing <strong>Smalltalk</strong> based development systems which, while similar, all possess (signific<strong>an</strong>t but<br />
subtle) differences. Although the merger of the two largest <strong>Smalltalk</strong> vendors ParcPlace <strong><strong>an</strong>d</strong> Digitalk in<br />
1996 could be seen as resulting in the creation of <strong>an</strong> enforce d st<strong><strong>an</strong>d</strong>ard, other vendors could still “go<br />
their own way”.<br />
However there are other aspects of the <strong>Smalltalk</strong> l<strong>an</strong>guage which need to be addressed, some of<br />
which are fundamental to <strong>Smalltalk</strong> <strong><strong>an</strong>d</strong> others of which are technology oriented. Each of these areas<br />
will be considered below.<br />
33.2.1 <strong>Smalltalk</strong> issues<br />
There are a number of l<strong>an</strong>guage issues which <strong>Smalltalk</strong> must address if it is to survive <strong><strong>an</strong>d</strong> prosper into<br />
the next century. All of these are related to providing better support for large scale, commercially<br />
critical systems. Such systems require:<br />
• Non-interpreted implementations : All commercial version of <strong>Smalltalk</strong> rely on the use of a<br />
virtual machine which executes byte codes. The byte codes are the “compiled” version of the<br />
<strong>Smalltalk</strong> source cod e. This me<strong>an</strong>s that <strong>Smalltalk</strong> is compiled into <strong>an</strong> intermediate l<strong>an</strong>guage<br />
which is then “interpreted” by the virtual machine rather th<strong>an</strong> being compiled into a native code.<br />
The result is that <strong>Smalltalk</strong> does not produce a true executable image which generally r esults in<br />
signific<strong>an</strong>t perform<strong>an</strong>ce <strong><strong>an</strong>d</strong> memory overheads.<br />
• Class-based version control : Within a software development project, different team members<br />
will be developing different parts of the system. In m<strong>an</strong>y cases they will maintain their source<br />
code using a source code control systems such as SCCS under UNIX. This me<strong>an</strong>s that all the<br />
source code control operations are outside of the <strong>Smalltalk</strong> system <strong><strong>an</strong>d</strong> require external<br />
intervention. For example, if a developer within a project using SCCS, wishes to see how <strong>an</strong> old<br />
version of a class would interact with a set of newly defined classes, they must leave<br />
VisualWorks, retrieve the old version of the class from SCCS, file it into VisualWorks, probably<br />
having removed the newer version of the class from the image to ens ure that no additions<br />
remain. When they have finished performing these tests they must then retrieve the new version<br />
of the class. Such version control of classes <strong><strong>an</strong>d</strong> methods should be inherent to the development<br />
environment rather th<strong>an</strong> a third party after sales add-on.<br />
• Team-based development support : <strong>Smalltalk</strong> was originally conceived as a l<strong>an</strong>guage <strong><strong>an</strong>d</strong><br />
development environment for a single user. It therefore has inherent weaknesses when it comes<br />
278