2012年12月8日土曜日

AppleScriptの勉強開始&Kindleについて

Macユーザーとしては相当長いし、一時期プログラミングを仕事にもしていたのだけどれも、Macについては一切プログラミングらしいことをしていませんでした。

ちょっと「プログラミングしない主義」に近いものが。

AppleScriptをプログラミングというかどうかは多少意見がわかれるかもしれませんが、最近AppleScriptでプログラムすることに。前からずっと思っていた定形作業がありました。もう10年近く毎日やっている(笑)。これは自動化することは見えていたのだけど具体的な手段であるAppleScriptがわからなかったのでずっと、ただひたすら人力で作業していました。

ということで、AppleScriptをはじめることに。実は過去にも数度、ちょろっと手を出しては、意味不明のエラーが出てつまづくという状態でした。今回も当初ネット検索で解説サイトやAppleのdeveloperサイトをみるだけでいけるか?と思ったのですがやっぱりそうでもなかったので、ちゃんと本を読むことに。とはいえ、そんなことをしている間にネットと2chでつまみ食いをして、やりたい自動化そのものはとりあえずscriptを完成させてしまったのですが。

せっかくの機会なので、ちゃんと本を読んでみよう、と。アマゾンをみると日本の本は2004年くらいまでで止まっている。さすがに、あまり古いとAppleScriptの機能が違っていたりするので、これはこまるなあ、と。そこでアメリカのアマゾンで検索したところ、アメリカもそんなに最新の本はないが、2010年くらいまでは本が書かれている。これはLeopard〜Snow Leopard(10.6)なので、今年の夏に10.8 Mt. Lionが出た今現在では、かなりいい線。

さらに、英語の本の場合、Kindle版が出ていることが多い。Kindle版のメリットは

  • 安い(場合によるとかなり安いです)
  • すぐ手に入る
    • 日本のアマゾンでも、最短で翌日配送ですが、洋書となればそれなり、アメリカからなら一週間〜一ヶ月かかります。が、Kindleならその場でダウンロードし、それで読み始められます。

ということで、Kindle版で買ったのはこれ:

大分読み進んでいますが、それなりにプログラミング経験のある人にはちょっと冗長。とはいえ、導入部分でもプログラマー向けにも書いてあるとあります。後半がそうかもしれません。追って感想を書きたいと思います。

それに、AppleScriptの「基礎」というのがありますので、いきなり文法と、コマンドだけのリファレンスガイドみたいのをみても、エラーが取れないことも確かです。 AppleScriptはちょっと独特な言語な気がしますし、当然そんなにユーザーが多いわけでもない(さらには、ユーザーがプログラマーというよりは、出版とか画像とか、非プログラマーが多かったりして、プログラミング的情報発信は弱いと思います)ので、初歩を疎かにすると変に苦労するかもしれません。 少なくとも、今、この本を読んでいる私は「初歩から入ってよかった」と思っています。

ところで、Kindle。

Kindleと書きましたが、それはあのハード(タブレット)のKindleではなく私はMac版のKindleソフトを使っています。もちろんiPhoneとiPadにもinstallしましたが。

Kindleについてもこれが初体験なので(実はさらにautomatorの本もKindleで買ってあります)、まだまだわかってくることがあるでしょうし、さらにはこの"Learn AppleScript"が、 Kindleなどの電子出版も想定して作られたかというとそうでもないのではないか?と思うので(何らかの電子データで書かれているでしょうが、単純に変換しているだけだと思います)、この本を読むことでKindleの能力を全て知った事にはならないでしょう。が:

  • ページの概念がないので、読んでいる場所(引用とか)を表現する方法がない
    • Kindle上ではlocationという数字が出るのですが、これはページではなくもっと数字が大きいので、文字数かそんなものではないか?行数ではない、と言い切れるのはKindleは文字の大きさ、一行への詰め込みぐあいを設定できるからです。なので一行の文字数がユーザーの設定によって自在に変わってしまうので「行数」で場所を示すことはできません。
    • これは、目次にもページ数が出ないということで、今読んでいるのが何章なのかがわからないのです。どれくらい読み進んだか、とか。
  • この本の場合、ところどころ、変換失敗がある。
    • ">"が消えてしまっている。">"はプログラミング言語では比較演算子なので、この演算子の解説やif文などに使われるため、すぐに気づきます。 逆にプログラミング言語じゃない本の場合だと使用頻度が低い文字だけにそれが抜けると意味が全くわからなくなる(抜けている事自体に気づかない、あるいはおかしいことはわかるが、何の文字が抜けているのか推測できない)可能性があります。
    • 何かわからないけど、コラム数1、行数3の空のテーブルが時々出てくる。これは全く、推測できません。直前にソースコードが書かれているので、なにかこのソースコードを装飾したものか、このソースコードに何か注釈を付けたものか。 ただしいわゆる「注釈」(英語の本で tipsとか note  とか、背景の色が濃くなって、少し小さい字で補足説明みたいなものを書く書き方)は別途あるので、それとも違います。
  • 一行の幅が自由に変えられるが、複数コラム表示にすると、ある程度広くするとコラム数が増えてしまい行幅は増えない。
    • 意味わかります?w
    • でも、一コラムだけより、ニコラムの方がなんとなく見やすいのですが、が、この場合幅が広くならない。
    • これの問題は図とか、ソースコード。次に書きます。
  • 図とかソースコードが必ず収まるように、とはなってない
    • ソースコードは折り返しの位置を決めて書かれているものです。が、Kindle上では単にフォントが違う「文章」扱いされてしまい、変に折り返されてしまいます。この幅に合わせると変に本文が広くなったり。
    • 図の解像度が固定のようで、幅が狭いと図が隠れてしまいます。一方図の中の字が見づらいからといって図が拡大できるわけではないです(これはKindle版を想定していなかったからかもしれません。あるいは、変換アプリの性能が足りないのかもしれません。多分WORDか何かで元原稿を書いていると思いますが…。 図はベクターデータだと思うのですが。InDesignに落としたところで何か情報が落ちるのかな?)
  • ブックマークが便利
    • 何個でも打てる。ワンクリックで打てる。これが想像以上に便利です。
    • Kindle自体は前回最後に開いていた位置を覚えているのでわざわざブックマークを打つ必要はないですが、「ここまで読んだ」とブックマークを打つのは非常に便利です。ただブックマークの呼び出しはイマイチ機動性がないので、こういう言語の勉強みたいな本で、色々なところへ飛んで読む場合戻るのはちっとも便利ではありません。 webブラウザーのようにバックボタンがあるのですが、ブックマークレベルで戻るのではないので、飛んだ先で少し読むと、バックするのもその少し読んだ分をちょこちょこ戻ってから最後にどーん、とさっき飛んだ場所へ戻る感じになり、イマイチ。

とりあえず、そんなところです。

0 件のコメント:

コメントを投稿