ども開発TEAMのササポンです。
寝て起きて仕事して寝て起きて仕事してると、
自分を取り囲む環境が進化していってしまうのは不可避なものです。
10年も開発してると、PG言語によって使える使えないってのは
ほぼ無いです。
さしあたり制御構造には、分岐、ループ、ジャンプ(≒例外処理)ってのがあり、
サブルーチン化には、関数方式、クラス方式、
データ構造には、リスト、スタック、KeyValue方式があり、
文字列処理には、連結、分割、マッチ判定、置換、文字コード変換などがあり、
データベース処理には、接続、クローズ、select系、update系、トランザクション系があり、
ファイル制御には、コピー、ムーブ、リネーム、書き込み、読み込みなどがあり、
GUI制御には、window作成、rect描画、circle描画、テキスト描画、画像描画、入力コンポーネント系があり、
ネットワーク制御には、書き込み、読み込みがあり、
HTTP制御には、ヘッダ読み書き、ボディ読み書き、認証方法指定、urlencode的なもの、
OSには起きろ、寝ろ、あれ立ち上げろ、○○用のDIRはどこだ?、みたいな。
プログラムを作るにあたって必要なものは、普通あるだろうと、
基本プログラミング部分は脳内で出来ちゃいます。
それを具現化する為に、ヘルプと呼ばれる辞書を見ながら、
各国語に翻訳して書き出しているだけです。
で、それでとりあえず動くものはできます。
そこからは、より良く(美的に、機能的に、性能的に)する為には
ネイティブスピーカーから学ぶのが一番です。
その言語の強み弱みを、誰が一番理解と思想を持っているかって?
もちろん言語を作っている人達ですよね。
その言語のAPIソースを見るのです。
その人達のソースを見ると、彼らの気持ちが見えてきます。
私もそこまでのレベルに達していないので、全部は分かりませんが
大量データを処理する際のお作法とか、やってはいけない事とか。
そういうのは見えてきます。
またバージョンアップによって内部処理がどう変わったかなんてのもインタレストです。
javaには
java.util.HashMapというクラスがあります。
説明は省略ですが、
ごく普通にあなたが実装すると、どういうソースになりますか?
あなたのソースと、APIのソースはどう違いますか?
それはどうしてですか?
そこには、強み強調と弱み回避のロジックが組み込まれているから、違うのです。
iphone-Object-cには、同じメモリ確保でも、
[NSDictionary alloc]というのと[NSDictionary dictionary]と2種類あります。
違いは、autoreleaseが掛けられているかいないかですが、
そういう時にはこういうお作法で作るんだよと、思想が見えてきます。
(こっちはapiソース見た訳じゃないですが)
| http://www.conit.co.jp/labs/index.php?e=326 |
|
雑談 | 08:06 AM |
comments (0) |
trackback (0) |