>>866 に加えて、対話性のある言語が重要。
思いついたことをすぐに実験できるような環境が望ましい。
最初からヘッダファイル書け、Makefile 書けでは形式が多すぎて
核心にたどりつく前に疲れてしまう。
だから最初はインタプリタのほうがいいと思う。
統合環境もシンプルなほうがいいな。

プログラミングの学習ってようするに試行錯誤のくりかえしだと思うので、
アイデアスケッチ → コーディング → 結果のサイクルが短ければ
それだけ効率もよくなる。

それからなるべく少ない知識で多くのことができる言語が望ましい。
たとえば、数値配列と文字列は本質的に同じなのだから、
配列操作で覚えた知識がそのまま文字列操作にも使えれば
アルゴリズム的にも得るところは多いだろう。

2. の条件は難しい。なにか速度の必要なものを作ればアセンブラレベルの
必要性はおのずと明らかなのだが、そういうことに気づかないと一生速度に無頓着だったりする。
これは興味をもつ段階になれば勝手にやるだろう。

ひとつの言語で 1.2.3. のすべてを満足するのは原理的にむりのような。