What it is, what it ain't.

topic posted Thu, October 30, 2003 - 4:52 PM by  Jeremiah
In order to immedietly start a flamewar, I'm going to lay down a few definitions that this tribe was created to operate with. We're concerned with languages where:

* Everything is an object
* Types are dynamic

Prototype based languages like Self are intended to be included as they meet the above.

This neccesarily excludes languages like C++: "I invented the term Object-Oriented, and I can tell you I did not have C++ in mind."
— Alan Kay

New to object-oriented programming? Curious about it? Check out the following:

* www.squeak.org/
* www.research.sun.com/self/

Have a different point of view? Then post! :-)
posted by:
Jeremiah
Wisconsin
  • Unsu...
     

    Re: What it is, what it ain't.

    Sat, November 15, 2003 - 3:16 PM
    Hey, man. Kenneth turned me on to this tribe.

    What it is... It's a different way of thinking. Moving away from clock-work, linear thought. It's more about designing a cortex that (limitedly) can operate on it's own.

    We've seen supposed OOP code that's really just a procedural solution stuffed into object structure. I've written aboniations like this myself. I think it's something that requires complete "buy-in".
  • Re: What it is, what it ain't.

    Sat, November 29, 2003 - 12:22 PM
    How about languages like CL (as in CLOS) or Dylan? Are they good?
    • Re: What it is, what it ain't.

      Sun, January 25, 2004 - 4:45 AM
      Welcome. Note my timely reply.:-)

      A different way of thinking is an understatement. It's understanding programming as a structural expression of the components, rather than a "this connects to here" linear expression of functions.

      That'd probably be an excellent debate/topic/brainstorm: a modern, experiential definition of OO...

      The last part, "procedural code stuffed into an object structure" has it's own name, "POOP", or "Procedural Object Oriented Programming"

      And I believe on the last point, you're correct. A "complete buy-in", though I think the term "complete immersion" sounds a bit more elegant. :-)

      What I've found to be a good starting point is just to look at Self or Smalltalk (Squeak) distributions and examine any given structure, see how it fits together. Principles at the low level are the same as principles at the high level. Nearly "kernal-level" code in squeak is as easy to understand as most of the widget classes. That level of consistant readability across the scope of a system is rarely seen.

Recent topics in "Object & Prototype Oriented (Pure)"

Topic Author Replies Last Post
Dev Advice, if anyone may. Please. Cris 0 June 7, 2005
Alan Kay lectures (video) Jeremiah 0 February 11, 2004
AOP Unsubscribed 2 February 11, 2004
Objective-C Jeremiah 0 February 11, 2004
dynamic language wizards videos Faried 0 January 10, 2004