Live data from Hacker News

Ask HN: Programming Courses for Experienced Coders?

news.ycombinator.com

171–180 of 192 posts

Re: Ask HN: Programming Courses for Experienced Coders?

#171
post #52

It's not Elixir, but I'm working through Jeremy Koppel's "Advanced Software Design Course". I've been coding for 22 years and it is definitely growing me. https://www.mirdin.com/

Highly recommend it as well. I'm a junior developer; that course gave me a much better sense for how to design software and answered a lot of software engineering / design-related questions that had coming up over and over again. I'm also just really allergic to handwave-y fluff, and the Mirdin stuff is just so much more concrete and precise than, e.g., the 'clean code' software engineering advice I've seen on the interwebs.

Re: Ask HN: Programming Courses for Experienced Coders?

#173

Earlier quoted context omitted.

ideally that's what reviews and word of mouth are. But I imagine like other sectors that book publishers are risk averse. But if anyone is like me and interested in taking a risk on those $80-150 tomes, CRC Press' books have been more hits than misses for me.

Do you have any recommendations ?

CRC has books in pretty much every subject (in and outside of software), so it really comes down to what kinds of topics you are interested in. I can give a dozen recommendation for books in computer graphics, but that may not be helpful for you personally.

But if you are are into graphics programming:

-Peter Shirley's Fundamentals of Computer Graphics is a great comprehensive resource. Despite the name, it serves as a great jumping off point even for experts into a different subdomain if they don't know where to start

- Johnathan Cooper's Game Anim is one of my most recent purachases. A great overview of the animation process, from the views of both the artist and technical engineer. Not just great for concepts but to get an idea of how and where a large studio executes their workkflow in production.

- Most of the GPU series from Wolfgang Engel are worth their weight in gold. The 7 or so GPU Pro series is basically whitepapers on all sorts of (at the time) cutting edge rendering techniques. Then the "GPU Pro 360" books are there if you wanted to focus on a specific subdomain instead of looking across the pro books (e.g. a GPU Pro 360 book focusing on Lighting or Image processing)

Re: Ask HN: Programming Courses for Experienced Coders?

#174
post #134

Earlier quoted context omitted.

> (...) are easy to learn, but seemingly unhelpful in the grander scheme. Nobody seems to completely adhere to the rules. As a result, these small patterns never seem to lead to clean code. Good. That is very useful state of mind to be in. Because these things do not produce cleaner code. They are tools to solve problems. Coders are like photographers. The ones who like talk the most shoot walls head on and then peep…

The next step is to realize that there is no clean or unclean code.

Sure there is.

Re: Ask HN: Programming Courses for Experienced Coders?

#175

Earlier quoted context omitted.

While I like some of their opinions they do pontificate an awful lot for folks who haven’t delivered what could be considered “above par” source code- the stuff in their streams is pretty darn messy.

Both of them, especially Casey are focused on extreme performance. If you write graphics engines and low-level tools for games, you have constraints that 99.9% of devs don't.

Its a constraint that every dev should have. Just because you are making a db driven web app doesn't mean your app and db doesn't need to be fast. How on earth can you take the user's bandwith, memory, energy consumption for granted. That's what they are reminding people of.

Re: Ask HN: Programming Courses for Experienced Coders?

#176
post #108
post #104

Lately, I have been struck by pragmatism of approaches discussed in https://clojuredesign.club/ For example, one can start separating pure functions from side-effects, aiming for aggressively minimal side-effecting functions. Applying this approach to calling REST APIs, one would first create a full request (including the http method, body, headers, etc) in a pure function, and only then send that request to the wire…

I'm intrigued. Could you provide some pointers on where to start at https://clojuredesign.club ?

I've been thinking about this, but I don't really know. The podcast is a lot of Clojure, which by itself might be an interesting language to learn. Some people report that learning Clojure was different than other languages, eg Uncle Bob, Gene Kim (see "Love Letter to Clojure") or I think even Paul Graham.

Maybe the Effectively Isolated Serie might be interesting (ep 021-027). Oh, and Cooking Up Composition, about composing functions (ep 093-098).

Re: Ask HN: Programming Courses for Experienced Coders?

#177
post #146
post #103

Earlier quoted context omitted.

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.

The point isn't just to make a game, but learn how all how it all works under the hood. He's stated multiple times throughout Handmade Hero that you probably don't want to make a game that way.

> Don't spend... how many years has it been now, nearly ten? On a debug room that looks like a high school CS project.

If you add all the hours up from every episode it's less than a years worth of work...

Re: Ask HN: Programming Courses for Experienced Coders?

#178
If you're learning Python, and know other programming languages, I have this online ebook [1] that I use with my students so that they learn Python fast enough so that I can teach them about socket programming.

Basically, in each chapter I give a small detailed introduction to the topic and then students do some exercises to solidify things.

[1] https://github.com/joaoventura/full-speed-python

Re: Ask HN: Programming Courses for Experienced Coders?

#179

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.…

How was the participation (number of people, interaction between the instructor and participants and interaction among participants)?

Most of the content was delivered as a 30min to 1hr lecture and then 3ish hour time to implement what was covered. So that portion was basically heads down, though I guess you could have connected with someone to chat while you were working.

But there were some small group breakouts to discuss the topic and get to know one another. And David would try check in with each person one-on-one every day to answer questions, give tips, and say hi.

So generally, I'd say this is not a high interactivity course like a group project or something. Everyone is working on a separate implementation.

Though, I took the courses online. And, it looks like that's how he's offering them now. But around the time I took the 2 courses, he had just switched to doing that because of COVID. Presumably, the in person courses offered a lot more time to socialize and go out for a drink in the evening.

Re: Ask HN: Programming Courses for Experienced Coders?

#180

If you're learning Python, and know other programming languages, I have this online ebook [1] that I use with my students so that they learn Python fast enough so that I can teach them about socket programming. Basically, in each chapter I give a small detailed introduction to the topic and then students do some exercises to solidify things. [1] https://github.com/joaoventura/full-speed-python

Can you recommend a resource for learning socket programming?
Post reply on HN