logoalt Hacker News

Animatstoday at 5:10 AM2 repliesview on HN

I really wonder if it's important to learn all that low-level stuff at this point. Most programmers today will never write a binary tree or a hash table. Modern high-performance ones are generic components you get from libraries. Even MIT gave up on teaching from Structure and Interpretation of Computer Programs.

I got all that stuff. I've wired up a 4-bit adder on a solderless breadboard for an architecture class. I used to have a well-thumbed copy of Knuth handy. I've designed and built a switching power supply. But I'm not up to date on using Claude Code, and should be.


Replies

preroktoday at 6:36 AM

I think it is important to learn how to implement it because it gives the student an opportunity to learn precisely because it's been done countless times and debated over to death. There are many analyses and if one doesn't click, maybe another one will. A student can learn how to analyze the algorithms and try out different implementations to assess differences in performance.

Of course, if a student just breezes through it then I would agree. That would make no sense.

toast0today at 5:45 AM

IMHO, I think it's good to have some exposure to low-level stuff. There's a good amount of work you can't do without understanding the low-level stuff, but there's more work you can't do well without having at least an idea of the low-level stuff.

Start the kids off with high level stuff, but make them do some embedded systems on their way through. At least for an engineering degree. Also, do a bit of lower level communications somewhere in there; expose them to tcpdump/ wireshark, but they need not develop expertise.