29.11.2014 Views

Smalltalk and Object Orientation: an Introduction - Free

Smalltalk and Object Orientation: an Introduction - Free

Smalltalk and Object Orientation: an Introduction - Free

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!