ニートステーション・017

広告

宮廷首席卒ニートさん

俺は間違えて会社に入っちゃったけど、
ずいぶんと取り返せない貴重な時間を無駄にしたお

あれは、なんだったんだろって感じだお

プログラミングしたくて会社はいったはずが・・・

プログラミングというのはかなり変な分野で、独学であんまりお金がなくてもモノになるんです、不思議と。

もし、そーですね、車が好きだとして趣味で車をいじったりするとしたら、結構お金がかかります。オリジナルの車でも作ろうと思ったらもう大変なお金がかかります。で、自動車会社に入れば会社の金で遊べるじゃないかと。最近は自動車メーカーも付加価値が低いのでブラック化が著しいようですけど。入るならポルシェとかフェラーリとか、あるいはBMW、ダイムラーみたいなポリシーのあるところがいいですね。小さいけどロータスとか。日本みたいに荷車ばっか作っているところは嫌だ。

話が飛びました、会社に入ることで鍛えられるプログラミングの能力はチーム開発とか、大規模開発関連だけでしょうね。ニートでひっそり開発していた方が、気力が続くならたぶん上達は早いです。最近のおいらは気力が抜けていますけど。

あんまり詳しくないんだけど、
Monoみたいなアプローチって面白そうな気がするなあ

MonoはMicrosoftの.NETフレームワークのオープンソース実装です。まあ、面白いと言えば面白いでしょうか。

.NETは昔はCOMとか、ActiveXとか言われていました。もっと前はOLEかな。

例えばVisual C++で開発したクラス(オブジェクトの設計図)をライブラリ化するとします。で、onaneet.dllとかdllにして配布するわけ。ところがユーザーはgccでそのクラスをリンクしようとすると面倒くさいことが起きたりします。例えばnewの実装が違うとかね。Visual C++で作られたクラスでnewしたものを、gccでdeleteすると変なことが起きるとかです。

さらに、Visual C++で作ったクラスをVisual Basicで使おうとかするともうメチャクチャなことになります。で、それをMicrosoftが解決策を提示したのがActiveXとかCOMと思えばいいです。しかし、ほとんどの人はActiveXの有用性を理解できなかったようで、おいらの認識ではMicrosoftは凡人の発想の10年先を行く技術を持つ天才集団ということになります。

でも、凡人は理解できないから、そういうことを言うと「m9(^Д^)プギャー」とか言うんでしょうね。歴史上こうしたことは度々起きているので珍しくありません。携帯だって少し前まで「電話を持ち歩いてどうすんの?」って真顔で言う人が大勢いましたし。

AndroidかiPhoneなのか、あるいは別のプラットフォームか?
その先がはっきりと見極められないけど、
それ故に,こんなアプローチが面白いなと思った。

iPhoneでC#による開発は可能のようですけど、可能なだけです。あんまりメリットないですね。そもそも仮想マシンで実行というのは、非力なハードウェアでは圧倒的に損なんですよ。というわけで、Androidも最初のリリースはたぶん全然ダメぽだと思いますよ。Google資本で何とかしちゃうかも知れないけど、方向性が悪い。

例えばですよ

            startTime = System.currentTimeMillis();
            // 1回目のループ
            for(int i=0; i < 1億; i++) {
                baseNum += incrementNum;
            }
            endTime = System.currentTimeMillis();

            processTime1 = endTime - startTime;

というコードをあるAndroid端末で実行したら27,641msかかったそうです(おいら試してない)。forループ中の+=を2回にすると処理量は約2倍になると思いますが、実際には32,262msであんまり増えてない。ということは、Androidってループが遅いんです。iPhoneと同じハードウェアなら10倍くらい遅いかも知れないとの評判です。

AndroidはgmailとかGoogle Mapみたいに、サーバ上でほとんどの処理をやりとりしちまえ的発想があるようで、ローカルで動かすアプリはたぶんオマケなんでしょうね。