David Steuber on Sat, 28 Jun 2003 02:29:23 -0400 |
On Thu, Jun 26, 2003 at 08:42:58PM -0400, mjd-perl-pm@plover.com wrote: > > What if the source code for a software package such as Perl or Apache > HTTPD were derived from a wiki? Each wiki page would be a function. [MJD already said that each function would be a wiki page and that the project would be named "wiliki".] What about global variables, file scoped variables, function prototypes (ala C/C++) and such? Would each have its own wiki page? > Function calls would be hotlinked to their corresponding pages in the > wiki. Documenation would be more wiki pages; comments in the source > code might link to other wiki pages. I wonder how this would compare to Knuth's WEB and Literate Programming. Would this be Super-Literate Programming? ;-) > Anyone who wanted to make a change would do it. After each change, > the code would be automatically extracted from the wiki and rebuilt > and the automated tests (other wiki pages) would be run. If a change > resulted in new test failures, the test failures report would be > automatically added to the wiki, as an annotation to the change that > caused them. Here we run into a serious security issue. Someone could add nasty code that did something like `rm -rf \`. It would also not be hard to turn the automated test into a spam machine. How would this be dealt with? Is there a working Jail for Linux or some other way to sandbox the code? Do conventional wikis have problems with cross site scripting or popup windows? > Periodically, a snapshot of working code would be taken and packaged > and a new version would be released. Would this be automatic, or would a human decide that a snapshot release was appropriate? > If you don't like that anyone can change the source code, replace > 'anyone' with 'anyone on the development team'; wikis don't have to be > public. That would help with my security concern. Just some other off the cuff thoughts here... How difficult of a problem is it to parse source code written in an arbitrary language out of a wiki's page source? I expect this wouldn't be too difficult if the source was databased on the backend and the wiki page generated dynamicly. For things like C/C++ header files (and Java source files), it would probably be useful to be able to specify which file a function or variable, const, etc goes into. I'm sure this is obvious, but I didn't really see any talk of this in the thread. Could code dependencies be handled by wiliki, or would that be a testing issue? I'm thinking of #includes, requires, uses, things of that nature, not to mention linkage requirements for languages that go through a link stage. How long would it take to write a conceptual prototype? I don't really know if wiliki is a good idea or not. It sounds neat. That doesn't mean it would work well in practice though. Can some existing project be back-ported into a wiliki format for test purposes, or would an entirely new project have to be created from scratch? Hmmm. It would be an interesting excercise to bootstrap wiliki this way. Oh well. Just some random thoughts that may or may not survive GC. -- David Steuber | telco:610.436.1677 302 E Marshall St | http://www.david-steuber.com/ Apt 612 | West Chester, PA 19380 | Provoking new paradigms in thought and reason - **Majordomo list services provided by PANIX <URL:http://www.panix.com>** **To Unsubscribe, send "unsubscribe phl" to majordomo@lists.pm.org**
|
|