What I find interesting is how Peter builds bottom up solutions using low level utilities. This is how I have always coded in Lisp languages, but when I use Python I tend to write little monoliths. Since I now have to use Python for most of my work (deep learning), I should change the way I use Python. Reading his code is educational.
Peter and I each wrote a Common Lisp book about 25 years ago and a few years after that we had lunch and I was into Lisp and he had transitioned to the practicality of Python. I have a serious bias in favor of Lisp languages that probably has not served me very well. I once had a short talk with Alexis Ohanian about how he and his partner Steve had to convert Reddit from Common Lisp to Python, I think that he described the situation as something like “the Lisp version kept falling down.”
It is mostly dominated by competitive programmers who value speed over readability. When it comes to presenting a solution, Peter Norvig's style, clarity and craftsmanship is unmatched.
Same, and it made me feel less guilty about myself for abandoning AoC for a second year (after 17 days in 2019 and 19 days this year). It becomes just too time consuming after around 17-18 days since I am not a genius.
I find Norvig’s style of Python a bit odd as it diverges from PEP-8ish style I’m accustomed to. Nothing wrong with it but he’ll redefine things, put functions on one line, etc. The good thing is that I challenges my understanding of what you can do with the language and how simple and expressive it can be.
For example I found this line of code cute. So much going on — no function definition, just a string literal method being assigned to a name (which any Linux programmer would get but a windows one may not).
As a Python and Linux user for more than ten years that kind of thing gives me pause. It's great for recreational code as it expands the mind, but terrible for professional code. Idiomatic usage is really important in professional code. You want it to be like Cypher looking at the Matrix; "I don't even see the code, all I see is function, loop, conditional".
This is so cool, I'm still learning Python, so this may come in handy. Thanks for sharing. I also participated in AOC 2021, but didn't make it till the end :') In which part of the day did you solve the assignments most often?
Peter and I each wrote a Common Lisp book about 25 years ago and a few years after that we had lunch and I was into Lisp and he had transitioned to the practicality of Python. I have a serious bias in favor of Lisp languages that probably has not served me very well. I once had a short talk with Alexis Ohanian about how he and his partner Steve had to convert Reddit from Common Lisp to Python, I think that he described the situation as something like “the Lisp version kept falling down.”