4 ms·
Zed Shaw on Modern Literate Programming
- anupamkapoor 18y agobottom line : - tex / latex rocks - lp not so much
- SwellJoe 18y agoFrankly, I wouldn't want to argue with Knuth on very many things. While I don't get literate programming, I suspect he understands something that the rest of us don't (yet). And, I share his suspicion of most XP techniques.
- jrockway 18y ago> I share his suspicion of most XP techniques. Well, he is suspicious because he assumes people using XP are programmers. That's not correct. The idea behind XP is to get somewhat usable code out of non-programmers. Why companies don't just fire people that can't program, I'll never know... but XP does seem to work. Instead of getting unmaintainable, untested, half-working garbage, you get unmaintainable, tested, two-thirds working garbage. Oh yeah, now I remember why these programmers exist. Companies seem to value quantity over quality of programmers. That way people can be sick or go on vacation and you'll still get your two-thirds-working code. BRILLANT!
- SwellJoe 18y agoI'm not sure I buy this logic either. Programming is right in the name, and some proponents of XP are good programmers. And, I really don't see how horrible programmers would be made better by poor techniques (which I believe some aspects of XP are).
- jrockway 18y agoXP makes programming less like a creative art and more like checking off items on a to do list. You can't teach art, but you can sort of get people to do stuff on a list. Hence XP.
- deleted 18y ago[deleted]
- fa 18y agoJoe, are you a web programmer? I'm really interested in why people don't get LP because it was love at first sight for me, in theory at least. It'll help bridge the gap between writing journal papers that contain the theory and the code that implements/demonstrates the theory. The other day I got some code (calculating and displaying the Cramer-Rao bounds on radar parameter estimators) written by one of my professors who gives stunning lectures and writes excellent papers. The coding style was straight from the 80s... think Fortran. I think that's because nobody ever had to read his code, so although he got great at lecturing and writing, he never got to practice coding. And I think LP will help avoid that and encourage people to combine documentation, code, and theory. I think a very different set of constraints exist for web programmers and indeed for my own php/mysql-style apps, I can't imagine doing LP.
- SwellJoe 18y ago"Joe, are you a web programmer?" Yes, by some definition of "web programmer". (I work on Virtualmin, Webmin, and Usermin. So, a large percentage of my work is back end systems management with a web front end.) I've merely never committed the time to doing a project with LP. Which is why I included a (yet) in my comment. I'm not ruling out the possibility of some day falling in love with LP. It just hasn't happened so far. I think it's one of those things that requires quite a lot of up-front commitment to make use of, and so many projects start off as tiny "throwaway" projects and eventually grow large (or don't).
- benreesman 18y agothe only thing "fucking awesome" about zed is that he reminds me of maddox. what a poseur.
- jrockway 18y agoI'm not sure why he thinks literate programming source code is hard to parse. I would just implement it like this; normal text is normal text, program text is indented two spaces. Example: This is a super-fun algorithm. It is a function of super-fun-arguments, a list. (defun super-fun-algorithm (&rest super-fun-arguments) We start by parsing the super-fun-arguments into lists of foobars. See page 1234 for the parse-into-foobars utility function. (let ((foobars (parse-into-foobars super-fun-arguments))) OK, I'm bored now. But this is only tedious because I'm writing about irrelevant details (we all know what defun does, after all).
- bkbleikamp 18y agoHe seems to have a habit of always telling us how long it took him to do something, as though the amount of time it took makes it more or less impressive... I remember people doing this when I was 13 and hung out in graphic design forums - "This took me about 35 minutes...what do you think?" - it wasn't cool then, either.
- gus_massa 18y agoDon't get suckered in by the comments - they can be terribly misleading. Debug only the code. Dave Storer Cedar Rapids, Iowa
- Jesin 18y agoAhh, but if the code doesn't work, you can read the comments to figure out what it was supposed to do, and then fix it.
- baha_man 18y ago'If the comments and code disagree, then they are both probably wrong!' - I think that's from Code Complete by Steve McConnell, I'll check tomorrow. BTW, does anyone here rate Code Complete? I heard great things about it, but by the time I got round to reading it I found most of it was either out-of-date, blindingly obvious, or stuff I'd already been taught or worked out for myself.
- petercooper 18y agoIf more than a few people with print design experience would say that the leading in his PDF is good, I'll eat my hat. Admittedly, the document is good; the leading is poor.
- fa 18y agoDoes anyone know how hard it is to write a code highlighting mode for vim where it uses normally uses latex highlighting, and then switches to C or Python or whatever programming highlighting inside special delimiters, like "\code{}"? Then I can just write a perl script to mimic tangle and weave, creating code-only and latex-only text files.
- vasudeva 18y ago1) Read intro about how fucking awesome some document is. 2) Find link to the document; click link. 3) Error detected -- surely this loathesome-looking PDF isn't the fucking awesome document in question! 4) Hit back, re-parse intro looking for link to real document.