ページへ戻る

− Links

 印刷 

GUIGUI01​/memo09 のバックアップの現在との差分(No.2) :: OSASK計画

osaskwiki:GUIGUI01/memo09 のバックアップの現在との差分(No.2)

« Prev[4]  Next »[5]
2: 2008-11-22 (土) 12:08:18 ソース[6] 現: 2024-01-08 (月) 12:58:42 k-tan[7] ソース[8]
Line 1: Line 1:
-* ぐいぐい01に関するメモ-09+TITLE:x 
 +* ぐいぐい01に関するメモ-09 [#l2c39a1b]
-(by [[K]], 2008.11.22) -(by [[K]], 2008.11.22)
-メモのうち重要な部分をそのうちまとめてまともなページを作る -メモのうち重要な部分をそのうちまとめてまともなページを作る
---- ----
-(註)[OSASK 00113](abcdw0004)の結果があまりに劇的だったので相当気が大きくなっています(笑)。そのあたりの事情を察して割り引いて読んでください。 -(註)[OSASK 00113](abcdw0004)の結果があまりに劇的だったので相当気が大きくなっています(笑)。そのあたりの事情を察して割り引いて読んでください。
---ちなみにobj2bim4eを「ぐいぐい01」に移植してみたところ、12,800→7,241とほぼ半減となっています。やっぱりすごい。 +--ちなみにobj2bim4eを「ぐいぐい01」に移植してみたところ、12,800→7,212とほぼ半減となっています。やっぱりすごい。 
-*** (20) 「ぐいぐい01」こそ理想のAPI+--ちなみにgas2naskを「ぐいぐい01」に移植してみたところ、11,155→5,114と半減以上となっています。やっぱりすごい。 
 +*** (20) 「ぐいぐい01」こそ理想のAPI [#hcf9ddc0]
-まずは移植性というところから書こう。世間ではプログラムをきれいに書けとか、できるだけ標準関数だけを使って書けとか、ソースはオープンなほうがいいとか、まあそういうことがちょくちょく言われる。これは改良したい場合(他人に改良させたい?)と、移植したい場合の二つの理由からなると思われる。この改良したいという点に関しては、まあ基本的にごもっともなので僕から言うことはない。しかしこと移植性の確保のためということであれば、僕は言いたいことがある。 -まずは移植性というところから書こう。世間ではプログラムをきれいに書けとか、できるだけ標準関数だけを使って書けとか、ソースはオープンなほうがいいとか、まあそういうことがちょくちょく言われる。これは改良したい場合(他人に改良させたい?)と、移植したい場合の二つの理由からなると思われる。この改良したいという点に関しては、まあ基本的にごもっともなので僕から言うことはない。しかしこと移植性の確保のためということであれば、僕は言いたいことがある。
-まず最初に言っておきたいのは、「究極の移植性とは、移植をしないで済むことである」ということだ。つまり100%のソース互換が達成されるのであれば、プログラムがどんな内容だろうと、移植性を理由に文句を言われる筋合いはない。また更に進んでバイナリ互換まで達成されているのであれば、使っているコンパイラがやたらと古い版で入手困難だったり、物凄く高いコンパイラを買ってこないとmakeできないようなものであったとしても、さらにはそもそもソースが非公開であったとしても、そんなことは全く問題にならない。 -まず最初に言っておきたいのは、「究極の移植性とは、移植をしないで済むことである」ということだ。つまり100%のソース互換が達成されるのであれば、プログラムがどんな内容だろうと、移植性を理由に文句を言われる筋合いはない。また更に進んでバイナリ互換まで達成されているのであれば、使っているコンパイラがやたらと古い版で入手困難だったり、物凄く高いコンパイラを買ってこないとmakeできないようなものであったとしても、さらにはそもそもソースが非公開であったとしても、そんなことは全く問題にならない。
Line 18: Line 20:
-さてもし最初のバージョンのWindowsのAPIが、「ぐいぐい01」のような仕様だったらどうだろう。もしそうなら、たとえWindowsがLinuxやMonaOSくらいに激変するようなAPI仕様の大転換があったとしても、別にたいした問題にはならない。10KB程度のefg01に相当するものを入れればいいだけなのだから。・・・想像してみてほしい、もしこうであったら、Windowsの開発者はどれほど自由に次バージョンのOSを設計できるだろう。互換性の維持のためにコードが増えてメンテに戦力を取られ、バグが取れませんでした、なんてことはなくなるのだ(少なくともそういう言い訳はできない)。 -さてもし最初のバージョンのWindowsのAPIが、「ぐいぐい01」のような仕様だったらどうだろう。もしそうなら、たとえWindowsがLinuxやMonaOSくらいに激変するようなAPI仕様の大転換があったとしても、別にたいした問題にはならない。10KB程度のefg01に相当するものを入れればいいだけなのだから。・・・想像してみてほしい、もしこうであったら、Windowsの開発者はどれほど自由に次バージョンのOSを設計できるだろう。互換性の維持のためにコードが増えてメンテに戦力を取られ、バグが取れませんでした、なんてことはなくなるのだ(少なくともそういう言い訳はできない)。
-僕がWindowsの開発者だったら、efg01を見て、きっと「ああなんてことだ、こうしておけばよかったのか」と地団太を踏むと思う。今のWindows開発者がそのように思うかどうか分からないけど、思わなかったらまだまだなんだろうなと思う(正解を見せられて理解できる人は多いけど、正解を見せられてもまだ理解できない人も世の中にはいるから)。 -僕がWindowsの開発者だったら、efg01を見て、きっと「ああなんてことだ、こうしておけばよかったのか」と地団太を踏むと思う。今のWindows開発者がそのように思うかどうか分からないけど、思わなかったらまだまだなんだろうなと思う(正解を見せられて理解できる人は多いけど、正解を見せられてもまだ理解できない人も世の中にはいるから)。
-*** (21) 1bitの本当の価値+*** (21) 1bitの本当の価値 [#l473daba]
-多くの人は1bitの本当の価値を忘れていると思う。特に最近はたとえば2GBのmicroSDが299円とかになっていて、1MBの値段は0.15円くらいだと思っているのだろう。これはある意味では正しい。もしそのプログラムやデータがずっとそのフラッシュメモリの中だけにあるのなら。 -多くの人は1bitの本当の価値を忘れていると思う。特に最近はたとえば2GBのmicroSDが299円とかになっていて、1MBの値段は0.15円くらいだと思っているのだろう。これはある意味では正しい。もしそのプログラムやデータがずっとそのフラッシュメモリの中だけにあるのなら。
-でもよいプログラムであれば、公開後に多くの人がインストールすることになるだろう。そうすると、もし100人がインストールするのであれば、人類全体の総コストは100倍になる。1MBあたりの単価は実に15円にまで上昇してしまう。1万人ならさらにその100倍だ。 -でもよいプログラムであれば、公開後に多くの人がインストールすることになるだろう。そうすると、もし100人がインストールするのであれば、人類全体の総コストは100倍になる。1MBあたりの単価は実に15円にまで上昇してしまう。1万人ならさらにその100倍だ。
Line 26: Line 28:
-でもまあ非公開で結局自分しか使わないプログラムなら、被害は1倍にしかならないのでたいしたことはない。まして、一度やればもうめったにやる必要のないような処理であれば、別に10MBでも構わない。 -でもまあ非公開で結局自分しか使わないプログラムなら、被害は1倍にしかならないのでたいしたことはない。まして、一度やればもうめったにやる必要のないような処理であれば、別に10MBでも構わない。
-* こめんと欄+* こめんと欄 [#meff8e47]
#comment #comment
« Prev[4]  Next »[5]