I go as far back as you; I used Turbo C and wrote TSRs. I never wrote a virus though. I wrote an IDE for the Color Computer 3 in 6809 assembly language, generating make files and all-in-one development before I ever earned a penny as a coder.

C did not encourage bad programming, C allowed bad programming. It was possible to cast almost anything to almost anything else. That didn't mean you had to.

I remember stuff like

if (!strcmp(str1,str2))

clutter and all, as a cooooool way to do struing comparison. Since everyone knew that zero meant equal strings and the ! operator tested for zero, they did unreadable junk like that. It didn't mean you had to.

Throw allows all kinds of malpractice too. It should never have been exposed to developers; just as ! was used to test for string equality, throw was used to save a few minutes of typing instead of changing void functions to return errors.

It's not the languages. It's the sloppy coders trying to be clever.

Written by

American Software Developer living in Vietnam. Classical musician (guitar, woodwinds), weightlifter, multilingual, misanthrope • XY

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store