アセンブラやCで下から固めていくか、LLでお手軽に雰囲気を掴むことを重視するか、schemeやhaskelでアルゴリズムから固めるか。

javaやC#はお手軽でもなく、低レベルな知識もつきにくいが、メリットとしてはGUIが扱いやすいから初学者にとって達成感は得やすいところか。