JavaにしろPerlにしろ、手続き型のコンピューター言語を学ぶ場合、だいたい、こんな手順で学習するんじゃないかと思う。
1.基本的な言語事項について
・文の書き方、コメントの書き方
・変数と型(配列なども含む)について
・条件文など
if,switch(VBだとselect case)
for,while
・演算子
→ここで課題、Hello Worldをかきなさい。
2.基本的な処理方法について
・エディッティング/フォーマッティング
・数字の表現(カンマつき、小数点と桁数、0を前に付けるなど)
・日付、時間の表現
・文字列操作
・四則演算、計算
・分類(仕分け)
・ソート
・マージ
・チェッキング
3.入出力について
・ディスプレイ(コンソール)入出力
・ファイル操作
・DB操作
・HTTP通信
・Socketなど
4.並列処理など
・スレッドなど
5.パターンやTIPS
・フレームワーク
・デザインパターン
・TIPS集
このうち、1と3は、どんな言語でもかならずやる(ただし、HTTPやSocketは、やらないこともあるが)。4は(COBOLなど)そもそも、操作できない(しようとすら思わない)言語もある。5は、言語によって、まちまち。なお、StrutsやDIなども、フレームワークの話となる。一方、Hibernateなども、フレームワークではあるが、現実的にはDBのところの話となるだろう。
このうち、お客さんとの仕様の打ち合わせで出てくるのは、2と3である。
4、5は、システムや言語に依存する部分も多く、お客さんに説明してもわからない。
1について、お客さんがどんどん指摘してきたら、それは、お客さんがプログラムが書けるということになってしまい(実際そういうこともあるのだが)期待しないほうがいいだろう。
そして、1については、一般的にHello Worldを書き出したところで、まあ、分かっていると解釈する(本当は、そうとはいえず、そこでスタートラインにたった程度なのだが)
2については、Javaについては、「Javaで基本操作」というシリーズで書いた。
以下のようなかんじ。
その1:新しいデータをマスタに追加、上書きする(マージ)
その2:ソートする
その3:数字表現(0を前に付ける等)の1.5以前、以降の違い
その4:日時操作(GregorianCalendarで操作、Dateを変換)
その5:文字列操作 その1(String変換)
その6:文字列操作 その2(文字列操作)
その7:計算のトピックス(==とequals、instanceofの使い道)
その8:分類(分類のためのレコード表現方法)
その9:チェッキング(チェックするためのインデックスのつくりかた)
じゃあ、次は「3.入出力について」か?というと、そうではなく、このシリーズをかきはじめた、最初の目的である、産能大記号との関係について、書いていくと思う。