Warren Postma
@warren.postma
11 years ago

Static typing in languages makes promises it can't keep. For example, that you can catch programming errors at compile time. In fact, it does such a poor job of that, that we had to invent lots of layers on top to solve this problem, like unit testing. The funny thing is that if you had unit tests, and took away static typing you would know exactly the same facts you know without the static typing. So static typing makes for more type-information that you must type, but doesn't really save you much time. Witness generics in Java, and the way that they start out saving you time (look, type safe containers!) and then look at the big mess that they make when you have to learn how they really work and all about type-erasure, and you find that in the end, you'd be better of with Python, or any other dynamic language. Even better look at Checked Exceptions in Java. Wow. Safer programming. Better for everyone. Yeah, right. Look at the sample code for Swing, and look at how many lines of code it takes to change the default look and feel in Swing. WIth all the obligatory checked-exception-catching code it's almost a screen full of code to do what should have been SetTheme(enumValue);

undefinedurl nextprice drop