> CWEB is a version of WEB for documenting C, C++, and Java programs. WEB was adapted to C by Silvio Levy in 1987, and since then both Knuth and Levy have revised and enhanced the system in many ways, notably to support C++ and ANSI C. Thus CWEB combines TeX with today's most widely used professional programming languages.
> If you are in the software industry and do not use CWEB but your competitors do, your competitors will soon overtake you---and you'll miss out on a lot of fun besides.
I guess it never took off due to the "I'll do it latter when I have time mantra". Documenting and testing are always seen as low priority.
Trying to convert maxcliques.w but it rightfully warns about missing gb_types.w
Is there a zip file with all programs and dependencies?
texlive-binaries ctangle also seems to be losing some formatting.
Literate programming is an interesting idea from academia, but in the engineering environment of most startups it's a waste of time. Our program sources are annoying byproducts of a business, not something of value unto themselves.
I've seen quite a few startups fail because they had a smart, but completely undocumented code base. Then the smart programmers leave and who is left cannot handle the code and new hires take too long to get into it. Then funding runs out and the apparent lack of progress ensures that nobody wants to put more money into the company.
> Literate programming is an interesting idea from academia, but in the engineering environment of most startups it's a waste of time.
Amazingly, we're actually getting back to something that resembles literate programming - via TDD. Instead of asking for a proper spec, we now ask for test definitions that the code must pass. Those can even be written in something that is pretty close to natural language (cucumber etc) so that management can write them. Then we spend time to make the test framework understand all those pseudo-natural-language test definitions and then we finally write the code. Is that really faster? Or are we just missing the tools that would allow us to tie a natural language specification to code?
This sounds so familiar ...
Then the engineers get to program in a less-powerful, more cumbersome language.
Maybe not ruined, but certainly severely hampered. I worked for several months with an original author of a 1M LOC application, and he was let go because the company was too cheap to re-up his contract. The documentation in that time was barely passable and it took many months of tweaking and breaking things just to get back to the point of becoming productive again. No one had a well-documented procedure on how to even compile the code until I decided to set my tasks aside(to my own schedule's detriment) so I could document all the steps and dependencies along the way. Luckily for them the company was well established and could afford the wait, others may not have that luxury.
I didn't say it had no value in general, just in a particular context.
brew install cweb
On my GNU/Linux box:
tar -xzf sgb.tar.gz
okular back-pdi.pdf &
gcc -o back-pdi back-pdi.c
back-pdi 2 1
If I remember correctly, the GraphBase source files start with the gb_ prefix (sorry, I'm ony phone so can't check).
Note: the Stanford GraphBase for me is an example of how a full blown library can be beautifully written in a literate style. Worth buying the hardcopy and reading it.