News for hackers. Stuff that matters.
Re:Confessions of a terrible programmer by jrockway on Saturday March 14, 2009 @06:51PM (#516262)
If I can’t use Ada, well, then Java is the next best choice, since it’s got a lot of the same built-in bug detection capabilities.

Seriously? Java has less runtime checking than Perl, and its compile-time type checking prevents only the most trivial errors. If you want to talk about bad type systems, look no further than Java. (Of course, the same could be said about C++ and C too. There is even less of a type system there.)

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.