>>21
C言語→Java でいいと思う。この二つやれば、プログラム言語の要件は
大体理解できるから、あとは何を実現したいかによってツールを選んで
いけばいいと思う。

・C言語
結局言語ツールはどういう実装で何に使うかによるわけだけど、ゼロから
学ぶなら、あらゆる言語ツールのリファレンス(手本)となったC言語からが
いいと思う。でも本当に行儀よく文法といくばくかのテクニックを学べばそれ
でいい。

関数をベースにした処理の流れ、データ型、それぞれのデータ型による
メモリの使い方、データ型を行き来してビルトインの関数や拡張ライブラリ
を使って処理を進めていくためのテクニック(アルゴリズム)、それから、
プログラムの形態ごとの全体構造(実行して標準出力をして終了する形態、
常駐して何かのイベントごとに処理をし続ける形態、他のプログラムから
呼び出されれて動作する形態)を覚えればそこまででいい。

・Java
その後、現代の言語ツールに繋がるもう一つの潮流として、メモリ管理の
排除、それからオブジェクト指向というのがある。この二つを実現し、安定
していろんな実装に用いられている言語ツールとしてはJava。これは
Webサーバーでいろんなページを作るのにも利用されているし、Android
のアプリを作るのにも使われている。ただし、Javaは言語設計はすごく
簡潔だけど、実装ごとに使うライブラリの色がかなり異なる。なので、一種類
だけ覚えればいい。

Javaの共通の癖としては、Cのようにバイトごとにメモリを明示的に確保、
解放をする手間はなくなるけど、その代わり、オブジェクト指向を実現する
中で使ってないデータ構造をメモリから一つ一つ明示的に開放することが
難しい。なので、気楽にプログラムする場合は、メモリの解放を全く意識
せず、重くならない範囲で、自動メモリ解放機能を利用するなどのざっくり
とした作りがある。これは他の類似ツールも同じテクニック。絵をたくさん
使う実装や、GUI要素をたくさん使う実装では、どこで時間のかかるメモリ
一括解放を行うかが肝になってくる。