Types Are Too Hard

What is so hard about understanding types and their advantages in programming?

I hate to resort to an analogy, but since TypesAreTooHard for some to understand, I will regretfully resort to an analogy:

The child then becomes a programmer when he has reached the age of 18 years, now an adult.

The adult sees the advantage of type systems for the same reasons we see advantages to distinguishing different fruits in the fruit bowl.

The adult is not a HostileStudent who rejects types; he understands types both at a programming level, and at a real world level.

There are different types of fruit. This is a fact. ThereAreTypes?

As somebody who likes "type-light" languages, I don't disagree that "types are useful", at least to varying degrees. My disagreement is that there is no clear-cut consensus definition. DefinitionOfLife and WhatIsIntent illustrates other concepts we commonly use but don't necessarily have a clear-cut definition. We may agree most of the time, but there are often border-line cases or ambiguities. In short:

  Fuzzy != Useless
As far as type-light versus type-heavy programming, we already have plenty of topics on that. Let's not duplicate those debates all over this wiki if possible. And I don't appreciate your name-calling. It's unprofessional. Perhaps I've done similar at times, but two wrongs don't make a right. -t


Another Example

Different types of files exist on your computer.

Some files are PNG, JPG, and others TXT. Having different types of files is useful. Extremely useful.

Logically we therefore conclude that ThereAreTypes? and they are very very useful for humans (and computers).

That can also be considered an attribute. Further, we can have other "dimensions", such as "image usage type": icon, thumbnail, photograph, facial portrait, illustration, etc. Where's the borderline? Just about every other image attribute could be "seen" as a "type" or as an "attribute": size, orientation, border "type", border color, shadow type, shadow depth, link technique, rollover behavior, etc. And I disagree it is "logical" because it hasn't been subjected to the scientific method.


EditText of this page (last edited February 6, 2012) or FindPage with title or text search