Hacker News new | ask | show | jobs
by justwannasing 3954 days ago
C doesn't have any problems just because you use it poorly. The only thing with a problem would be the coder.
1 comments

That's actually ad-hoc cargo-cult, not a scientific assesment.

If a programmer uses a language poorly it can be the programmer but in a lot of cases it can also be the language, that has poorly thought out, conflicting, etc constructs.

There is a field called PL research (part of Computer Science) and researchers can all agree on several problems that C (and what would have been a better design).

Some of the problems are so obvious that the creators of C admitted them too. Some have been corrected in later revisions (C99 etc).

To blame your tool when you don't use it correctly is a typical fallacy found on forums everywhere. You blame the car for your accident, your parents for being in jail, the hammer for breaking your thumb.
I can actually blame my car for an accident if it didn't respond to my brake press. The hammer can be blamed if the head flew off mid-swing striking my finger instead of the nail.

The tool can be the source of your issue if its not made correctly.

You're talking about tools that have broken. We're talking about tools that work as advertised.
That's the thing: going beyond what the parent commentor said, tools that "work as advertised" can still be bad.

"Pure wire-mesh electric blanket -- no insulation whatsoever! Only $20 dollars. Will raise the heat with sparks of electricity, plug directly into your 110v outlets!".

Sure, works as advertised. But it's ill concived and will fry anybody trying to use it, either because he wants to or because he is forced to (by his boss or needing to deal with legacy code in the case of a programmer).

The example is contrived to showcase the point, but the gist is: "works as advertised" doesn't mean much with regards to quality or well thought-out architecture.

If someone can find an out, someone on HN will find it.