Ognacの雑感

木漏れ日々

目次

Blog 利用状況

書庫

ギャラリ

2009年6月22日

誰がつくっても同じソースになる言語

特定言語のソースを生成するジェネレータ定義語が言語に含むか否かは見解が分かれますが、広義で言語になると思っています。
XMLが言語に分類されることもあるので、「言語」の規定も広いです。
多くの言語は「汎用言語」を標榜していて、適用範囲は大きいです。科学計算をコボルで記述することも不可能ではないくらいです。
どの分野のアプリにも対応できるために、構文、文法も広くなっています。
開発者は各人独自のスタイルをもっています。
開発標準が在り、同一の仕様書に基づいて、作成しても同一のソースが上がってくることはマズありません。
 こういう世界に住んでいると、違う発想の話は新鮮に聞こえます。
「スペリア」という言語製品の話を聞きました。
http://www.carrera.co.jp/speriatoha.html
 開発者の主張は
「C#,JAVA/VBなどは汎用すぎて、ソースに個性が出る。
 汎用言語はなんでもできる反面、開発者が去ってしまうと。保守できなくなる。それが欠点だ。
 顧客は、業務がしたいのであって、ソースの保守はしたくない。保守できないソースは負の資産だ。
 誰が作っても、同じソースが出来るのが、本来の業務向け言語て有るはず。
 何十年たっても、同じソースで動き、保守可能になれば、負の資産にはならない。
 当製品はそういう製品だ。使いたくなっただろう。買ってくれ。

うーん。私は、「スッキリしたソースが読みやすく、保守性が高い」と考える派で、開発者の能力・経験で同じソースに仕上がるのは不可能だし、それだから言語なのだと思う。
「日本人ならだれでも同じ文章を書く」なんて気持ち悪いですしね。否定的で反発したのですが、逆襲されました。

「確かに、WPF/LINQ/AJAX/正規表現/.....いろいろと新機能は次々と登場する。しかし、業務アプリの仕組みはコボル登場以前から変わっていない。
 データを入力して、蓄えて、定型書式で出力するだけだ。この流れは10個程度のパターンに分類できる。
 当製品の言語は、パラメータに近い文法で記述したソースだ。、それだけで業務パターンを実行できる優れものだ。
 新人もベテランも、誰が作っても同じソースを記述することになる。それだけ生産性が高まる。
 今後何十年たってもこの姿は残る。すなわち安定した製品である。
  買わないか。

 私と方向性が違うので、ゴメンナサイ。しました。
確かに、特定業務では、コボルでも十分対処できているので、何十年も同じスタイルなのが良い面もあるので、否定するものではありません。
でも、業務アプリがいつまで、その範囲で収まっているとは思えない。エントリー端末がキーポードからバーコード、OCRに変わったり、商品にICタブが付くようになれば、データエントリ系のアプリは変わるでしょう。
集計も「期間、部署、分類、集計方法..」を指示して集計する形式が続くとは思えません。一発指示一発集計が実現すれば、言語も大きく変わるでしょう。
新機能は、言語に加わる機能というより、開発設計を左右するものと私は思うのです。
Linqが使えるから、Linqを使う前提で設計できるし、SQLで集計ができるからSQLを前提に設計ができます。曖昧検索も正規表現を前提に設計できます。
作成者の個性差がソースに出るのは、マイナス面と見えますが、プラス面のが遙かに大きいです。(と信じたい。)
汎用性や新機能を否定し、同じソースを生み出す言語や開発標準は、短期間的にはメリットかも知れませんが、長期視点では納得できませんでした。

posted @ 0:05 | Feedback (10)