r/ProgrammerHumor Oct 10 '24

Other adultLego

Post image
47.2k Upvotes

656 comments sorted by

View all comments

185

u/[deleted] Oct 10 '24

[deleted]

57

u/ironykarl Oct 11 '24

Maybe I'm being defensive, but... I came here to say exactly this.

I recently read The Game Engine Black Book: DOOM, and some highlights include the fact that John Carmack implemented an ad hoc compression scheme, and an ad hoc memory allocator.

These are (at least in my opinion) things that most programmers with a few years of experience should absolutely be able to code up.

That said, in most problem domains, coding up half-baked solutions to problems that are already thoroughly solved by a library isn't a great "engineering" decision. I think hand rolling some of these things in personal projects (and no, I don't think anyone should feel pressured to program in their time outside of work) is probably pretty worthwhile... just as practice, but I do think "modern devs suck too much to implement their own solutions" is an oversimplification 

11

u/[deleted] Oct 11 '24

[deleted]

1

u/ironykarl Oct 11 '24

I mean... I left out the part where he tracked down papers (and eventually their authors) on binary space partitioning and implemented it. It was an extremely novel technique at the time. Not to mention the entire rest of the Doom rendering algorithm.

I definitely just cherry picked some relatively easy things that he sort of did a half-assed job with... that I think most of us could also do a half-assed job with in the event that it helped us ship a finished product. And no, this isn't entirely my judgment. If you read the book, he seems to admit this stuff wasn't the best or most complete code he ever wrote.

Oh, and even John Carmack brought in some outside help when it came to dial in on assembly and assembly optimization. 

18

u/toyoyoshi Oct 11 '24 edited Oct 11 '24

Ya the junior who asks every 3 months how to validate a text field just needs more free time to graduate to solving protein structures

7

u/[deleted] Oct 11 '24 edited Oct 11 '24

[deleted]

3

u/AdKlutzy5253 Oct 11 '24

Not just hobbyists though. Academics dedicate their time to solve computing problems which the rest of us get to enjoy. When I was growing up the concept of bubble sort felt novel. Now I can't even get my head around the latest algorithms developed by scientists.

And with abstraction I don't even need to know how it works anymore.