LWN.net Logo

Not Again

Not Again

Posted Apr 20, 2012 3:53 UTC (Fri) by IanJ (guest, #84238)
In reply to: Not Again by brianomahoney
Parent article: PHP: a fractal of bad design (fuzzy notepad)

Right, not again. You start with "Ever little while I come across some self-important dumbass who explains why XXX is an evil language"

Later you accuse someone else of being the first to descend into ad hominem attacks. Well, what do you understand by the phrase "self-important dumbass"?

You seem to have very little idea of reality or history. ALGOL came out being careful to make a real structured language avoiding all the mistakes of FORTRAN and discarding machine dependence of machine language. It really was about making processors that execute our programs, rather than using programs as a mechanism to instruct computers (that thought due to Dijkstra... another dumbass).

C came along and put some structured programming over a machine language, but put back in the faults of FORTRAN (using = for assignment), and machine language. It was a big step backwards but has been successfully defended against better alternatives by launching angry attacks against any and all improvements.

C is not an evil language. But because of its flaws it can be used in an evil way - viruses, worms, etc are all possible because of lack of bounds checking. C is just a bad tool.

Yes programming is hard, we need all the help we can get. It's not just a matter of saying "trust programmers they know what they are doing". The best programmers admit it is difficult and too often there are things we don't spot and can use the help of automatic type checking.

I'll say no more. C and C++ are languages that are really lacking:

http://www.ianjoyner.name/Ian_Joyner/C++.html

It's time to move on and get real programming principles back.


(Log in to post comments)

Not Again

Posted Apr 20, 2012 10:42 UTC (Fri) by dgm (subscriber, #49227) [Link]

> C is not an evil language. But because of its flaws it can be used in an evil way - viruses, worms, etc are all possible because of lack of bounds checking. C is just a bad tool.

Absurd. There any _many_ ways a program can be thwarted into running attacked controlled code, improper bounds checking is just one of them.

C is a superb tool, just not for everything. It's a very powerful tool that requires skill and knowledge, but so do most computer languages (even Logo!).

And everything can be used in evil ways. Can you point out any (Turing-complete) language that is not capable of doing bad?

Not Again

Posted Apr 20, 2012 11:17 UTC (Fri) by mpr22 (subscriber, #60784) [Link]

C and C++ continue to thrive partly because their detractors seem to be incapable of agreeing on what the replacement should be. Alice likes D. Bob likes Java. Charlie likes Ada. Deirdre likes Haskell. Eddie likes Forth. Francine likes Python. George likes Modula-3. Henrietta likes Oberon. (etc)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds