5 ms·
Lisp Hackers: Peter Seibel
- spacemanaki 14y agoI'd love a book on statistics for programmers written by Peter Seibel. I know there's Think Stats, and that's a pretty good book, but I'd be interested in a Lisper's take. PCL and Coders at Work are really great.
- mahmud 14y agowhat makes a lisper better at statistics teaching and exposition than a non-lisper? (say, a trained maths educator?) fwiw, creators of R are Lisp weenies, so you might wanna look there more carefully :-)
- calibraxis 14y agoI actually have the same feeling as the previous poster. I'd buy/kickstart his stats book in a heartbeat. I don't think Lisp users would be "better" at teaching stats in some objective sense, but many of them (not all) have a certain turn of mind which looks like "clarity" through my subjective lens. It is probably like Michael Spivak writing _Physics for Mathematicians_, because he didn't understand physics books written by physics people. PDF where he explains his troubles with elementary physics: (http://www.math.uga.edu/~shifrin/Spivak_physics.pdf http://www.math.uga.edu/~shifrin/Spivak_physics.pdf)
- mjw 14y agoCombining the above with the original comment, check out Structure and Interpretation of Classical Mechanics: http://mitpress.mit.edu/sicm/ http://mitpress.mit.edu/sicm/ Physics explained by lispers! using consistent notation!
- apgwoz 14y agoWoah! Does this exist in PDF form somewhere? In fact it does: http://www.fisica.net/mecanicaclassica/struture_and_interpretation_of_classical_mechanics_by_gerald_jay_sussman.pdf http://www.fisica.net/mecanicaclassica/struture_and_interpre...
- mahmud 14y agoI also loved the Berkeley book, Structure and Interpretation of Signals and Systems. Went down well with a 5 week daily diet of "Thinking in Systems: A Primer".
- spacemanaki 14y ago> what makes a lisper better at statistics teaching and exposition than a non-lisper? (say, a trained maths educator?) Nothing really, but I think the code portions of a book like that might be interesting. Allen Downey's book has a bit too much layering of OOP for the sake of OOP for my taste. Check it out if you haven't, he builds up classes for most things where simpler data structures could be used, and ends up wrapping everything in what's effectively a custom API.
- Graphon 14y agoFunny - when looking at a codebase for the first time, I do almost exactly the same thing as described by Mr Seibel: I start rewriting it. I rename functions or methods that I think have poorly chosen names, I rename the names of fields, variables or parameters for the same reason, I refactor, restructure, and reformat the code to look like I think it should look, and so on.
- spacemanaki 14y agoThat sounds like it could be really beneficial to understanding a piece of code, but it seems like it would only ever be really feasible if you were working alone and taking some code from somewhere else and completely consuming it, into a new project like Toot and Whistle or into some other existing project. Most of the times that I've needed to ramp up understanding of some code is either at a new job or before contributing to some existing project. Would you do this after starting at a new job, and make this your first commit? Or before contributing to open source? I could envision some awkward social problems arising there. If you kept that code to yourself, but continued working on the old code, that would probably be frustrating. I'm just curious because I'm really attracted to the idea of this method but am not sure if it would really work where I'd want it to.
- gigamonkey 14y agoAs I think I mentioned in the interview, I've found that if I do this, by the time I'm done with my rewrite, I actually understand the original code too. So if I had to, I could throw away my new (better?) code and still benefit from a better understanding of the original code.
- agumonkey 14y agoFunny, it's a thing I repressed myself doing, always wondering if static analysis (call graphs and such) wouldn't be better. <sidenote> There should be a site with a substantial piece of code to discover and people would answer what were the main (3-5) steps they had to do to ~understand it and how long.
- 14y ago
- abecedarius 14y agoFrom time to time I imagine a language that lets you write constraints on your code in the language yourself — kind of like macros but instead of extending the syntax your compiler understands, they would allow you to extend the set of things you could say about your code that the compiler would then understand. Auditors in E: http://www.erights.org/elang/kernel/auditors/ http://www.erights.org/elang/kernel/auditors/
- AutoCorrect 14y agocompletely off topic, but when I started reading your comment, the 'inner voice' was C3PO...
- kinleyd 14y agoGreat interview. And thanks for the reference to 'Coders at Work'. Greatly enjoying reading it.