[1 of 10] Why Ruby on Rails?
1. Ruby
I gave a little talk on Ruby at today's VALE-NJ Technology Awareness Group meeting, and so I'm using my slides to finally kick off this vaporseries.
[Slides are embedded as Flash here if you're reading in an aggregator.]
It seemed to be taken pretty well, though it could easily have been dismissed as the fanboyish ravings of a neophyte Rubyist. The folks from Rutgers were interested in having me come talk to their software architecture group, so it couldn't have gone too badly, I suppose.
I need to stop cramming so much into presentations. Rambling about reflection and OO at a speed the Micro-Machines Guy would envy isn't the best way to share enthusiasm about Ruby.
The rest of the meeting was interesting: Ron Jantz, the Digital Library Architect at Rutgers, posed a number of challenging questions about trust, authenticity, and reliability in the digital realm; Terry Catapano, Special Collections Analyst at Columbia, exposed the lack of data model inherent in many current metadata schemas and suggested ontologies as a potential direction; and Jeffery Triggs, Applications Programmer at Rutgers, demonstrated the Java DjVu Viewer Applet for displaying DjVu-based images outside the DjVu browser plug-in. Many good questions were asked, and new faces were in the crowd, so the future of TAG seems to be bright.
I'm hoping to follow up my Ruby talk with another on Rails. That was my initial goal for today, but there was far too much to cover, knowing the audience was relatively new to both technologies.
Object-oriented ontology: conceptual claptrap
I have idly been considering the ontologies proposed by Gottlob Frege in The Thought, and revisited in Karl Popper's Objective Knowledge, in which there are three distinct realms of existence. Moreover, I wonder how envisioning such ontologies from an object-oriented perspective might provide a structured way of thinking about existence without need of dualistic theories.
A good question to raise is "what particular reason might you have for thinking that an object-oriented perspective is at all relevant here?" I have no answer for that other than "if we can mash-up web services, why not theoretical frameworks?" A glib and dorky answer, I admit, but I challenge the reader to name but one discipline where this sort of haphazard duct-taping of theory does not occur. But I digress.
In both of these ontologies, the first realm is that of physical objects: things one can see, smell, taste, touch, or hear. (This is an oversimplification, of course. One risk is suggesting that subjective perceptions, such as hallucinations, are objective phenomena perceptible by others. If I see a flying pink elephant and no one else does, is it "real?" I also run the risk of hinting that imperceptible, physical entities do not exist.)
The second realm consists of mental entities, though Popper and Frege diverge at this point. Whereas Popper thinks all non-physical entities live in the second realm, Frege confines the second realm to only those non-physical entities which consist in private or subjective ideas. Take the example of the concept of pi and my belief that "beer is good." Popper would say that both of these entities belong in the second realm of his ontology: Frege would say that only the second is a second-realm entity.
The latter notion makes more sense in light of Frege's third realm, that of objective, non-physical entities. A good example is the Pythagorean Theorem which exists independently of the mind of Pythagoras; although Pythagoras discovered the Theorem, it was not a private or subjective idea of his invention; it was merely his expression of an otherwise objective property of the physical world (i.e., first realm), which anyone of a certain intellect might have discovered upon due thought and experimentation.
Popper lumps the Pythagorean Theorem, which Frege considers to be an objective entity, in with other subjective entities such as my idea that beer is a tasty beverage. Popper sees the third realm as "the totality of all human thought embodied in human artefacts," a realm of objective knowledge. However, does he mean to suggest that a subjective, second-realm idea committed to a physical, first-realm object becomes something ontologically different upon their combination? Do these entities warrant their own realm of existence? Popper's vision of third realm sounds more like an interface between the first and second realms than like a realm all its own. An example of such an interface is human perception, which allows us to form second-realm ideas about first-realm entities by virtue of our innate sensory and cognitive abilities.
Frege's and Popper's views may be simplified by thinking about ontological realms in terms of object orientation as this perspective defines clear and structured relationships that are applicable to such thought. Issues such as the nature and number of interfaces between the realms and the consumption and immensity of space in the realms, for instance, may be addressed with conceptual apparatus that already exist in the object-oriented perspective. An ontology consisting of one object-oriented realm, rather than a number of realms, also has the benefit of emerging from the murky depths of dualism, for those who are inclined to reject dualistic theories.
An object-oriented ontology based on Frege's conceptual divisions, summarized very briefly, would view: the physical realm as the main container object, that which contains all other objects, consisting of electro-magnetic radiation, matter, and physical forces; mental realms as distinct member objects of the physical realm, particular and distinct configurations of energy and matter resulting in concepts that are physically imperceptible; a "realm" of public, objective, non-physical entities as properties of first-realm objects, which are perceptible in the first realm and deducible (a la Pythagoras) in the second realm.
For a better thought out alternative object-oriented ontology, see Object Orientation Redefined.
