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 4 - Jonathan Reitnauer

Guide to making the Transition from Java to Smalltalk

The languages of Java and Smalltalk have many things in common, but they differ in many ways as well. This discussion will examine some of the major similarities and differences in an attempt to guide the reader through a transition between the two languages.

To begin, we should list some obvious commonalities. Both Java and Smalltalk are object oriented languages and both have useful properties for use as teaching languages. For people with prior programming experience, neither language is very difficult to learn and begin using. One advantage Java has here is its syntax and structure that closely resemble C. This can make it more familiar to people who have programmed in C before. On the other hand Smalltalk has a type of syntax patterned after spoken English. This gives it a more elegant overall design and makes it easier to understand for some.

One area where Smalltalk excels is the object oriented paradigm. Because everything is an object in Smalltalk, it is easier to grasp the basics of object oriented programming. On the contrary, Java’s primitive types are much like those in C. This can present a challenge to people coming from Java while they adjust to the shift in programming style. Another important distinction is that in Smalltalk all computation is done through sending messages. This can sometimes be confusing to experienced Java programmers who are familiar with multiple ways of passing around data.

Education is one of Smalltalk’s strengths however. Java is widely preferred throughout industry, but Smalltalk was primarily developed as a teaching language, so there are certain considerations that make it an ideal choice for a student looking to expand his knowledge in programming. Smalltalk has a simpler structure, with fewer keywords and tighter code integration. This can be a useful feature for people just learning it.

Overall Java and Smalltalk can both be considered respected languages that have slightly different aims but both serve students well. For those making the transition from Java to Smalltalk, it useful to remember the differences in the organization and structure of the languages as well as what one should expect as a result of the sometimes varying behaviour.



References:
Java as a Teaching Language
David Clark, Cara MacNish, Gordon F. Royle
Proceedings of the 3rd Australasian conference on Computer science education ACSE
http://delivery.acm.org/10.1145/290000/289418/p173-clark.pdf?key1=289418&key2=4502039211&coll=portal&dl=ACM&CFID=57467067&CFTOKEN=9035165

Donald Raab’s Smalltalk to Java Comparisions
Donald Raab http://wiki.cs.uiuc.edu/VisualWorks/Donald+Raab's+Smalltalk+vs+Java+Comparisons

Link to this Page