Designing extensible, interactive systems
Posted
by
vemv
on Programmers
See other posts from Programmers
or by vemv
Published on 2012-11-19T18:09:55Z
Indexed on
2012/11/19
23:22 UTC
Read the original article
Hit count: 240
architecture
|Extensibility
Steve Yegge's The Pinoccio Problem describes a very special type of program: one that not only fulfills the original purpose of its creators, but also is capable of performing arbitrary, user-defined computations.
They typically also host a console, by which one can reprogram the software on runtime, maybe persisting the modifications.
I find this problem very hard to reason about - there seems to be a conflict between implementing the 'core modules' of a program, and making the system really implementation-agnostic (i.e. no functionality is hard-coded).
So, how to architecture such a program - what techniques can help? Is it a well-studied topic?
© Programmers or respective owner