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

Blake O'Hare

Hi, I'm Blake.

email: gtg377h at mail dot gatech edu
aim: Push the Humans when I'm in my dorm. Shove the Humans when I'm roaming about.

I'm a 4th year CS major and I switched from Architecture.

This semester's classes {
    Objects & Design;
    Computer Graphics;
    Computer Networking;
    Computers & Society;
    TAing for CS1315;

I also run two websites:


Survey of Object Oriented Programming Languages

    Simula is widely regarded as the father of object oriented programming languages. Because it was first it did not have support for things considered common in OOPL's such as dynamic dispatch. Smalltalk was invented by Alan Kay after basically getting fed up with Simula-I. Smalltalk was built on the principle that you should use inheritance for specialization of objects and that subclasses should be able to act like their superclasses without fear of errors. Modula-3 is a strongly typed language and featured private and public methods, parent-method overriding, and abstract classes. Self was based off Smalltalk but doesn't have any classes. Instead, it uses a system of prototype classes and "cloning". C++ is, of course, based on the C language, but has Object Oriented features built onto it. Although one of the more powerful and modern Object Oriented languages, the language specification is not always specific enough about features interact, and many implementations of C++ are not compatible. Java was created in frustration of C++ for programming embeded Systems. Some key features of Java are platform independence, garbage collection, and Remote Method Invocation, which always transferring objects between virtual machines.

Discussion 3

There's a few user interface problems that I have found a real hinderence to working efficiently in the Squeak interface...
1) If you modify a class, and while you're modifying it you need to double-check something in another method in that class, you HAVE to accept the changes in order to look at the other method. I'm the kind of guy who uses eclipse and makes full use of dozens of tabs at the top to flip back and forth from without having code compiling and running in real time. The way I get around this is I usually open a few browser windows for the same class. One for editing and one for browsing. However this is another problem because the space in squeak is very limited and there is no "taskbar" to efficiently find windows that are buried. If you open something important and you have a bunch of other morphs and windows in front of it, happy treasure hunting!
2) The cursor has focus wherever the mouse is. This is slightly minor, but it gets me every time. When I want to type in a text box, I have been accustomed to click in the box and then flick the mouse away to guarantee that it doesn't hinder my view while I'm typing. Then I start typing in a different box and mess something up.
3) Sometimes the world menu doesn't come up when you click in the background after blue-clicking somewhere else. Usually if you do a series of red or yellow clicks elsewhere and then try again, then it usually fixes the problem. Usually. Other times you find yourself madly clicking trying to "recalibrate" the click action. It's not too bad, but (on a few occasions) during my mad clicking sessions, the world menu suddenly popped up and I accidentally click on the "save" option thus saving the original .image file in a state that I would rather it not be in.

Discussoin 4 - Java to Smalltalk brief rundown


Java Smalltalk
Methods can be public or private All methods are public
Instance variables can be public or private All instance variables are private
Abstract classes Everything is just straight inheritence
Types All values are objects

Syntax differences

Links to this Page