naive: adj. 1. Untutored in the perversities of some particular
program or system; one who still tries to do things in an intuitive
way, rather than the right way (in really good designs these
coincide, but most designs aren't `really good' in the appropriate
sense). This trait is completely unrelated to general maturity or
competence, or even competence at any other specific program. It is
a sad commentary on the primitive state of computing that the
natural opposite of this term is often claimed to be `experienced
user' but is really more like `cynical user'. 2. Said of an
algorithm that doesn't take advantage of some superior but advanced
technique, e.g., the bubble sort. It may imply naivete on the part
of the programmer, although there are situations where a naive
algorithm is preferred, because it is more important to keep the
code comprehensible than to go for maximum performance. "I know the
linear search is naive, but in this case the list typically only has
half a dozen items."