If my only criterion in choosing a programming language was to make myself smarter, I would probably choose Prolog or a similar language.  I find that when I&#x27;m writing Prolog I am forced to think precisely about the problem at hand.  The reason for this is that the programs one is writing are basically just specifications of the truth conditions that constitute a solution to the problem.<p>Other languages (especially those with flexible syntaxes) make me feel more mentally limber due to the amount of creativity they encourage.  But Prolog is the only language I&#x27;ve ever written that makes me feel like I might actually tack on an IQ point.