ソフトウェア業界があんまいけてないのって、傍目にはコモディティ化しようとしているにもかかわらず、生産の現場はそれに対応できてないからじゃないのかなあ、とか思った(リンクは適切じゃないが)。
仕様書うざい→仕様記述言語とか最近考えていたのだが、それってつまりBPELとかそんなん、と言ってもBPELと諸々の仕様書はあんまり同じ物ではないわけだけど、仕様書をバラして組み直せばBPELのようなものになるんだよな。というか、抽象レベルで設計したとして、そこからだんだん低レベルに落としていけば最終的にはコード(むしろバイナリかも)になるはずで、ある種のコードの自動生成は現在でも出来ているわけで、出来ないことはないよな通り一遍のことは、と思うのだが。
まあそういうことができるソフトウェアだけじゃない気もするけど。言語とか。
そもそもどこに向かってソフトを作るのかとかとか、ソフトウェアに何をして欲しいかとか、ソフトウェアを作ることで何を実現したいかとか。
まとめません。
機械的に判断できるであろうと思われる知的生産を可能な限り人間と置き換えたいというのと価値創造とは全く別じゃないとか。
アジャイルってコード至上主義なんじゃないかなあとか。
じゃあプログラマにとってアジャイル自体に価値があるなら、工業化ってプログラマにとってはうれしくないんじゃないかなあとか。コード書いてる間が至福の時だとかね。
高度に発達した情報化社会(イーガンの順列都市ぐらい)においてプログラマの仕事って一体何だろうとか。
それはそれとしてRESTの流行を見ると分散オブジェクトの流行ももう少しだなあという気がせんでもない。計算機資源とか通信コストを誰が持つかとかどう割り当てるかとか。まあそれってRESTでも問題だと思うんだけど。オープンなAPIとか。突き詰めるとコストなわけで、じゃあ収入があればいいじゃんとか。APIの呼び出し自体に価値があるか。価値って何さ。あるAPIを呼び出すとこの結果が帰ってくることがわかってるもの(数学の問題みたいな)はある意味わかりやすい。その辺の検索とか不確実性を伴う物はどうなのか。
まとめません。
追記:手を動かさないで吐く妄言は恥ずかしいな、実に。そういえばtwitterで@t_wadaにBuriとマジカの違いを教えてもらったのを思い出す。 マジカとBuriでは対象とする「もの」の単位(視点?)が微妙に異なるので、そのまま変換できるとは考えないほうが良いと思う。 マジカはヒト視点、Buriはモノ視点。乱暴にくくると、Buriはステートマシンの一種だと考えた方がわかりやすい。。 だから、マジカシートがある、と。モノの状態変化へのアクタの参与という視点を得るために。。
単純にここだけ見てもtwitter面白いよ、という話でもあるんだけど、それはそれとして、マジカは人が読むもの、Buri(というかワークステートエンジンとかそれ用の定義)は機械にも読ませるものという言い換えも可能なのかなと。何が言いたいかというと、まあよくわからないわけだが。そもそもBuri用の定義を書けばいいんじゃねとか、マジカ→Buriを機械的にやるには何が欲しいのかなとか。いや、それこそ、ユーザに直接SQL打ってもらえばいいんじゃねえのとか。OODBって結局状態持っちゃうじゃんとか、でもOODBだと例えばUMLのユースケース図ぐらいの抽象度をそのまま再現できるんじゃないかとか、むしろ言語かつ環境かつDBみたいなのがあればいいのかとか。RDBのViewとしてのOODBとか。