Programming In Wiki

Why shouldn't programming be as easy as wiki?

Easy to navigate, easy to document, easy to share comments, easy to peer review, programming by gradual accretion ... massive re-use through linking to defining WikiWords, can be programmed linearly, chaotically, rapidly.

Why shouldn't an IntegratedDevelopmentEnvironment be like wiki?

Why shouldn't an IDE BE a wiki? (good question. See WikiIde.)

Why is programming harder than sketching algorithms and diagrams in a notebook?

Increasingly the PainOfProgramming comes from managing such rigid development environments. Think of the multiple files we manage, in different languages, in different file systems. The XML configuration files. The SQL scripts to build databases etc.

Now imagine all these different files replaced by WikiPages.

Imagine if we could

At the moment, WE do the hard job of arranging things for the environment. But a make script could easily crawl a wiki picking up various pieces of code, data in order to build source files, config files, etc.

The make script would itself be written on a wiki page for easy reference. It could save the various components in their traditional places before calling the compiler.


Are the LiterateProgramming people converging on something parallel to this?

But I want something less structured. Code embedded in wiki rather than comments embedded in code.

LiterateProgramming is supposed to be code embedded in documentation rather than comments embedded in code. Take a look at TexTheProgram. Granted, we're accustomed to BarelyLiterateProgramming (JavaDoc etc.), but that doesn't mean all programming has to be like that.

I wonder if an existing LiterateProgramming tool could be adapted to crawl a wiki. Seems like a good way to handle collaborative projects. There might potentially be a problem with dependencies (look how long it takes pages to get ReFactored here) or in ConcurrentEditing?, but in does seem like the ultimate in Bazaar-style development.

I love LiterateProgramming. Nonetheless, the biggest problem I have with LiterateProgramming, and the one thing that keeps me from using it beyond toy projects, is the difficulty of keeping the documentation and the code in sync. --SamuelFalvo?

The first paragraph builds a vision far beyond just mixing code and documentation - it's programming in a collaborative environment: users and programmers changing code fragments or modules whenever needed. The WikiIDE will care for version control and data migration. In my opinion if ProgrammingInWiki becomes real this will change everything we knew about SoftwareDevelopment. CommunityProgrammedWiki could be a first step -- MirkoBlueming and the PfompVision.


Sean McGrath? on mixing code and data: http://www.itworld.com/nl/ebiz_ent/03112003/


I have taken the first steps down this path for a project which I have all but abandoned (attention deficit :) ). Over on my wiki, I have a utility called WikiExtract. It crawls my wiki and pulls out specially-formatted PHP code. You can look at (but not run) the source code at:

http://www.llamacom.com/~sky/wiki/phpwiki-1.3.3/index.php/WikiExtract (404 - File not found! Try http://web.archive.org/web/20050326181313/http://www.llamacom.com/~sky/wiki/phpwiki-1.3.3/index.php/WikiExtract. -- 20060328)

Note that it's tested only on my wiki, which runs under PhpWiki, and it only writes into my directory. Feel free to grab it and modify, though.

-- PatrickConnors


I have my own UnfinishedProject? here (a wiki with code generation): http://www.nooranch.com/synaesmedia/beach/wiki.cgi/CodeGenerationExperiment. (BrokenLink 20070402) -- PhilJones


Ned Gulley wrote an interesting article on a closed access wiki-like programming competition, really goes to show the speed benefits of such a system above a standard comparable OSS system; blowing away the (already pretty small) restrictions to editing placed on traditional OSS projects seems to make a huge difference. http://portal.acm.org/ft_gateway.cfm?id=986264&type=pdf&coll=GUIDE&dl=GUIDE&CFID=37969099&CFTOKEN=20840995

You can also find this paper at http://www.starchamber.com/gulley/pubs/tweaking/tweaking.html. Content is merely -> "Describe the new page here"



ProgrammingInWiki - MultipleIndependentLanguages -- DonaldNoyes 20100714 20120523


See WikiWithProgrammableContent, SoftWiki, XpSystem, SelfProgrammingWiki, HyperPerl, LanguageOrientedProgramming, WikiIde
CategorySourceManagement

EditText of this page (last edited May 23, 2012) or FindPage with title or text search