2011年05月21日

Androidは電話機の夢を……(ありきたりなので以下略(笑))

それにしても、どうして自分はこうもヘボいのか?
ずっとServiceの起動について試行錯誤していたのですが、甚だしいやる気の低下とともに真剣さが失われていることもあり、構文がゴチャゴチャになり、訳が分からない状態になってました。
もうね、全然ダメですよ。

しかし、数学的才能、論理的思考、プログラミングスキルと経験。いずれも持ち合わせていないのだから、せめて英語のドキュメントを平然と読み下す力を持ち合わせていたら良かったのに、それもないので最悪ですね。どうしてもアプリなんか作ろうとしているのか。
まあ、その理由は主に昔からSF小説好きだったので、未来的ガジェットたるPDAひいてはスマートフォンを好んだからという幼稚なものなのです。

では、せめて少し英語へのアレルギーをなくそうか、とKindle for Androidにおまけで入っていたイソップ物語をちょっと読んでみようとしたところ、1ページに知らない、あるいは忘れた単語続出……
ヤレヤレ、童話すら読めないとは、やはり「どーしよーもない」。(苦笑)

ところでアプリの名前を考えていて、少なくともクラス名は英語でそれなりのものにするわけなので、色々と考えているうちに連想がジェイムズ・ティプトリーJr.の「たったひとつの冴えたやり方」に行き当たったのですが、これって原文タイトルどんなのだっけ、と思ってググりました。
結果は「The Starry Rift」?これは収録されている短編集のタイトル?
分からないので、結局単行本を引っ張り出してきて調べました。(笑。というより内容を細かく思い出せなかった)

「The Starry Rift」は未踏の星の領域というような意味合いの模様。
「The Starry Rift」は厳密には同じ背景の物語三編を連ねた連作中編集。
そして、「たったひとつの〜」の原題は「The Only Neat Thing To Do」。
Neatは「素晴らしい」というような意味があるようです。

「たったひとつの〜」は日本ではかなりあちこちで流用されるパンチの効いた科白ですが、英語だとなんだかそれほどインパクトが強くないような印象です。Englishネイティブではないので分かりませんが。今なら「The Only Cool Thing To Do.」とかになりそう。(笑)
ちなみに、同じジェイムズ・ティプトリーJrの有名な作品「愛はさだめ、さだめは死」は「Love Is the Plan the Plan Is Death」。
これもイメージだとDestinyって感じなので、なんだか拍子抜けしました。
なお、ティプトリーJrではないですが、こんなパクリが許されるのかっ!と思った(法律的には許されるそうですね)「世界の中心で愛を叫ぶ」の元ネタ、ハーラン・エリスンの「世界の中心で愛を叫んだけもの」は「The Beast that shouted Love at The Heart of The World」なので、原文そのままっていう印象です。
(念のためWikipediaでチェックしたら、「世界の中心で愛を叫ぶ」は、実際はエリスンの小説タイトルを元にサブタイトルをつけたエヴァンゲリオンTV版からパクったんですね!ビックリ!小説家がそれでいいのか?)

いや、なんだか話が大きく外れました。このブログに書くような内容ではありませんね。(笑)
でも書くところが……って、本来の自分のサイト(のブログ)に書けよって言われそうですね。完全に放置状態ですし。(笑)
ま、要は僕はプログラムだけでなく、英語もホントにダメダメというお話でした。

最後にいくつか注釈を。

1.Wikipedia日本語版は本家英語版を訳しているっぽいものが多いことに気づきました。ジェイムズ・ティプトリーJrの内容なんかほぼそのまんま。
2.ジェイムズ・ティプトリーJr.は結構壮絶な人生を終えた人なので、興味があればWikipediaを読んで見ると良いかな、と思います。
3.人の好みは様々とはいえ、読んでないのでCMとかから想像するような内容を考えると「世界の中心で愛を叫ぶ」の売り上げが「ノルウェーの森」を越えてしまうのは、「ノルウェーの森」があまり好きではない僕であっても釈然としないため、少々攻撃的な書き方となりました。同じ思いを抱いている人は少なくないような気がするので、売り上げが伸びすぎたのは片山氏にとってある意味不幸なことですね。
4.Android SDKのリファレンスを参照する時、これまではPCローカルのデータを開いていましたが、考えてみるとネットに接続できる環境ならChromeとかで翻訳用拡張機能(ちなみにWeblio 英和辞典エクステンション)をインストールしてネット上で見た方が有利(ローカルのものは翻訳できない)なことに今さら気づきました。

Serviceの起動については、また気が向いたら(多少解決を見たら(笑))。
posted by 白虹 at 01:20| Comment(0) | TrackBack(0) | Android開発

2011年05月16日

いつでもどこでもダメなヤツ

ドコモの新機種が発表されましたね。
その中で思わず「欲しいっ!」と思ったのはAndroid端末ではなく、Windows7が動くというWindow7ケータイこと「F-07C」。
Javaの勉強にいつでもどこでもJavaのコードが書ける端末があればなあ、と思っていたところなのです。
でも、お高いんでしょうねえ。(笑)

(少々話は外れますが、携帯電話の値段の高さってなんとなく納得いきません。他機種少量生産で小さいが故に高度な実装化技術が必要とはいえ、ネットブックが3万円台で売られているのだし、昔のPDAはもっと少量生産(笑)だったはずだけど、もっと廉価なものが多かったのですからね)

しかし、どこでもコードが書ければ上達するなどというのは夢物語だということは分かっておりまして、要はやる気の問題なのでしょう。ただでさえ、才能がないのだから、毎日1アプリくらい作る気構えがないと(笑)駄目ですよね。
結局ダメなヤツはいつでもどこでもダメということです。(苦笑)

その上、(前から何度も言ってますが)最近ますますやる気が失せています。
参考書やWebの解説を読んでも全然頭に入っていかない。コードを書こうと思っても、苦痛すら感じそう。
特にAndroidの方で顕著です。
「こういうアプリを作りたい」というのがあっても、所詮自分に実現できる技量がないことを思うと、なんか気分が萎えてしまっているような感じです。
ふぅ……

ところで、「いつでもどこでもコードを書く」という趣旨では、

http://ideone.com/

で、オンラインでコンパイルしてくれるというサービスがあったのですね。
Android用にはIDEdroidなんていうアプリもあったりするので(ただし、OS2.1以上が必要)、思わずキーボード付きもしくはUSBホスト対応のAndroid端末が欲しくなってしまいましたけど、GUIはコンパイルできないみたいですね。
やっぱりF-07Cが必要?(笑)
posted by 白虹 at 22:57| Comment(0) | TrackBack(0) | Android開発

2011年05月15日

最近はまったこと その2(コレクションのスタック)

(その1からご覧ください)
ArrayListに順番に項目を追加をしていって、ある条件が来たら特定の項目まで戻り、新しいデータを追加し直すというコードを書こうと思いました。
つまり、
a
a b
a b c
と項目を追加して、1番目の項目を残して後戻りするという条件が成立したら
a b2 c2 ...
とaを残して2番目から新しい項目を追加し直していくというものです。

それで最初num番目の項目へ戻る(numを残してそれ以降を削除する)という部分を
for(int i=num;i<arrayList.size();i++){
arrayList.remove();
}
と書いて、これでnum以降最後までの要素を削除できると思い込んでいたのですが、arrayList.remove()をすると、要素の数も減ってしまうので、終了条件のarrayList.size()も小さくなって、必要な回数ループしなくなるという大馬鹿なことをしたのでした。(笑)
これに気づくまでに丸一日以上かかったというトンでもない私でした。

さて、そこでループを書き直そうとしたのですが、ふと最近の勉強の成果を思いだし、ここはスタックを使って書くところなのではないかと思い至りました。
そこで、
while(arrayList.size() >= num){
arrayList.removeLast(); // スタックでデータを後方から削除
}
と、書き直してみました。
動かしてみると、良いみたいですが、なんだか本当に正解になっているか不安です。(笑)

それにしても、どうしてこう頭が悪いのか、と。
かつてビル・ゲイツはポール・アレンと共に不眠不休の作業を行い、8週間でBasicを作り、ポール・アレンはその納品(?)の途中でブートローダを作り忘れていたことに気づいて飛行機の中で(※)それを作ってしまったそうですが(以上Wikipediaより)、そういうのって僕には宇宙人としか思えません。
SF作家のウィリアム・ギブスンはサイバー・パンクの魁となった「ニューロマンサー」を発表したところ、多くのハッカーから、「こいつはプログラミングを何も知らない」と叩かれたそうですが、ガンダムには戦闘中に乗機のOSを書き換えてしまう主人公がいるとか(爆笑。どんなにゆっくりとした戦いなんだ)。
そこまで行かなくても、目を閉じても鼻歌交じりでコードが書けるようになれたらなあ、と思います。
きっと、天才ハッカーと呼ばれるレベルの人はピアノでも奏でるようにコードを打ち込むんでしょうね。見てみたい。

※MS誕生前という時代でノートパソコンと呼べるものもなかったのではないかと思いますが、どうやって飛行機の中で作ったのでしょうか?

posted by 白虹 at 00:53| Comment(0) | TrackBack(0) | Android開発