Skip to main content

The CodeChat system for software documentation

Project description

CodeChat transforms source code into a web page, allowing developers to view their program as a beautiful and descriptive document by adding headings, formatting, hyperlinks, diagrams, images, and other forms of rich content to capture the ideas and insights that naturally flow from the process of writing a program. It also provides a blank slate in which to plan ahead, by sketching out an algorithm before committing it to code or laying out a design document which can evolve as the code does. This literate programming paradigm changes the way developers think by intermingling ideas with their implementation as code, dramatically improving a programmer’s abilities.

Background

Put simply, literate programming (LP) is the realization that a program is a document written to and for fellow programmers, not simply a list of instructions for a computer. LP tools therefore produce a nicely-formatted document which contains the code intermixed with explanatory prose. Donald Knuth introduced literate programming using his WEB tool in his seminal paper. Per Figure 1 of this paper, the WEB system takes a .w document as input then produces either a “tangled” source file for compilation or a “woven” document as a .tex file. The document is beautiful; the WEB source is difficult to digest (see Figure 2a-c); the source code is completely unreadable (see Figure 3). While a plethora of tools developed over the years attempt to address these problems, only one LP-inspired variant has gained widespread acceptance: documentation generators, such as Doxygen and JavaDoc, which extract documentation directly from source code, rather than extracting source code from the documentation, as WEB and most LP tools do. CodeChat addresses these LP weaknesses by producing a document directly from the code; employing human-readable markup (reStructuredText); and by supporting a GUI to make editing an LP document-program faster and easier.

Examples

Some examples of literate programming using CodeChat:

More information

Refer to the CodeChat docuumentation for more information.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

CodeChat-1.8.2.tar.gz (48.1 kB view details)

Uploaded Source

Built Distribution

CodeChat-1.8.2-py3-none-any.whl (54.2 kB view details)

Uploaded Python 3

File details

Details for the file CodeChat-1.8.2.tar.gz.

File metadata

  • Download URL: CodeChat-1.8.2.tar.gz
  • Upload date:
  • Size: 48.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for CodeChat-1.8.2.tar.gz
Algorithm Hash digest
SHA256 56dc1b756b9cc79a0576d82da59b8a6f82bd367234b17c6cf3fddff6dbb923dc
MD5 1fdd310507c773c861546630fa007bd8
BLAKE2b-256 d6113d77703afc8f92ed8ed8fd1d72af95c80f9b44aa92cc5adab8be08c8d515

See more details on using hashes here.

File details

Details for the file CodeChat-1.8.2-py3-none-any.whl.

File metadata

  • Download URL: CodeChat-1.8.2-py3-none-any.whl
  • Upload date:
  • Size: 54.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/47.1.1 requests-toolbelt/0.9.1 tqdm/4.46.1 CPython/3.8.3

File hashes

Hashes for CodeChat-1.8.2-py3-none-any.whl
Algorithm Hash digest
SHA256 f2b7101e410e564da130672ceeea4481fe3068a5edcf2178e4033182f226cbd7
MD5 9b0389bdf67ad4d3e1a281b2c4ef22c3
BLAKE2b-256 f7fd64a970a92ed7d467c3fb694bde8f25d1b64a7ae7294d641a47e191037778

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page