What is Expresiveness in a Computer Language 20050207, Xah Lee.
In languages human or computer, there's a notion of expressiveness. English for example, is very expressive in manifestation, witness all the poetry and implications and allusions and connotations and dictions. There are a myriad ways to say one thing, fuzzy and warm and all. But when we look at what things it can say, its power of expression with respect to meaning, or its efficiency or precision, we find natural languages incapable. These can be seen thru several means. A sure way is thru logic, linguistics, and or what's called Philosophy of Languages. One can also glean directly the incapacity and inadequacy of natural languages by studying the artificial language lojban, where one realizes, not only are natural languages incapable in precision and lacking in efficiency, but simply a huge number of things are near impossible to express thru them. One thing commonly misunderstood in computing industry is the notion of expressiveness. If a language has a vocabulary of (smile, laugh, grin, giggle, chuckle, guffaw, cackle), then that language will not be as expressive, as a language with just (severe, slight, laugh, cry). The former is "expressive" in terms of nuance, where the latter is expressive with respect to meaning. Similarly, in computer languages, expressiveness is significant with respect to semantics, not syntactical variation. These two contrasting ideas can be easily seen thru Perl versus Python languages, and as one specific example of their text pattern matching capabilities. Perl is a language of syntactical variegations. Python on the other hand, does not even allow changes in code's indentation, but its efficiency and power in expression, with respect to semantics, showcases Perl's poverty in specification. http://xahlee.org/perl-python/what_is_expresiveness.html © Copyright 2005 by Xah Lee. Xah [EMAIL PROTECTED] ∑ http://xahlee.org/ -- http://mail.python.org/mailman/listinfo/python-list