Ask HN: CS and programming books of 2017
My suggestion: Clean Architecture by Robert Martin
My suggestion: Clean Architecture by Robert Martin
Yegor describes what went wrong with object-oriented programming. Whether you are stuck with Java or broaden your horizon, I can really recommend this book series, as it shows nicely how to deal with object-oriented code in the right way.
What was eyeopening for me was that code, written after some of the rules he proposes, becomes indistinguishable from functional programs. One example of a tree of objects resembles a LISP program. This all made me realize how flawed some of the arguments are that to me seem to divide the functional/types and OO camps.
https://www.amazon.com/Elegant-Objects-1-Yegor-Bugayenko/dp/...
https://www.amazon.com/Elegant-Objects-2-Yegor-Bugayenko/dp/...
The books are short and relatively expensive, but Yegor claims to refund 20 euros for everyone who is willing to write a blogpost.
Wickham's R for Data Science came out in December 2016, I'd like to pretend that counts as 2017: http://r4ds.had.co.nz/ It's a very complete introduction to the tidyverse which makes working in R much more pleasurable.
The second edition of Python for Data Science came out in October 2017 - that one focuses on Pandas, numpy and Jupyter notebooks, reasonably good introduction to those libraries.
The second edition of Sebastian Raschka's Python Machine Learning came out 2017 too - that one focuses more on scikit-learn and tensorflow, have only heard good things but haven't read much in it.
https://news.ycombinator.com/item?id=14790251
As for 2017 CS books, I'd second Designing Data‑Intensive Applications.
If we count updates, the latest revision of The Swift Programming Language is solid. My forays into Swift have been enjoyable.
This last one is kinda cheating since it's continuously updated, but I'd highly suggest browsing through the HTML Living Standard [0] and reading any parts that grab your attention.
EDIT: Looking through whatwg's news, I found out there's a developer edition [1] of the spec which strips the stuff that's only relevant to browser developers.
Good books have figures. The best books have figures and textual explanations to go with them.
- The diagrams would need to be re-traced and any printed labels replaced with braille ones.
- As braille characters can often take up more space, the labels might need to be shortened, meaning that a separate diagram key would need to be prepared.
- These are technical diagrams, so if you redraw them at the same scale they appear in the book they might not necessarily be understandable in a tactile form.
In terms of money, if you can get away with using A4 paper, the particular type you would need costs £0.38 per sheet. If you need to use A3, it's £0.77 per sheet. Many commercial transcription services, when you take into account the labour costs of adapting the diagram, will charge £70 plus per image, and £3-5 for additional copies if you need them. There are free transcription services provided by charities, but the staff are not experts in preparing technical diagram material and the turnover time can be six months or more.
TL;DR - it's not worth it. Producing one tactile figure would cost twice the cost of the book. I don't know how many figures there are in total.
https://amzn.com/B06XNKV5TS ($24.99 Kindle)
This book has picked up quite a bit of buzz as an intro to machine learning. https://news.ycombinator.com/item?id=15772174
>cloverich: The quality of the book (thus far) is so high that I immediately started Googling about the author to try and learn more
>chillee: He used to be the PM of youtube video classification too.
Also Deep Learning: A Practitioner's Approach by Patterson and Gibson.
https://www.amazon.co.uk/Effective-Java-Joshua-Bloch/dp/0134...
[1] Live demos with more interaction coming very soon!
TDDwI is also my pick for the year. It's really well done.
A really interesting dive into looking at common apps and industry problems from alternate perspectives, as well as how bias affects technical and design decisions in software. Not super technical per se, but it's pretty short and raises great and timely questions.
https://www.amazon.com/Technically-Wrong-Sexist-Algorithms-T...
Computer Age Statistical Inference: Algorithms, Evidence and Data Science
(Also: I'm following along with "crafting interpreters" and not writing my interpreter in java, have had no troubles)
Programming Beyond Practices: Be More Than Just a Code Monkey
https://amzn.com/B01LYRCGA8 ($14.99 Kindle)
>"a sense of how a very experienced developer sees the world an[d] approaches decision making"
Maybe the ZenFounder book helping founders maintain their mental health will make it out before the end of this year!
https://zenfounder.com/entrepreneurs-guide-keeping-st-togeth...
Edit: just got an email - nope, delayed til 2018!
https://www.amazon.com/gp/product/1785883054/ref=ox_sc_act_t...
For example someone else mentioned this book. https://www.manning.com/books/deep-learning-with-python
It's available as two options...
combo $49.99: pBook + eBook + liveBook
eBook $39.99: pdf + ePub + kindle + liveBook
Personally, I prefer paperback books, but I'm willing to try out something digital. Do any digital options allow me to take notes? I currently own a Lenovo X1 Yoga which folds completely into tablet mode and has a very nice stylus. Does any Windows software allow me to read one of those digital formats and take notes?
Thanks, ~Eric
MS OneNote allows you to annotate PDFs, and Adobe Acrobat reader has some annotation capabilities (and their paid version annotates well).
I usually annotate PDFs on my mac, which is not great for reading :)
Today this one, and all of their MEAPs are 50% off with the code: dotd120817lt
Professional PHP: Building maintainable and secure applications
I have recommended this to everyone.