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 3 - Travis Shepherd

Describe a problem you have encountered in Squeak:

Often times it is important to know the type of a variable in order to create or extend functionality in a program. Squeak, being not strongly typed, is horrible in this regard. Looking at code, it is impossible to tell the underlying type of a variable, and as such, impossible to tell what kind of messages that object can accept. This makes it very difficult to use any preexisting code, as you have to look for context clues and decide the type of an object based on what messages the previous programmer sent to it. Many times I find myself digging through poorly documented Squeak code, tracing a variable around until I can find a message with a unique enough name to identify the object. This is probably more of an issue with Smalltalk than Squeak, but I find it highly detrimental and to be in complete opposite stride of good object-oriented practice. I never came up with a good way to solve this problem other than finding a message that would identify the object (which is not always easy, especially with an inheritance hierarchy). The only way to truly know an object's type is to send it the Class message, but that requires a lot of setup and modification of internal Squeak code to find something that should be simple to find.

Discussion 3 - Trevor Bentley

This helps a lot in trying to find out what type a particular variable might be. It may not be exact, but it does narrow down the search significantly and does so quickly.

Discussion 3 - Laura Parker

I agree wholeheartedly. Since Squeak itself is basically just a fancy framework for Smalltalk with its own special IDE, it can be very confusing for those of us (everyone) who already know how computers and programs operate. It makes no sense to switch gears and try to teach Computer Science majors a new langauge from the perspective of children who don't know what's going on. We already understand advanced concepts, so there's no need to hide the "fancy stuff" from us. Objects and Design should be taught in an advanced language from an advanced perspective - not an archaic, proprietary language from a beginners perspective.

Links to this Page