Live data from Hacker News

Ask HN: Programming Courses for Experienced Coders?

news.ycombinator.com

141–150 of 192 posts

Re: Ask HN: Programming Courses for Experienced Coders?

#142

There is a general lack of advanced materials in software engineering. This is one area where market economy works against common good, unfortunately. People who have the knowledge and want to capitalise on it are highly incentivised to preparing beginner level materials and maybe a tiny bit to prepare the something for people who already have a bit of knowledge. After that, the number of people who are your potentia…

> And it happens that people will not buy a $200 book even if it had $100k worth knowledge in it. It is not at all unfashionable to pay $50k for a master's degree, however.

Turning a masters degree into a pay bump is straightforward. But reading books won't get you hired at a new job or even get you a raise at most places.

Re: Ask HN: Programming Courses for Experienced Coders?

#144

I've taken 2 of David Beazley's courses.[1] And, I highly recommend them. If you haven't seen some of his talks, he's very good at explaining things by building them from nothing. I took 2 courses: "Rafting Trip" and "Write a Compiler". Both were awesome. The Rafting Trip took us through implementing the Raft consensus algorithm from scratch. And the "Write a Compiler" course had us build a small language using LLVM.…

+1 to this. Back in the day I read his Python cookbook to get into ML and have found only a few other books since then with that quality.

Re: Ask HN: Programming Courses for Experienced Coders?

#145

Hello, recently I've enjoyed Casey Muratori's Performance-Aware Programming course[0]. You could read Algorithms for Modern Hardware[1] to learn similar set of stuff though. Casey's course is aimed at bringing beginners all the way to a nearly-industry-leading understanding of performance issues while the book assumes a bit more knowledge, but I think a lot of people have trouble getting into this stuff using a book…

Casey Muratori and Jonathan Blow are some of the greatest minds countering the whole programming movement which creates sub par software imo.

Re: Ask HN: Programming Courses for Experienced Coders?

#146
post #103

Hello, recently I've enjoyed Casey Muratori's Performance-Aware Programming course[0]. You could read Algorithms for Modern Hardware[1] to learn similar set of stuff though. Casey's course is aimed at bringing beginners all the way to a nearly-industry-leading understanding of performance issues while the book assumes a bit more knowledge, but I think a lot of people have trouble getting into this stuff using a book…

I was going to say check out something from Casey too. Maybe just randomly jump into one of the 600+ videos for handmade hero and try to see what he's doing. I think Casey is a great educator, even if he has a lot of hot takes.

It's worth pointing out that Handmade Hero is not an example of how anyone should approach making a video game, and even Casey would say that, since that isn't his goal.

Use libraries. Use frameworks. Don't use C++ but reimplement the stdlib because you hate C++ and assume it was designed by morons. Don't spend... how many years has it been now, nearly ten? On a debug room that looks like a high school CS project.

Re: Ask HN: Programming Courses for Experienced Coders?

#147
post #140
post #31

Well it's not popular (even though it ought to be), but Edsger Dijkstra's A Discipline of Programming is an approachable and informal (by the author's standards) look at solving non-trivial problems in a provably correct way. In fact the entire EWD archive[1] can be arranged into a course pretty readily, although you'll definitely want to skim or skip large chunks of it. Also some of the papers are just acerbic obser…

You can use Coq to teach yourself many of the same ideas from ADP using Penn's Software Foundations (probably the first two books are sufficient). A somewhat more modern approach of related concepts to ewd's work is the work of Richard Bird which teaches you about using equational reasoning to take a correct naive algorithm and systematically optimize it into a correct and fast algorithm. [0] [1] Regarding Dafny, the…

One of the real eye openers for me along that journey was realizing that Eclipse refactors were (mostly, except for some rough edges) automated semantic invariant preserving code transformations, which is to say a kind of simplified equational reasoning resting solely on the equivalence.

Equational reasoning is borderline magical, and I look forward to the day when it's as pervasively taught as basic logic.

I have this fantasy in my mind of a language/editor combination that begins with the empty program and only allows legal equational development. Without explicit predication that would just maintain the invariants of the language itself, so no undefined behaviors, but with user supplied predicates would allow a kind of exploratory programming with safety nets. One way to look at it would be explicit symmetry breaking, although I'm not sure that's a good way to describe it to typical working programmers. The idea though is that for a program with the empty specification all code transformations are symmetrical with respect to the spec. And then as the specification is added to certain transformations become symmetry breaking and thus illegal, with said illegality being statically checked. Clearly I'm waving my hands quite a lot here, and I have no clue if it's actually practicable.

Re: Ask HN: Programming Courses for Experienced Coders?

#149
post #111

I'm hijacking a bit, but one thing I've been really wanting is some advanced optimization material for C++. There's so much that goes into data locality, branch elimination, faster ways to copy word-aligned data, and so on. I've picked up all I know on the fly, but would love some great resources which go deep into this. Is there something more instructive than Intel manuals? Closest thing I found recently is this: h…

You might want to check out Fedor Pikus' The Art of Writing Efficient Programs.

Also see Victor Eijkhout's books : https://theartofhpc.com/

Post reply on HN