3 ms·
Telling computers what to do and how to do it is an art, a craft, a practice, a discipline, a medium, a profession, and a science (and probably a few more categ
by webmaven 4y ago
Telling computers what to do and how to do it is an art, a craft, a practice, a discipline, a medium, a profession, and a science (and probably a few more categories besides). It is just isn't (usually) all of those things at once. Most of the difficulties we have in discussions about the subject have to do with category errors. Literate Programming has stylistic, technical, toolchain, and disciplinary aspects, and Knuth's exemplar demonstrated these. It was then critiqued on pragmatic grounds. I'm not sure if this counts as a bait and switch, rope a dope, or strawman.
I mean, if I was participating in a computer programming class and given the same problem as an assignment, I would write a program to satisfy the requirements. If then told that I should have written a few lines of shell script instead and given a poor grade, I would be livid at the instructor.
As an aside, I was interested to know if there are LP tools for shell scripting. A cursory search turned this up:
https://github.com/bashup/mdsh https://github.com/bashup/mdsh
- bitwize 4y agoYou can literate-program anything with Emacs org-mode. Tools like noweb are also inherently multi-language.
- bmacho 4y ago> As an aside, I was interested to know if there are LP tools for shell scripting. jupyter + xon.sh kernel almost can do it too. Well notebooks aren't exactly to explain programs but to experience with them, no weave or tangle, you can only execute them if your cells are in top-down order. Anyhow, being able to save the experimentation fragments can lead to better documentation compared to when you experiment in a different terminal.
- abathur 4y agoA near non-sequitur per your aside (I agree with the rest...): https://github.com/bashup/events https://github.com/bashup/events is one of my favorite little things. I even blogged about it in January!