人は言葉のみで考えているのか?まさか!
少なくとも、私の考えは「文字列」ではない。もっと多次元の「もやもや」だ。私にとって「言葉」とはあくまでそれを「シリアライズ」 (serialize)したもので、それを聞くということはいちいちそれを「デシリアライズ」(deseriarize)して、構文解析(parse)して....というまだるっこしい作業を伴うものだ。少なくとも「直感」とはほど遠い。どうしてこういう「まどろっこしいこと」が普及してしまったかというと、 結局は言語を発達させた時代の人類が、 通信手段として音声という一次元的なハードウェアしか使えなかったからだろうと思います。 (もちろんその時代でも絵で表現するという方法があっただろうけど、 絵で表現するには道具が必要で、 紙のような軽くて持ち運びやすいメディアもなかったのでコストが高かった。)
もし我々がサルではなくイルカから進化したのなら、 超音波を使って3次元形状を直接やりとりできたかもしれません。 哺乳類にならずに爬虫類から直接知性を持つに至ったなら、 皮膚の色の変化を使って2次元イメージを直接伝えていたかも知れません。
プロ棋士が考えているときにどの程度言葉を使って考えているのか、 彫刻家が彫刻をしているときにどの程度言葉を使って考えているのか、 プログラマがコーディングをしているときにどの程度言葉を使って考えているのか、 100%言葉で考えているわけではないと思います。 少なくとも自分がコーディングをしているときには 言語的でない思考が結構多いと感じています。
英会話ではよく「英語で考えろ」と言いますが、 これは適切な表現ではないと思います。 日本語で考えているわけではなく、考えたことを日本語で出力しているのです。 英語で出力するときに、考えたことを日本語で出力してから記号操作で英語に変換しようとすると 処理速度が間に合いません。人間の言葉を使った記号処理能力はさほど高くないですから。 そこで考えたことを直接英語で出力するように訓練するわけです。 同じことで、Pythonでコーディングしているときには考えたこととPythonで出力しているだけで 別に日本語で考えたりPythonで考えたりしているわけではないです。 僕の実感としては「思いついたことを言葉にしてF5キーを押すと返事が返ってくる」に近いです。 言葉で考えた結果をコードにするのではなく、考えたことを表現した結果がコードという言葉なのです。