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.

solutions are needed which suit the require ments of less technically complex systems, such as a<br />

database server which is accessed by a small number of interacting <strong>Smalltalk</strong> clients.<br />

Improved support for deploying applications is required. The process of removing as m<strong>an</strong>y system<br />

classes as possible without damaging the application’s operation is still largely <strong>an</strong> art rather th<strong>an</strong> a<br />

science. VisualWorks 2.5 does give greater support for this, however it is still severely limited in its<br />

operation.<br />

Finally, there needs to be a convergence between the di fferent <strong>Smalltalk</strong> dialects. This will happen<br />

to some extent through the new ANSI st<strong><strong>an</strong>d</strong>ard. However, if this st<strong><strong>an</strong>d</strong>ard does not cover issues such as<br />

the user interface, database access, web access, the use of dynamically linked libraries <strong><strong>an</strong>d</strong> OLE, then it<br />

will have only limited success.<br />

33.3 <strong>Object</strong> oriented development toolkits<br />

For <strong>Smalltalk</strong> to maintain its position as a mainstream l<strong>an</strong>guage it must be supported by appropriate<br />

development tools, as well as by a number of l<strong>an</strong>guage vendors. The merger of Digitalk <strong><strong>an</strong>d</strong> Parcplace<br />

systems raised the prospect of the emergence of essentially a single l<strong>an</strong>guage vendor (as ParcPlace <strong><strong>an</strong>d</strong><br />

Digitalk between them accounted for the majority of <strong>Smalltalk</strong> system sales). This has been <strong>an</strong><br />

impediment to a l<strong>an</strong>guage’s success in the past. F or example, developers are unwilling to commit to a<br />

l<strong>an</strong>guage which, on the demise of their system supplier, forces them to re -implement the whole system<br />

in a new l<strong>an</strong>guage. However IBM have entered the market with their r<strong>an</strong>ge of <strong>Smalltalk</strong> products thus<br />

alleviating the situation to a certain extent.<br />

However we are still left with the issue of the r<strong>an</strong>ge of development tools <strong><strong>an</strong>d</strong> toolkits available. It is<br />

possible to classify object oriented development toolkits into a number of categories:<br />

• <strong>Object</strong> oriented l<strong>an</strong>g uage compilers <strong><strong>an</strong>d</strong> linkers . These tend to be comm<strong><strong>an</strong>d</strong> line programs<br />

which read in a source code file <strong><strong>an</strong>d</strong> produce object files which are then combined with other<br />

object files to create a st<strong><strong>an</strong>d</strong> alone executable. They are typically used in <strong>an</strong> Edit -Compile-Link-<br />

Execute cycle in which the various tools used are poorly integrated (if they are integrated at all).<br />

• <strong>Object</strong> oriented application development environments . <strong>Object</strong> oriented Application<br />

Development Environments (or OOADEs) are comprehensive development environments that<br />

not only possess highly integrated development tools but also provide a far greater level of<br />

developer support th<strong>an</strong> the basic l<strong>an</strong>guage compilers. For example, database access, use r<br />

interface construction, code generation <strong><strong>an</strong>d</strong> libraries of reusable components. Typically<br />

OOADEs exploit <strong>an</strong> iterative development cycle in which the developer writes some code,<br />

compiles it in-situ <strong><strong>an</strong>d</strong> executes it before writing some more code.<br />

• <strong>Object</strong> oriented CASE (OOD methodology -based) tools. OO CASE tools differ from the OO<br />

ADEs because they support one or more OOD methodologies. The most common OOD<br />

methodologies used with OO CASE tools are OMT <strong><strong>an</strong>d</strong> Booch. These two accounted for over<br />

50% of OOD methodologies used world wide in 1995. Given this, it is likely that the Unified<br />

Modeling L<strong>an</strong>guage (UML) will have a signific<strong>an</strong>t impact in the future, as it is the inheritor of<br />

both OMT <strong><strong>an</strong>d</strong> Booch.<br />

There are in fact two different types of OO CASE to ols available: OO <strong>an</strong>alysis <strong><strong>an</strong>d</strong> design<br />

tools <strong><strong>an</strong>d</strong> OO Integrated CASE tools. The former act as diagramming tools while the latter are<br />

model-based code generating tools. Most of the code generation tools support C++ although<br />

versions for <strong>Smalltalk</strong> have been ap pearing since the end of 1995. This is now a signific<strong>an</strong>t<br />

market which increased in the US by 82% in 1995 to be worth about $138 million.<br />

<strong>Smalltalk</strong> examples of each of these c<strong>an</strong> be identified. For example gnu -<strong>Smalltalk</strong> falls into the first<br />

category, while VisualWorks itself falls into the second. There are also a growing number of <strong>Smalltalk</strong><br />

based OO CASE tools. For example, Rational (probably the most influential OO CASE developer<br />

having Grady Booch, Jim Rumbaugh <strong><strong>an</strong>d</strong> Ivar Jacobson working for them) has a ve rsion of its product<br />

ROSE for <strong>Smalltalk</strong> (It also produces versions of Rational ROSE for C++, SQL Windows <strong><strong>an</strong>d</strong> Ada).<br />

However it is worth noting that although OO CASE tools are the fastest growing product area, this is<br />

<strong>an</strong> area in which <strong>Smalltalk</strong> has been a re latively late entr<strong>an</strong>t. OO CASE tools first started appearing<br />

commercially , in <strong>an</strong>y number, around 1992. It was three years before m<strong>an</strong>y of these tools offered direct<br />

280

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

Saved successfully!

Ooh no, something went wrong!