20: 2009-11-17 (火) 12:08:30 |
現: 2024-01-08 (月) 12:58:41 ゲスト |
- | * ぐいぐい01に関するメモ-03 | + | TITLE:x |
| + | * ぐいぐい01に関するメモ-03 [#m5a822b7] |
| -(by [[K]], 2008.04.28) | | -(by [[K]], 2008.04.28) |
| -メモのうち重要な部分をそのうちまとめてまともなページを作る | | -メモのうち重要な部分をそのうちまとめてまともなページを作る |
- | *** (12) 標準ライブラリ不要論? | + | *** (12) 標準ライブラリ不要論? [#o2dda1e9] |
| -C言語には一般にprintfやputsやfopenなどの標準ライブラリというものがある。これの何がありがたいのかというと、これらの関数だけを使っている限りにおいてソース互換が達成されて、CPUやOSが違ってもソースコードを流用したり共用できるというものである。・・・まあでもこれは建前で、現実にはエンディアンやint幅の違いでただの再コンパイルだけではうまくいかない場合も少なくはない。 | | -C言語には一般にprintfやputsやfopenなどの標準ライブラリというものがある。これの何がありがたいのかというと、これらの関数だけを使っている限りにおいてソース互換が達成されて、CPUやOSが違ってもソースコードを流用したり共用できるというものである。・・・まあでもこれは建前で、現実にはエンディアンやint幅の違いでただの再コンパイルだけではうまくいかない場合も少なくはない。 |
| -さて「ぐいぐい01」を使えば、このようなライブラリに頼らずともソースの完全互換どころかバイナリまで互換になる。エンディアンとかintの幅とかが違う心配も全くない。差異はせいぜい環境によって処理速度や画面の解像度が違うといった程度で、これは同じOSのAT互換機間でも生じうる差だから、事実上、機種の違いはないといっていい。 | | -さて「ぐいぐい01」を使えば、このようなライブラリに頼らずともソースの完全互換どころかバイナリまで互換になる。エンディアンとかintの幅とかが違う心配も全くない。差異はせいぜい環境によって処理速度や画面の解像度が違うといった程度で、これは同じOSのAT互換機間でも生じうる差だから、事実上、機種の違いはないといっていい。 |
| -こうしてみると、なんで世の中の人たちは「ぐいぐい01」のようなアプローチをしなかったんだろうと思う。WindowsとLinuxとMacOS(BSD?)とTownsOS(DOS-Extender)で共通のアプリが作れるようにしていればよかったのに。これらに対して共通のOSを用意しないといけないと思っていたのかな、でもefg01で分かるようにそんなことしなくてもバイナリ互換は達成可能だったのに。そしてアプリが共通化されていれば、ソフトウェア資産なんてドライバくらいしか優劣がなくなるから、OS同士の競争が進んでOSも進化しただろうに。まあいいや、誰もやってくれなかったから僕がやっているわけで、僕は苦労する代わりに「世界初」という肩書きももらっておくことにするよ。きっとjavaや.netでこれをやったつもりになっているんだろうな。でもjavaや.netではオーバーヘッドが大きすぎて「ぐいぐい01」の代わりにはならないと思う(ここでいうオーバーヘッドは単に実行時の処理のオーバーヘッドだけではなく、他の環境への移植の苦労も含む)。 | | -こうしてみると、なんで世の中の人たちは「ぐいぐい01」のようなアプローチをしなかったんだろうと思う。WindowsとLinuxとMacOS(BSD?)とTownsOS(DOS-Extender)で共通のアプリが作れるようにしていればよかったのに。これらに対して共通のOSを用意しないといけないと思っていたのかな、でもefg01で分かるようにそんなことしなくてもバイナリ互換は達成可能だったのに。そしてアプリが共通化されていれば、ソフトウェア資産なんてドライバくらいしか優劣がなくなるから、OS同士の競争が進んでOSも進化しただろうに。まあいいや、誰もやってくれなかったから僕がやっているわけで、僕は苦労する代わりに「世界初」という肩書きももらっておくことにするよ。きっとjavaや.netでこれをやったつもりになっているんだろうな。でもjavaや.netではオーバーヘッドが大きすぎて「ぐいぐい01」の代わりにはならないと思う(ここでいうオーバーヘッドは単に実行時の処理のオーバーヘッドだけではなく、他の環境への移植の苦労も含む)。 |
| | | |
- | *** (13) バージョン対応表 | + | *** (13) バージョン対応表 [#pc917b16] |
| -(2008.12.25時点) | | -(2008.12.25時点) |
| -代表的な実行環境(右にあるほど実装度が高い・最新仕様) | | -代表的な実行環境(右にあるほど実装度が高い・最新仕様) |
| ---COLOR(#ff0000){abcdw000}にバンドル([OSASK 00101]): hellok0(v) | | ---COLOR(#ff0000){abcdw000}にバンドル([OSASK 00101]): hellok0(v) |
| | | |
- | *** (14) 仕様変更リスト | + | *** (14) 仕様変更リスト [#c00bdd6c] |
| -(2008.12.25時点) | | -(2008.12.25時点) |
| ~ | | ~ |
| -(2008.05.08)コマンドライン取得APIの仕様を変更する予定。これに伴い以下のアプリはabcdw004以降のバージョンでは使用不能。 | | -(2008.05.08)コマンドライン取得APIの仕様を変更する予定。これに伴い以下のアプリはabcdw004以降のバージョンでは使用不能。 |
| --echonr0, calcnr0, calc0 | | --echonr0, calcnr0, calc0 |
- | * こめんと欄 | + | * こめんと欄 [#c5a31d01] |
| - [[M59]]さんがabcdw006をLinuxに移植してくれました。どうもありがとう! http://d.hatena.ne.jp/mandel59/20081218/1229613730 -- [[K]] &new{2008-12-19 (金) 11:33:09}; | | - [[M59]]さんがabcdw006をLinuxに移植してくれました。どうもありがとう! http://d.hatena.ne.jp/mandel59/20081218/1229613730 -- [[K]] &new{2008-12-19 (金) 11:33:09}; |
| - [[M59]]さんがabcdw006をBeOSにも移植してくれました! http://d.hatena.ne.jp/mandel59/20081221 -- ''K'' &new{2008-12-22 (月) 16:12:05}; | | - [[M59]]さんがabcdw006をBeOSにも移植してくれました! http://d.hatena.ne.jp/mandel59/20081221 -- ''K'' &new{2008-12-22 (月) 16:12:05}; |