Programming in Scala
Martin Odersky, Lex Spoon, et al.
4.7 on Amazon
42 HN comments
The Art of Doing Science and Engineering: Learning to Learn
Richard W. Hamming and Bret Victor
4.7 on Amazon
40 HN comments
The Master Algorithm: How the Quest for the Ultimate Learning Machine Will Remake Our World
Pedro Domingos
4.4 on Amazon
40 HN comments
Operating Systems: Three Easy Pieces
Remzi H Arpaci-Dusseau and Andrea C Arpaci-Dusseau
4.7 on Amazon
40 HN comments
Start with Why: How Great Leaders Inspire Everyone to Take Action
Simon Sinek
4.6 on Amazon
36 HN comments
Java Concurrency in Practice
Brian Goetz , Tim Peierls, et al.
4.7 on Amazon
34 HN comments
Countdown to Zero Day: Stuxnet and the Launch of the World's First Digital Weapon
Kim Zetter, Joe Ochman, et al.
4.7 on Amazon
34 HN comments
Managing Humans: Biting and Humorous Tales of a Software Engineering Manager
Michael Lopp
4.4 on Amazon
33 HN comments
The Innovators: How a Group of Hackers, Geniuses, and Geeks Created the Digital Revolution
Walter Isaacson, Dennis Boutsikaris, et al.
4.6 on Amazon
31 HN comments
Elements of Programming Interviews: The Insiders' Guide
Adnan Aziz , Tsung-Hsien Lee , et al.
4.6 on Amazon
31 HN comments
Accelerated C++: Practical Programming by Example
Andrew Koenig , Mike Hendrickson, et al.
4.2 on Amazon
31 HN comments
The Ascent of Money: A Financial History of the World: 10th Anniversary Edition
Niall Ferguson
4.5 on Amazon
30 HN comments
Programming Rust: Fast, Safe Systems Development
Jim Blandy, Jason Orendorff, et al.
? on Amazon
28 HN comments
Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython
Wes McKinney
4.6 on Amazon
28 HN comments
Think Python: How to Think Like a Computer Scientist
Allen B. Downey
4.6 on Amazon
27 HN comments
datakingonAug 10, 2020
Boulth6onOct 25, 2020
Agreed, Programming Rust is really nice and I read a dozen of Rust books already. I'll be buying 2nd edition as soon as it's available.
zerosanityonFeb 23, 2018
BoulthonAug 5, 2019
artificialonAug 2, 2018
indemnityonAug 5, 2019
nindalfonMar 27, 2016
hobos_delightonMay 23, 2020
Both are great and I still refer to The Book (and Programming Rust) from time to time.
I'd be really keen to pick up v2 of Programming Rust.
thekdudeonNov 12, 2019
Herlihy and Shavit's The Art of Multiprocessor Programming was fantastic for learning about parallel/concurrent algorithm and data structure design
vu3rddonFeb 17, 2017
I like to see something along the lines of the K&R book or the GoPL book. I was hoping that "Programming Rust" is such a book, but I was disappointed. And (may be it is just me) I like to see exercises in Programming books.
appleiigsonDec 22, 2017
2nd edition of The Book,
Programming Rust,
Learning Rust,
Mastering Rust
adamnemecekonSep 16, 2020
sidcoolonNov 19, 2018
dj-wonkonNov 16, 2016
pepper_sauceonJuly 4, 2018
I work with similar language to you and Rust not only sheds light on low level concerns and safety, but also has an excellent type system. Programming Rust by Blandy and Orendorff, the online Rust Book, and the Rust By Example website are all good resources.
Rust is a lot more verbose than a language like Elixir so it might feel like wading through mud for a while.
I'm also throwing out the suggestion of a Lisp. Homoiconic macros are interesting and difficult. I'm currently reading Let Over Lambda by Doug Hoyte and it's like there's a whole world of technique I had no idea existed.
asdkhadsjonMar 19, 2019
That was years ago though, perhaps it's better now. All I know is after reading Programming Rust, I picked Rust up and it's been amazing. I love the language.
manaskarekaronFeb 10, 2019
Taking a wild guess here, but it sounds like you maybe referring to issues addressed by Non-Lexical Lifetimes (NLL)?
Reference: https://github.com/rust-lang/rfcs/blob/master/text/2094-nll....
NLL are a part of Rust 2018 Edition.
Three complementary books are the best resources:
- The Official book: https://doc.rust-lang.org/book/
- The Rust By Example book : https://doc.rust-lang.org/rust-by-example/
- Programming Rust (O'Reilly) : https://www.amazon.com/Programming-Rust-Fast-Systems-Develop...
forbidden404onFeb 13, 2018
fold_leftonAug 5, 2019
> [0] https://www.amazon.co.uk/Programming-Rust-Jim-Blandy/dp/1491....
Thanks for tip, the Rust Book is working well for me so far but it's good to know of other good options.
asdkhadsjonFeb 28, 2019
Fast forward to ~2 months ago, a work project dictated tight control over memory which, while possible in Go, had me looking at alternatives. I decided to give Rust another try. This time it wasn't just an evaluation, it was needed to work so I bought and Rust book and spent some after hours time learning/etc.
This time, Rust has been an absolute joy. I have no understanding why last time was so painful, and this time it's been so amazing. Maybe it was the book[1]? Maybe it was just a 2nd round of learning based on my previous experience? Regardless, it's been great.
There's just so many mental overheads like what is concurrent safe, what is non-null, etc that are just great to not think about anymore. On top of that, the formatter and LSP are just great. It highlights in my text editor (Kakoune) what variable caused an error, where it gets moved incorrectly, etc. So much just works, it's great.
My only complaint these days is:
1. I find it odd that some things like slice reads can still panic by default. Yes, I can use `foo.get(1)` to avoid panics, but still - it's a bit odd to me.
2. I'm anxiously awaiting async/await. It's quite difficult to be patient.
[1]: Programming Rust: Fast, Safe Systems Development
kieckerjanonNov 22, 2018
integrichoonApr 23, 2019
If it isn't, does anyone know maybe if a 2nd, updated edition can be expected?
[1] https://www.amazon.com/Programming-Rust-Fast-Systems-Develop...
beltsazaronJuly 26, 2021
Amazon link: https://www.amazon.com/dp/1492052590
Direct link to the chapter (if you subscribe to O'Reilly/Safari): https://learning.oreilly.com/library/view/programming-rust-2...
quietbritishjimonAug 5, 2019
[0] https://www.amazon.co.uk/Programming-Rust-Jim-Blandy/dp/1491...
KoiwaionApr 6, 2021
aaron-leboonJan 14, 2018
https://doc.rust-lang.org/book/second-edition/
http://shop.oreilly.com/product/0636920040385.do
innocentoldguyonDec 29, 2016
rayascottonMar 15, 2018
Ownership. References. Expressions. Error Handling. Enums & Patterns. Operator Overloading. Closures. Iterators. Collections. Strings & Text. Input & Output. Concurrency. Macros. Unsafe Code/FFI - the coolest part, they show you how to create a safe wrapper around libgit2.