Friday was the last day of normal class. So strange to be done this early, but I want to see what other people did with their projects. I wanted to wait until people presented to see what people's sites were like, but we have to look at them to finalize our "what is better/worse" part of the presentation. We will be the very last ones to present, so hopefully we make a nice finale.
As with many projects, I'm not completely satisfied with our project's final state. We had tons of ideas (especially on the visual side of things) to make it better in terms of an end user. I really appreciate user-friendly sites, which as I've learned through this project as well, not everyone really cares about. I think it's kind of a shame that more people don't care about the all around user experience rather than just piling on more functionality. I thought by this point that people appreciated the joy that beautiful and easy to use technology brings to people. Of course, there is this whole thing about this only being a school project, and I'm bringing my full blown user oriented thoughts to a product that doesn't have many future users. :)
This week was pretty cool. I wish there were more design patterns covered in this class, but alas. I'm really amazed that it took me this long to learn that Reflection is possible. It's pretty damn awesome. On Friday, we kind of shoved some ideas into class quickly. For factories, the examples were given in Python only and not Java for lack of time. I was walking through the example, but all I could think is. OMG I WANT TO USE THE POWER OF PYTHON. The thing I reallly wished would happen from the beginning was:
def create_maze (room, door) :
m = Maze()
m.add_room(room())
m.add_room(room())
m.add_room(room())
m.add_door(door(m.room(0), m.room(1)))
m.add_door(door(m.room(1), m.room(2)))
return m
-------------------------
>>> maze = create_maze(Room, EnchantedDoor)
>>> type(maze)
<class '__main__.Maze'>
>>> type(maze.room(0))
<class '__main__.Room'>
>>> type(maze.door(0))
<class '__main__.EnchantedDoor'>
But instead, we had to add lots of extra code which is necessary to do the same thing in Java, but not necessary in Python for accomplishing the end goal. It's all part of the pattern, I guess.
RANDOM! For you kids that really love your CS and just really want to take more classes next semester, here's some free online CS classes from Stanford starting in January.
No comments:
Post a Comment