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: * a child sees fruit in the fruit bowl * the child notes different types of fruit in the bowl * the child sees advantages of distinguishing between different '''types''' of fruit * not every fruit is the same type, nor is each fruit a string or blob, they are different fruits with different properties and classifications 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.''