Sedgewick's Algorithms book is great for practical learning but too tied to Java and implementation details. It is a bit shallow on theory, though the community and resources for other languages help.

That said, I personally prefer Introduction to Algorithms (CLRS) for its formal rigor and clear proofs, and Grokking Algorithms for building intuition.

The broader goal of this project is to build a well tested, reference quality set of implementations in C, Python, and Go. That is the next milestone.

Possibly you mean "too tied to Pascal" ;-)

Was the very first edition of Sedgewick's Algorithms written in Pascal? I heard that but never actually saw that version myself.

Your comment brought back an old memory for me. My first programming language in high school was Turbo Pascal. That IDE was amazing: instant compilation, the blue screen TUI, F1 for inline help, a surprisingly good debugger, and it just felt so smooth and fast back then. No internet needed, no AI assistance, just pure focus and curiosity. Oh, how I really miss those days :)

I think the first several editions (two? three?) were in Pascal, yeah.

The first time I saw TP was on my uncle's Kaypro, which was sort of even more amazing: the screen wasn't capable of blue, the keyboard didn't have an F1 key, and the CPU wasn't capable of instant compilation. But the alternatives were assembly language and Microsoft BASIC!

For assembly, by any chance, do you like the "pink shirt" book? It is one of my all-time favorites! I learned so much from it back in the day. Sadly, I lost my copy somewhere along the way :(

https://deprogrammaticaipsum.com/peter-norton/

I've never actually read it! I'm not sure what I would recommend if someone asked me for an introductory assembly-language book recommendation. Probably something for ARM or AMD64?

I am not an expert but have been learning RISC-V Assembly in my backlog for some years now. https://riscv-programming.org/

Feels like what x86 could have been if it started clean.

You mean, if the 80386 hadn't been designed with 8086 backwards compatibility in mind? What attributes do you see in common? "x86 started clean" might be a reasonable description of iAPX432, RL78, Itanic, 68000, or ARM2, from different points of view.

Sedgewick is available for C also.

For clarification, I meant the Algorithms, 4th Edition book at https://algs4.cs.princeton.edu/home/ which is entirely in Java. All the example code, libraries, and exercises there use Java, and the authors explicitly note that the book is written for that language.

However, you are right, Prof. Sedgewick has long maintained versions of his material across multiple languages. I remember that the third edition has C, C++ and Java versions.