Dev Journals 4: Van Rossum's Revenge
I know, I know, Van Rossum isn't the Benevolent Dictator for Life anymore. Still, gotta give him props.
This is a different sort of dev journal, since for most of yesterday and today, my dev time has been spent reading a book I'm thoroughly enjoying: Fluent Python by Luciano Ramalho.
This book is truly wonderful so far -- I'm sure I'll be writing about it more in the future. Right now I'm still processing the first chapter and the beginning of the second, namely the focus on builtins and how to integrate with functions like len()
and bytes()
and what have you.
It's pretty magical, when you think about it -- add a "dunder method", e.g. __len__
, to your object and boom! Your object now works with a set of idiomatic Python constructs that make your code more readable, usable, and practical.
I'm especially looking forward to the collections.abc
bit, the "abstract base class", that's been hinted at in the early parts of the book. I'm hoping that I can make useful constructs of my own, using this, but I may be misunderstanding the purpose of this module.
Overall, this isn't a book for Python newbies. I may be returning to Python after a long while, but I wouldn't consider myself "new to Python". Rather, we have some catching up to do.
That said, if you want to up your Python game, you couldn't do much better than this book, I think. It's friendly, but also rigorous and thorough. I truly believe any Python user who's trying to learn more advanced techniques will be quite happy with this book, and experienced Pythonistas will not be disappointed either.
I'm not being paid or anything to say any of this, by the way -- I truly believe that Fluent Python is a great book for Python devs, and you should check it out!
From here, as I detailed in my last post, I have a pretty clear path forward. I'm just trying to improve my general Python skills and object oriented design (I got the classic Design Patterns book as well, as part of my self-study).
If we're being honest, I probably got a few too many textbooks, as I recently discovered abebooks.com, which is a great way to get books on the cheap from local bookstores around the country.
Again, not being paid here. Maybe I should be. But I just really like these books and whatnot that I'm linking to.
Ron Swanson's guarantee is worth its weight in secretly buried gold.
I bought several more books, is the point:
- Structure and Interpretation of Computer Programs by Abelson, Sussman, and Sussman
- Compilers: Principles, Techniques, and Tools by Aho, Lam, Sethi, and Ullman
- Engineering a Compiler by Cooper and Torczon
Among a few others, namely Programming Windows, by Charles Petzold, and Accelerated C++, by Koenig and Moo.
I went a little nuts with the used bookstore! Clearly. But I'll be talking more about the C++ and Windows books later -- for now, the goal is building up more fundamental CS knowledge and expertise in languages and environments other than Javascript and the web (which means Python, for the time being).
That said, I have to focus on the main goal: getting a proof-of-concept going for Adventure Kit. The todo list remains the same -- time to get back to it.
P.S. I just realized it's July 20! It's the 52-year anniversary of the moon landing! And with that, I leave you with some classic Bowie: