henso.com
Home
Archive
Search

rss feed for this page

DELI
HLM

LNGR
EURN
OON
CHLM
POOL
ELPH
RIST
SOFA
SENS
P3K
FM4
SCRP
MAL
RNS
GDNY
ELEG
OSNS
SLSH

Mozilla, baby!

antville.org
 Mittwoch, 25. April 2001 

Philip Greenspun: «A naive implementation from these specifications would result in the creation of six database tables: articles, comments_on_articles, news, comments_on_news, questions, answers. From the RDBMS's perspective, there is nothing overwhelming about six tables. But consider that every new table defined in the RDBMS implies roughly 20 Web scripts.»

A few days ago, I suddenly realized how prototype chaining could solve the problem Greenspun describes in the right way for Helma. In its current primitive stage, only functions and properties are inherited over Helma prototype chains. Database mappings are not, and this makes it necessary to define database storage with a separate table for each prototype. By making also the db mapping inheritable (just extend a relational prototype and don't define a separate db mapping), it will be very easy to define specialized prototypes by just overriding what needs to be overridden. For instance, on helma.org there could be prototypes called "question", "answer", "faq", "comment" which all inherit from the story prototype and are stored in the same story table, but override some functionality in story - either just the way they are displayed, or also the way they're edited, by whom they may be edited, created etc. Since objects with different prototypes are stored in the same table, there has to be a way to keep them apart, which can be done by defining a _prototype column in the database table where the name of the prototype is stored for each row/object.

I think when we get there the whole prototype hierarchy stuff that started with the one-for-all hopobject prototype will finally make sense.

From the triple-true department: «Let's go back to 1993. That's when we started developing the domain knowledge that led to the ArsDigita Community System product. Most people who've made money in the software business are those who wrapped their minds around a problem earlier than others. You can't base a business on "we'll be better programmers than the folks at Microsoft and Oracle"; each company has enough computer science PhDs and expert software engineers to bury 100 competitors. You can, however, base a business on "we'll attack this problem a few years before Microsoft and Oracle notice it and recognize it as a problem."» - Philip Greenspun again, via LNGR

Health update: I hope to be back working full time in about a week. Right now I do work a few hours each day, but I'm not yet fit enough for programming.


 chris , 25. April 2001 gegen 11:26 

Als Erster die Ideen und die Technologie zu entwicklen - fein, aber i.A. nicht besonders lukrativ. Als Erster eine Wertschöpfungskette (inkl. Kunden sogar) einem mehr oder weniger neuen (bzw. unbearbeiteten) Markt zu implantieren - winner.

Log in to add your comment!

Not logged in. Click here to log in.

 comments