Hi Clifford, et al,
Please allow me to throw in my two pence / cents. I have always taught my students--and, it clears up ALL these conundrums, to say--that what we mean by "a value" is, "a character sequence". That's it, that's all that distinguishes a "value" from other kinds of things.
I believe this is also what Terry means by "value". Here is one, rather folksy way Terry has always taught in his courses, for distinguishing values from entities: "If you can type it into a computer, it's a value. If you can't, it's not."
So for example, Cliff, you are incorrect: "Hello, world" is definitely NOT the same value as "\x48\x65\x6c\x6c\x6f\x2c\x20\x77\x6f\x72\x6c\x64". The two sequences do not even have the same number of characters (the latter has 4 times as many characters as the former). And no, you CAN'T "write the integer" 1000 (which is WHICH integer? 8, in binary? One thousand, in decimal? or...?) What you can write is a character sequence, such as "one thousand" or "1000" or "8" (which are three, not two, different values!).
Which brings us back to the reason that has always been given, for why it's important to distinguish entity types from value types: It's to remind - indeed, to force - the modeler to give a reference mode or scheme, for each entity type. If we fail to give an entity type one of these, we don't really know which entity is referred to by a given value stored in the database. (You can only store values, not entities, in a database: I once tried to stuff my dog into a database, and he has never forgiven me :-)
Cheers, Andy