Any recommendations?
[1] https://www.craftinginterpreters.com [2] https://github.com/search?q=crafting+interpreters
The thing I like about the books is the emphasis on having fun. My understanding is Jamis used these projects to overcome career burnout. They are also good for exploring the basics of a new language though.
I interviewed Jamis about this subject and burn out[1].
[0]: http://raytracerchallenge.com/
[1]: https://corecursive.com/025-burn-out-and-recreational-progra...
> "Agile Web Development with Rails [6]" (2020) teaches TDD and agile in conjunction with a DRY, CoC, RAD web application framework: https://g.co/kgs/GNqnWV
And:
> "ugit – Learn Git Internals by Building Git in Python" https://www.leshenko.net/p/ugit/
Phillip Opperman's Blog OS: https://os.phil-opp.com/
It's not intending to teach you the basics of the language, it is instead teaching you how to architect real world programs, using a particular case study that they work through (a quiz game). It's basically about the 'functional core, OTP boundaries' model that is an excellent approach for building real systems.
If you don't know Elixir at all the Getting Started guide is good for teaching the language constructs: https://elixir-lang.org/getting-started/introduction.html
We currently offer only one project to build a transport network monitor. It starts with some low-level topics (we use WebSockets to handle tens of thousands of network events) but a lot of code is also higher-level (we use the network events to create a routing engine) - so it may not be exactly a "systems programming" resource!
Those are so much underrated books that thought me how to become a software engineer. I hightly recommend especially these books.
Assembly Language and Computer Architecture Using C++ and Java
Compiler Construction Using Java, JavaCC, and Yacc
I promise! You'll obtain tons of skills from his books. I'm very debted to this man. I enjoyed a lot reading his books and made me who I am today.
by Randal E. Bryant (Author), David R. O'Hallaron (Author)
Anything specific for Python, and recent enough to be based on the latest Python (3.9.5, or at least 3.x)?
I remember (but can't find it, sorry) a great "learn by example" web tutorial, but based on Python 2.x, and possibly at least 6-7 years old by now.
It’ll all be natural language interfaces based on neural networks like that.
I wish things were otherwise but I can’t in good faith recommend someone learn “to code” or learn any programming language anymore.
That said, I can see how this could be useful to someone who is already well versed in programming and computer science, and has other types of project experience—they have a solid foundation to build and reflect on.