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

Schedule: 2 September 2005

The Smalltalk Programming Language: A Comparison with Java describes some of the basic features of Java and Smalltalk comparing and contrasting them.

The article begins with a comparison of the runtime efficiency, simplicity, organization, reliability, and included libraries of these languages. Since Both Java and Smalltalk are compiled into bytecode and interpreted by a virtual machine, these languages are significantly less efficient than C, but are portable between platforms. Both languages are very simple to understand because they do not allow for complex functionality that could have multiple meanings such as overloading of existing operators. This feature allows for easy maintenance of existing programs. Variable declaration is handled differently in these languages. Java requires type declarations where as in Smalltalk everything is an object so the actual type is determined at runtime. Both languages have the ability to divide programs up into functions, but this feature is handled a little differently in each language. In Java there are the boolean logic statements that are common in many languages in one form or another (for loops, while loops, if then statements, switch statements, excreta). In Squeak there are basic methods that can be preformed on objects that produce the similar functionality. Both languages are very reliable mainly due to the garbage collection feature included in both languages. Both languages have built in libraries that allowing for programmers to use a wide range of basic functions. These basic features included in Java and Smalltalk allow concise, understandable, and maintainable programs.

Because of those features and the capabilities they create, both Squeak and Smalltalk are used in many applications. The byte compilation of both languages allows them to be used in any cross platform application and any application that requires reverse engineering. The cross platform applications for java include email clients, web browsers, and applets. The cross platform applications for Smalltalk include prototyping and other large scale applications including mainframes, oscilloscopes and phone systems. One more cross platform application for both languages is an IDE, which makes development and debugging easier, and encourages use for large development projects. These applications of Smalltalk and Java show that the features of each language have many uses.

With the features and applications of Smalltalk and Java in mind in Russell Myer’s discussion he seems to have become slightly confused. He states that Smalltalk does not support looping, but this is not true. Smalltalk does not have the syntax or keywords that allow for the common looping structures that are available in many languages, but there are methods that use objects to create similar looping operations. Also he failed to mention any applications of the languages although he did mention the Smalltalk flavors Dolphin and Squeak that are used in application development.


Links to this Page