News for hackers. Stuff that matters.
Re:Ask HN: Programming Courses for Experienced Coders? by Q6T46nT668w6i3m on Friday December 29, 2023 @09:13AM (#38805060)
The obvious “next step” is experiential, i.e., write complicated programs. Books about writing compilers, databases, operating systems, emulators, file systems, etc. are all useful.
Re:Ask HN: Programming Courses for Experienced Coders? by whatamidoingyo on Friday December 29, 2023 @09:34AM (#38805324)
Do you have any book recommendations for those topics?
Re:Ask HN: Programming Courses for Experienced Coders? by hiyer on Friday December 29, 2023 @10:20AM (#38805851)
Crafting interpreters [1] is one such, where the author walks you through writing an interpreter for a toy language. The book uses Kotlin IIRC, but you can write the interpreter in any language of your choice.

1. https://craftinginterpreters.com/

Re:Ask HN: Programming Courses for Experienced Coders? by Derbasti on Friday December 29, 2023 @12:37PM (#38807746)
Man, that book was so good! What a tremendous achievement in clarity and insight. I loved it!
Re:Ask HN: Programming Courses for Experienced Coders? by Jtsummers on Friday December 29, 2023 @10:26AM (#38805923)
It uses Java and C. Strictly speaking there's no reason you have to use either language, you can also use the design in the language of your choice (assuming sufficiently matching semantics, like C# or Kotlin instead of Java for Part 1, or a willingness to put in more legwork if you go further afield).
Re:Ask HN: Programming Courses for Experienced Coders? by hectormalot on Friday December 29, 2023 @11:42AM (#38806957)
There is a similar crafting an interpreter[1] and compiler[2] pair of books for Go. I've heard good things about it, didn't work through it myself though:

1. https://interpreterbook.com

2. https://compilerbook.com

Re:Ask HN: Programming Courses for Experienced Coders? by __mp on Friday December 29, 2023 @10:39AM (#38806057)
"Computer Systems: A Programmer's Perspective" is a great introductory systems textbook on everything going on in a computer.

For more advanced C/C++ developers I can recommend "The Linux Programming Interface" - (https://man7.org/tlpi/). It is a GREAT compendium for writing code against the POSIX API. I have a (legal) copy of this book on all the computers I have access to.

"The Database Redbook" - (http://www.redbook.io) is a valuable source on database implementations.

"Compilers: Principles, Techniques, and Tools" (Dragon Book) is a great starting point. The book is out of print and but I think it should still hold up for most basic use-cases.

Re:Ask HN: Programming Courses for Experienced Coders? by blueblueue on Friday December 29, 2023 @03:14PM (#38809666)
I really enjoyed http://www.emulator101.com/. It is a hands on tutorial on how to write an emulator for an Intel 8080 CPU that can run the original Space Invaders. The code examples are in C, but you can find implementations in other languages on GitHub as well.
Re:Ask HN: Programming Courses for Experienced Coders? by 3pm on Friday December 29, 2023 @03:40PM (#38809951)
This is a really good fundamentals resource: https://teachyourselfcs.com/ They list books and videos.
Re:Ask HN: Programming Courses for Experienced Coders? by NukedOne on Saturday December 30, 2023 @04:59AM (#38814012)
Building git

https://shop.jcoglan.com/building-git/

Build a blockchain from scratch in go

https://web3coach.gumroad.com/l/build-a-blockchain-from-scra...

Compiling to assembly from scratch

https://keleshev.com/compiling-to-assembly-from-scratch/

If anyone knows of similar books, don't hesitate to comment below.