|Written by Lucy Black|
|Saturday, 16 December 2017|
Programmers aren't difficult to please, you just have to give them a few bits. But seriously, what do you want this holiday season? We have been having fun looking for things we'd like to get.
This is the second of our features on presents suitable for programmers and for programmers to give. Yes it is commercial and if you buy any of our suggestions we get a small affiliates reward which helps to keep the lights on, but our recommendations are based on our enthusiasm not financial gain.
This time we all offer some suggestions.
Just click on a picture to get more details.
Mugs, yes we all know the one about a programmer is a machine for turning coffee into code, but some mugs are deeper and more profound. Mike James says that he cries every time he has to drink coffee from this mug - and yes we do force him to use it:
When any one tries to find out what it is that reduces him to tears all he can say is "so true, it's so true...." If you want to drown your sorrows even more then you need to get the mega 20oz version, but we keep that one away from mike because he might throw himself in.
You may have heard of The Art of Computer Programming (TAOCP) by Donald Knuth. You may even have tried to read a page or two and given up. It is rumoured that there are more copies of TAOCP sitting on shelves almost untouched by human eye than those well-thumbed and read cover to cover. Cynics might even say that this is true of nearly all books apart from the top best sellers.
But to return to the point - while you could get or give TAOCP as a present, there is an even better idea. The book Concrete Mathematics is by Ronald L. Graham, Donald E. Knuth, Oren Patashnik so it is one third Knuth. Moreover, if you are hoping to read some of TAOCP it is the book you might want to read first because it covers the math that will make the task a lot easier. I can't promise that you will finish all of the volumes of TAOCP, but then again - neither has Knuth.
This is a tough book but very rewarding and it you do finish it and understand it you will be able to do the sort of deductions that are all over TAOCP.
Talking of heroes of computer science, John Conway, the man who invented the "game" of Life has never written a book about it, but he has, together with Elwyn R. Berlekamp and Richard K. Guy, written the four-volume work Winning Ways for your Mathematical Plays. You don't have to read the lot and I strongly suggest that you start with Volume 1 and see if it is useful to you. It isn't a book about programming games, rather it is about analysing games and, as it says, finding winning ways. Volume I introduces a lot of simple games and explores ways of working out how they work.
The remaining three volumes continue in the same way, tackling a wider range of games and extending the method. It is probably worth saying that the games are things like Nim, peg solitaire and a lot of things you will never have heard of.
Another classic that every programmer should be forced to read before they are allowed near a compiler is Dijkstra's A Discipline of Programming - a sort of 110010 Shades of Grey for programmers. Actually it's a very gentle persuasive sort of book. You will have to try to remember that Dijkstra was writing in an earlier time and hence his technology might seem a bit strange, but his sentiments should be right up to date.
Unfortunately the book with the most important essay by Dijkstra is out of print. Structured Programming was a breakthrough book and it still is.
If you can find a secondhand copy, buy it and read it.
What connects the next three books is the mind of the amazing Randall Munroe. You may know that I Programmer runs cartoons from xkcd on its front page, but did you know you could get a book full of the same?
We all know that programmers count from zero, so this really is the first volume.
If humour isn't your thing, then try either of Randall's two "factual" books. The amazing thing about Thing Explainer is the detail and accuracy of the drawings. You can even see an accretionary prism in the drawing of the subduction zone - and I bet you never thought you'd see the words "accretionary prism" in I Programmer!
What If? is a book of reasoning about physical principles and how you can deduce what happens in strange, and hopefully hypothetical, situations.
Finally, let's end on a children's book much liked by Janet Swift and to be honest by all of us. You don't have to be a child to enjoy the fantasy of Lovelace and Babbage:
Ah, how things might have been if only Babbage had built his analytical engine.
Programmers Xmas - Alexa Suggest Some Presents
Free Software Foundation Fun For Xmas
The Art Of Computer Programming The Ace Gift For Any Programmer
To be informed about new articles on I Programmer, sign up for our weekly newsletter, subscribe to the RSS feed and follow us on Twitter, Facebook or Linkedin.
or email your comment to: firstname.lastname@example.org
|Last Updated ( Sunday, 17 December 2017 )|