3-1 とりあえず終わり
ここまでのことで、入門はできてるので、初心者向けの記事を読んで何を言っているかわからないということはなくなっていると思います。この先は覚えなければならないジャンルが多岐にわたるので、各自でやりたいことによって調べてみてください。
覚えなければならないことの例をいくつか挙げます。
とりあえずやっておいたほうがいいこと
九九表示ではループをネストして作りました。目的のために、どういう手順を行うか、ということを「アルゴリズム」と呼びます。
アルゴリズムを考える力をつけるには、練習するしかありません。練習方法としては、誰かが作ったアルゴリズムを読む、読んだ後に再現してみる、という方法がお勧めです。
バブルソート、挿入ソート、線形探索法、二分探索法、シェルソートの順にためしてみるのがお勧めです。分岐、ループに加え「配列」について知っていれば理解できる内容で、基本的な考え方を身につけられます。
ボタンを表示したいなど、よく行う動作についてはちょこちょこっと作れるように、ある程度土台ができていたりします。Windowsのアプリケーション用、Webアプリ用など、用途にあわせて様々なフレームワークがあります。
既にあるプログラムを使って何かをしたい場合(画像等のデータの処理やインターネット等の通信とか)は、そのプログラムとやりとりするための決め事があり、それをAPIといいます。
フレームワークやAPIは、やりたいことにあわせて覚えなければなりません。
- データの入出力
大量のデータがあってこそコンピュータの真価が発揮されます。ファイルの読み込み、データベースなどを使います。
最近のフレームワークはどれもオブジェクト指向について理解していることを求めているように感じます。オブジェクト指向とはなんぞやという記事はいっぱいあるのですが、理解してしまえば単純なことだけど説明するのが難しいもので、苦労するかもしれません。学習するときの言語はJavaがお勧めです。
プログラム作成用のツールです。コーディングから画面のレイアウト作成、テスト支援などプログラミングに必要な機能がひと通り揃っています。Windows用のアプリケーションを作りたいならVisualStudio、それ以外ならEclipseを使うことになります。
文字列操作をするときに、正規表現を覚えておくとかなり楽です。コーディングするときにも役に立ちます。
やりたいこと別
- Windows用のアプリケーションを作りたい
IDEのVisualStudioが至れり尽くせりな作りなので、割りとすぐにそれっぽくなります。言語はC#について、フレームワークに.NET Frameworkについて覚えれば大丈夫です。
- Webアプリを作りたい
サーバ側とクライアント側、両方について覚えることがあります。
クライアント側についてはHTMLのフォームについて、それとJavascriptについてです。
サーバ側はASP.NET、perl、J2EE、Ruby on Railsなどいろいろありますが、とりあえず動かせるようになるまでが楽でテキストが豊富なのでASP.NETから始めるといいような気がします。
- Excelで効率化したい
Excelをよく使う方なら、マクロを覚えておいて損はないです。基本はやりたいことに似た動作をマクロの記録後、直します。文字列操作について理解を深めれば、めんどくさいことは手で行わなくて済むようになります。
新しめ技術でテキストが少ないこともあり、ちょっと難易度高めです。ちょっと後回しにしたほうがいいかもしれません。
- ゲームを作りたい
覚えなければならないことが多いです。
最低限覚えなければならないことは、作ってみたいジャンルのアルゴリズムと、イベントハンドラ、見栄えのする画面表示のやり方です。
Javascriptでテトリスを作ってみる→作りたいプラットフォームに移植する、とやってみると雰囲気がつかめるかと思います。