コードとSQL文の表現の差異

このブログは「頭の中でごっちゃになっているアレとかソレを整理するための備忘録」というコンセプトなのですが、システムの仕事をする人なら皆知識がごっちゃになって気持ち悪い、というポイントが人それぞれあると思います。

僕の場合は会計の純資産と現預金の関係であったり、これまた会計の決算整理仕訳であったり、スケジューラーで最適化を探すプロセスであったり、そして今回整理するプログラム言語やDBごとのコードやSQL文上での表現の差異も曖昧ポイントで気持ち悪いポイントです。

プログラムのコードはざっくり以下の4つの構成要素に分類されます。

  1. 変数
  2. 制御文

言語によってこの4要素の表現方法が異なり、しかもコード内部に書かれるSQL文も、接続するデータベースによって多少の差異がある、複数のプログラム言語を扱うときに何となくモヤッとした曖昧感が残る原因の正体が僕の場合はこれです。

当然すべての型や内部関数を網羅することはできませんし、本エントリーの目的でもありません。「どこに曖昧感の原因があるのか」を以下のマトリックスから概念的に掴むことが目的です。

compare

特にPHPの内部関数は通常の組み込み関数とマルチバイト文字列関数があり魑魅魍魎(ちみもうりょう)であり、コード表現に気を取られると曖昧感が増大するばかりなので、「どこに違いがあるのか」という概念的理解があれば曖昧感が解消されます。何せ要領悪いですから・・・。

そして制御文の書き方として長年標準とされてきたのが構造化プログラミングであり、これもざっくり以下の3要素に分類されます。

  1. 順次処理
  2. 分岐処理
  3. 繰り返し処理

PHPやJavaScriptではユーザー定義関数をクラスやコンストラクタ関数を用いて本格的なオブジェクト指向型のコードを書くことができますが、別にオブジェクトを実体化してメソッドを実行せずとも、ある一定のレベルまでは通常の関数として外部から実行しても十分目的は達成されることがほとんどだと思います。

こんな投稿も読まれています