News for hackers. Stuff that matters.
Re:Confessions of a terrible programmer by likpok on Saturday March 14, 2009 @07:14PM (#516301)
The same could be said about C++. C is a weakly typed language and was designed to be so, so it's type system cannot really be said to be 'bad'.
Re:Confessions of a terrible programmer by jrockway on Saturday March 14, 2009 @07:27PM (#516312)
Yes, good point. But a lot of people cite C as "the" strongly and statically typed language, and that's just wrong. ("But omg, you have to say 'int i' instead of 'var i'. Clearly this is strong typing!")
Re:Confessions of a terrible programmer by noamsml on Sunday March 15, 2009 @10:21AM (#516840)
C has no types, as a quick (int*)&var will show.
Re:Confessions of a terrible programmer by wingo on Sunday March 15, 2009 @04:54PM (#517234)
Unfortunately, this is not true in the case of type punning. C used to be the language you used when you wanted to access bits. Now with C99 you cannot * (int16* )((int32* )x).

NB, all compilers make exceptions for unions, but the type punning rule stands, and at work we've actually seen code like the above (for a dynamic typing system) compile to NULL instead of the appropriate reference with GCC. Grrrrrrr.

Re:Confessions of a terrible programmer by scott_s on Sunday March 15, 2009 @04:33PM (#517215)
Being able to subvert the type system is different than having no type system.