2015年10月13日火曜日

クロスプラットフォームの幻想

今現在クロスプラットフォームに対応しました!という場合、Mac,Windows,Unixとかだろう。 モバイルだったらiOS,Androidもあるかもしれない。

この場合、バージョンは一年に一回上がるとして対応するバージョンが5個増えることになる。 その間にも新しいOSが増えるかもしれない。 アーキテクチャが変わるかもしれない。 新しいアーキテクチャが出てくるかもしれない。 呼び出していたAPIがなくなるかもしれない。 ブラウザとかが関わるのであればさらに掛け算して評価が必要だ。 Javaや.NETだったらRuntimeが対応していないかもしれない。 3DTouchのような操作やGUIの見た目が微妙に違うかもしれない。 ライセンス形態が変わるかもしれない。 Windows3.1とか古いOSはもう対応しなくていいかもしれない。 同じものでもOSごとに性能が違うかもしれない。 仮想環境で動かさないといけないかもしれない。 今だとコンテナ技術なんてのもある。 TVとか家電用のOSもあるかもしれない。 使いたい言語をライセンス的に使ったらいけないかもしれない。

要はJavaが言っていたような Write Once Run Anywhere というのは幻想で、 こんなに色んな技術が出てくるとハードウェアやOSに合う方法や言語を使うのが 結局早くなってしまうんでないかなあと思った次第です。

2015年10月9日金曜日

コピペプログラミング

ほとんどこのブログをqiita的に使っていたので素直にqiitaに書くことにした。 qiitaとかstackoverflowとか見て思うのが最近はほとんどググれば答えが載っていること。 訳のわからないバグもエラーコードで大体理由がわかってしまう。 コピペプログラミングはダメだとかいう人もいるけどそもそも意味がわかっていなければコピペで組むこともできないわけで。 ソフトウエアはオブジェクト指向に代表されるように組み合わせるが基本だと思うので、コピペプログラミングも技術の一つと言ってもいいと思う。 実はコピペプログラミングは生産性を10倍ぐらい上げているはずだと思うんだけどそういうことを研究している人はいるんだろうか?