Re: C is not an applications programming language
<quote> Point is: learn to FREAKING CODE. Don't code like a script kiddie. Don't allow script kiddies to commit code that don't check buffer lengths. that kind of thing.</quote>
And what is one supposed to do before becoming master of the code universe? Most people aren't born "senior coder", and to most of those people coding is just a job - a thing that gives them money; a thing they're looking to get away from everyday and not looking forward to returning the next day if it were not for the money.
Luckily for me, I found out about strcpy vs strncpy while still in school, but that's not mentioned in any classes. You learn srtcpy and then move to the next lesson. strncpy is not mentioned.
Applications also have this property: "we need it yesterday!". Even the most seasoned programmer can easily introduce a off-by-one error. I recently had a go on hackerrank at some C issues and while my algorithm was sane, I made a typo: I sized an array using the wrong variable, so it ended up shorter than intended. That meant that, with all the memory smashing, my code passed 10 out of 12 tests. The two that failed segfaulted. It took me forever before I saw the error and facepalmed.