View this PageEdit this PageAttachments to this PageHistory of this PageHomeRecent ChangesSearch the SwikiHelp Guide
Hotspots: Admin Pages | Turn-in Site |
Current Links: Cases Final Project Summer 2007

Discussion 1 - Samuel Young

I came across an interesting article in which both Smalltalk and Java are used to detect object-oriented design patterns. Its title is “Language-Independent Detection of Object-Oriented Design Patterns” and can be found at the following address:

ftp://progftp.vub.ac.be/tech_report/2003/vub-prog-tr-03-15.pdf

In order to detect such patterns, the authors took a “logic inference engine” called SOUL written in and designed for Smalltalk code. They created a Java framework of the same type, coining it SOULJava. These two implementations of the same logic detection program in two different languages allowed for a lot of comparison to find language-independent OO design patterns.

For example, the article discusses key differences such as the following:

Java is statically typed, Smalltalk is dynamically typed.
Java is usually offers only introspection, Smalltalk allows for runtime reflection.

In addition, other differences affect programming habits of each language’s respective programmers. For example, the authors discuss Smalltalk’s clean, consistent syntax that allows for a small amount of programming constructs, while Java’s more complex syntax allows for many types of programming constructs. Also, they state that “Smalltalk has many different dialects, while Java is more standardized.” This would undoubtedly allow Java programmers to have a stronger pool of code that is both open source and easily integrated.

Aside from the brief discussion of these differences, the authors present many numeric results of their research to support the distinction of language-independent OO design patterns. These results also help denote the difference of the two languages.


I also read Russell Myers' Discussion 1 page. In addition to other differences such as looping constructs and to other similarities such as garbage collection, he mentions that Smalltalk comes in many different flavors/dialects. This directly relates to the article above, which discusses Java's standardization versus Smalltalk's open door to syntax modifications.