6 hours ago, ferreiradaselva said:In addition to what @Oberon_Command, we have good version control software for that task.
Yes but those tools did not exist back then, or if so it's unlikely they used them.
6 hours ago, ferreiradaselva said:To let it be clear: I'm not shitting on Carmack (or his team) work, but I can't help to feel bothered when I see the DOOM/Quake code being pushed as holy to beginners. And it's not.
I think it's worth to learn how the algorithms work, it's not even necessary to look at the code for this reason.
I'm sorry for turning down your post point by point. I assume you have not done a project of that size yourself yet? If so your critique is much too hard to be justified. I also assume you base your critique on things you learned from others, and not on terrible experience with those 'bad coding practices'. Correct me if i'm wrong and sorry again if so.
There is one point i really disagree with others here:
If id code is not recommended to beginners, what alternatives do they have? Is none better than imperfect?
But most importantly:
After reading this post i have the intention learning HOW to write code is more important than problem solving skills, and this sucks. A beginner programmer should learn to solve problems first. It's easy to follow coding standarts after this, it's a never ending trail of failure trying to write reusable code with reasonable effort, but what matters are problem solving skills. If you don't like he uses global variables, just tell him he shouldn't. Done. If you you don't like the fact he does not know what a BSP tree is, well, have fun in explaining him.