2010年12月30日木曜日

続・生姜菓子はiPhoneを駆逐することができるのか?

GingerbreadからはHOMEアプリ(要するに待ち受け画面を表示して、各アプリを起動するためのアイコンを表示するもの)を入れ替えできなくなるという噂がありましたが、結局それはデマだったのかな?
端末メーカーが独自で作成したHOMEアプリが、使いにくかったり、動作が遅かったり、エラーで止まって画面真っ黒になったり、と問題が多発しているので、Googleも厭になってるのかなと思ったのですが、流石に端末メーカーからの反発が大きくて取りやめにしたのでしょうか。

さて、先ほどまともなJavaプログラムがないという話を書きましたが、実はGoogleがコーディングしているAndroidライブラリや標準アプリでも、ソースコードを見ると明らかに、今までCやC++でしかプログラムを書いててJavaは初めてな連中が書いているコードが多いです。そもそもGoogle自身が、Android Javaプログラムのコーディング規約やコーディングTipsを開発サイトに公開しているのですが、それすらもろくに守られてないコードが大半です。
はっきり言って、こんな質の低いコードでよくまともに動くなと不思議なくらい。まあ、学生時代からOpen Sourceに関わってきた連中のコードって、大体そうなんですけどね。メンテナンス性ゼロで、1箇所変更したら、あちらこちらで矛盾が出て、まともに動かなくなるようなコードを書いて、得意げになるのが多いのです。「俺のコードは他の奴には理解できないだろう」って。
アマチュアならそれでいいのだけど、プロだとそうはいかないのですが、実際にプロとして働いているプログラマーで、メンテナンス性・可読性のよいプログラムを書くことが何故大切かを理解している人は、ほんとに少ないのです。
Object指向というのが世に出て、かれこれ四半世紀になると思いますが、未だにObject指向の意味を理解している人は少ないし、Object指向という考え方が何故出て来たかを理解している人はもっと少ないです。
まあAndroid以前の、既存のケータイ向けのOSとかプログラムとかも似たようなものだから、Androidだけが特別低品質なコードってわけでもないのですけどね。
iPhoneを追い掛けるために、大急ぎで開発しているので、おかしな設計やコーディングがあちらこちらにあって、それらがMajer Version Upの時に大幅に変更されたり修正されたりしているので、Googleも自覚しているとは思います。
その点、iPhoneのiOSは、大本がNeXT Stepで20年前から開発が繰り返し行われて来たものなので、Androidのような妙な設計は少ないと感じます。

仕様については、ほとんどがiPhoneの真似をAndroidがしているのですが、逆にAndroidが始めたものをiPhone4で取り入れられたりしていて、どういうものがユーザーに受け入れられるかをお互いに探り合って、よいものをドンドン取り入れている過程だと思います。
だから今の段階で、iPhoneだと何ができる、Androidだと何ができない、というのを比較して、どちらが今後普及するか?を論じるのは全く意味がありません。

経済評論家(といっていいのか?)の大前氏が、やたらと「iPhoneは使うためにパソコンが必須だから、絶対に普及はしない」とおっしゃっているのですが、根本的なところで何かを勘違いされているとしか思えません。そもそもAppleが携帯電話のシェアで一番になろうとかは目指していないでしょうし。

0 件のコメント:

コメントを投稿