Books of a Highly Effective Programmer (2009)
blog.fogus.me
blog.fogus.me
7 books of a highly academic programmer.
A highly effective programmer probably should be reading other topics as to be honest, most of programming is laborious non comp Sci stuff.
FreeBSD,llvm,trac,vim - how to use sound engineering.
Seven Languages in Seven Weeks
The Art of Unix Programming
Another great topic is language development. This one probably sounds even more academic than functional programming! But this is not the case. In virtually every space, even the boring ones, you can make your code simpler and more maintainable by factoring it into a DSL. And this is exactly the skill you gain by looking at language design in general.
More generally, boring stuff is actually a great place to experiment with new techniques. Having a core problem that isn't terribly difficult can actually be an advantage: the problem itself does not distract you from trying new techniques. For example, if all you're doing is writing a bunch of GUI forms, you could consider trying FRP; it can make your code shorter and more maintainable and you almost definitely won't run into any of the current problems with FRP because all you're doing are simple forms.
Of course, if you're working on something boring and yet still interested enough in improving that you're willing to read a bunch of essays and books, you should really consider getting a more interesting job. And right now is the best time for it--the job market is crazy, so you have a decent chance of landing work that is both more interesting and better-paid.
And if you're content as is and not yearning for self-improvement--which is completely reasonable: not everybody can or should prioritize programming very highly--then you're probably not going to follow this blog's advice even with different books.
That would indeed be on my list of networking papers.
If so, shouldn't the book be broader by including more of literature on LISP or even AI programming in general?
The original 'Lambda the Ultimate X' papers are very short, so no reason not to give them a try.
Guy Steele is one of the greatest communicators in computer science. Brilliant and charming.
Check out as much of his stuff as you can, like Growing a Language (on YouTube and in print).
The closest I see to such a list is: http://www.eecs.berkeley.edu/GradAffairs/CS/Prelims/
http://www.cs.purdue.edu/academic_programs/graduate/curricul... Purdue's is a little more interesting but still will have to dig into the courses
that's like 10 years ago for me, it used to be easier to find lists of papers on this : ]
2. Some of this stuff is absurdly broad and weirdly pandering.
3. "I have no idea what the copyright implications of this are, so I will be printing out only my own private copy and not making them available publically;" is a totally inadmissible position for a professional programmer to have. The answer is, no, of course you can't make a printed compilation of other people's work and put it up for sale.
Probably, but as far as I can tell it's all a Google search away.
> 2. ... weirdly pandering.
Pandering to whom?
> 3. ... is a totally inadmissible position
This one has me flummoxed. Should I, as a professional programmer, have a complete working knowledge of copyright law? As it turns out, I do not, so I erred on the side of safety and never offered any of the articles up for sale. Or did you miss that minor fact?
A book on communicating designs (this helped me a ton even though I only use it where necessary which isn't too often) http://www.amazon.com/Applying-UML-Patterns-Introduction-Obj...
Also this was transformative for how I approach leadership: http://sivers.org/ff
Also the Lean Start Up was big in spite of the hype just for articulating how thinking strategically about what you're building and for who can lead you to success.
Hopefully that paints a picture of how I think this list could be better balanced.