http://rubikitch.com/に移転しましたスマートフォン用の表示で見るhttp://rubikitch.com/に移転しましたこの広告は、90日以上更新していないブログに表示しています。Lispテクニックバイブル』発売しますemacsお久しぶりです。〜真髄を知るLispの掟〜』を執筆しました。この本は、すでにEmacsを使っている人が、Emacsを手足の如く扱うことを目的にしています。Lispプログラムを活用して、快適な環境を構築するためのカタログ的な本でした。Lispプログラムによって、あなたのEmacsは劇的な進化を遂げたことでしょう。それでも、人間の欲というものは限りないものです。「世界でただ一つ、俺だけのEmacsを作りたいぜ」みたいな欲が出てくるんですね。本書は絶対に買わないといけないと断言できます。そもそもEmacs上での課題を解決するには、2通りの解決法しかありません。Lispを書いて解決するこう書くと、探す方が圧倒的に楽であるかのように思えてきますが、そう簡単な問題ではありません。そこに立ち塞がる最大の壁が「英語」です。我々日本人の多くは、英語を速読することができません。大量の英語の海に入らないといけないのです。使い方を学ぶこともバカにならないコストです。マニュアルはもちろん英語です。丁寧に解説してあれば、なおさら長文の英語を読まないといけません。予想外の挙動に悩まされることになります。Lispを書いた方が早いのです。続けてF12を押して切り換えたい場合を考えます。ファイルは、以下の3つとします。~/memo.org~/project.org~/gtd.orgこれらのファイルは特に重要なので、ワンタッチで開けるようにしたいという目的を想定します。この程度のプログラムならば、わずか10行(設定込)で済みます。file-ring)))そして、以下のように設定すれば今すぐ使えます。'open-file-ring)お好みのファイルに置き換えて試してみてください。これくらいのプログラムならば、10分あれば書けます。LispプログラムがEmacsWikiにあるとしたら、それを探すのに何分かかりますか?膨大な英語を掻き分けて、いろいろな検索ワードを使って調べないといけません。そのプログラムがある保証はありません。存在しなかった場合は、その時間は無駄になってしまいます。このように、自分で書けば解決する問題というのは案外多いものです。Lispの知識が不可欠になります。Lispの世界は広大なため、どこから手をつければいいかわからない人が多いと思います。幸いなことに日本語訳も存在します。情報が古い上に、普段使わない事柄も多く載っているため、すべてを理解するのはとてつもなく時間と労力がかかり、困難です。マニュアルというのは、性質上全ての事柄について説明してあります。それに対して、本質的に必要となる知識は20:80の法則が表すように2割程度に過ぎません。必要なときに調べれば済むことです。マニュアルから学ぶということは、かなり時間のロスになってしまいます。Lispを教えていきます。実際にelispで書いてみる日常の作業を便利にする小さなコマンドくらいは、2段階目が終わった段階で書けるようになります。5、6段階目に入ったところで、本当のLispの楽しさを知ることになります。学ぶなら、楽しい方がいいに決まっています。LispのひいてはEmacsの楽しさを再発見していただきたいです。本書は僕の近著とは異なり、オーソドックスに基礎から順番に解説していくスタイルです。最初はとても易しく、徐々に高度な内容に入っていく形をとっています。これだけだと前に学んだ内容を忘れてしまう問題があります。手軽に復習できるようにしています。「こういう時には何を使うんだっけ?」という疑問がわいてくるものです。そこで、「逆引き目次」というのを作成しました。78[2-10-1]」といった具合で答えが書いてあるページ数と項番号を書いています。よって本書は、オーソドックス+逆引きのハイブリッドスタイルとなっています。頭から読んで基礎から応用までをマスターし、その後で疑問に思ったときに辞書的に活用できるようにしています。本書には、以下の内容が含まれています。あなたはなんでもかんでもelispで書きたいですか?そうですか、でもelispの特性を知らないと100倍動作が遅くなり、実用的ではありません。すべてelispで書いて使いものにならなかったプログラムの紹介。関数定義の本当の意味とは?一度この視点を持ってしまえば、あなたのコードは10倍綺麗になります。Lispの括弧が嫌いですか?怖いですか?大丈夫です。今までいらついていた括弧と逆に親友になる魔法を教えます。新たなプログラミング言語がなかなか覚えられないで困っていますか?そうですか。elispのプログラムの実行の仕組みは1節に収まるほどとても簡単なのですぐに覚えられます。あなたは*scratch*バッファにコードを書いていませんか?これほどもったいないことはありません。試行錯誤した経験を後で活かす方法をシェア。対話的にelispを実行するときはシェルのようなインターフェースが好きですか?それは最高のインターフェースではありません。テキストエディタの特性を活かし、一度に複数の式の評価結果を知る方法を教えます。正規表現を作成するのは苦手ですか?そうですか。このコマンドを使って正規表現を組み立ててください。初心者でも1分足らずで複雑な正規表現を作成できるようになります。elispの正規表現はバックスラッシュの羅列で醜いですね。実は人間にとって簡単に理解できる正規表現の記法があるのです。この記法に置き換えて、メンテナンス地獄から逃れてください。コンスセルとリストの違いがわからない?それらをとあるものに例えれば5才児相手にも説明できるようになります。whileループを使うのはやめてください。コードの意図をはっきりと表現する方法を学び、まわりのプログラマを一気に追い抜いてください。バイトコンパイラはそのままではただの時間泥棒です。現状では、高速化の恩恵よりも、バイトコンパイル問題解決の方に時間を取られてしまうのです。とある仕掛けを施して悪魔を封印し、あなたのelispを常に2倍速で動かしてください。ヘルプバッファを表示することでせっかく作り上げたウィンドウ構成が壊されていませんか?ウィンドウ表示方法を根底から覆し、邪魔されなくする方法をシェア。オンラインヘルプを見るのに、複数のコマンドを使い分けていませんか?いまや、たった一つのコマンドを覚えれば検索もヘルプも定義もすべてがまかなえるのです。最新のEmacsではハッシュテーブルに大革新が起きたことを知っていますか?強力でありながら、これまで使いづらかったデータ構造でしたが、一気に市民権を得るようになりました。Lispは参照と設定が別の関数(carとsetcarのように)になっていて覚えにくいですよね?この概念を使えば参照の関数のみで値を設定することができます。あなたの脳内メモリを解放してあげてください。Lispの様々な機能がうらやましいですか?そうですか。Lispの機能が使えるようになっているのです。数々の便利機能を伝授。一連のデータの塊を名前でアクセスしたいですか?でもLispの構造体は複雑すぎて困る?いいえ、本質さえ理解すれば十分なのです。学んですぐに使えます。loopマクロが覚えられなくて悩んでいませんか?loopマクロのコアさえしっかりとらえれば、決して難しくありません。1時間であなたもloopマスターになれます。メジャーモードを作成することに抵抗がありますか?実はメジャーモードは最短1行で定義できます。初心者でもメジャーモードを作成できる方法を伝授。あなたはメジャーモードを作成する必要がないかもしれません。多くの人が知らないたった一つの式を.emacsに入れるだけで、メジャーモードの数が20個以上増えます。Emacsユーザにとっての理想的なシェル環境とは?この秘密を知ってしまえば、10年間使ってきたシェルにサヨナラを告げ、Emacsからあらゆるコマンドを起動してしまうようになります。Emacsをマルチスレッド化する方法とは?これまで不可能と思われたelispによる並列プログラミングを可能にする秘技を伝授。最低限のコードを記述すれば、あとはEmacsに任せるだけです。関数の中に関数が書けることを知っていますか?方法は3つあるのですが、それぞれ全く異なる目的になります。その使い分けの基準を明確に教えます。Rubyのブロック付きメソッドが羨しいですか?それに相当する機能はRubyが生まれるはるか昔から存在するのです。喜べ!Rubyistたちよ!!制御構造定義でもメタプログラミングでもなんでもやってしまってください。関数の途中で抜けることができなくて書きにくいですか?その方法はある秘密を使えば可能です。これで手続き型言語に慣れている人も安心です。我々が普段から使っている「同じ」という言葉には、2通りの意味があることを知っていますか?両者の違いを小学生でも理解できる言葉で解説!多種多様な制御構造が用意されている本当の理由とは?使い分けの基準を明確にします。Emacsで音楽・動画を再生したいですか?elispはこういうことも可能なのです。気に入らない挙動の関数を正す最強の方法とは?行儀悪い関数はこの秘術で教育してください。あなたのプログラムのファンに対して敬意を払う方法とは?これを守って開発しないと、あなたのプログラムのファンから不満を買い、使ってもらえなくなります。Windowsのコマンドプロンプトは劣悪でイライラしますよね?無理矢理Windowsを使わされているUnixウィザードにとっての救世主がココにいます。コマンドプロンプトを投げ捨て、コレに置き換えてください。小さなネットブックでウィンドウが分割されるとストレスですよね?この設定でウィンドウ分割が抑止し、快適にEmacsを使い倒してください。変数ひとつ変更するだけでプログラム全体に変化をもたらす「データ駆動プログラミング」の秘密とは?このテクニックを活用して、保守性を5倍に引き上げてください。Lispだからこそできる強力なデバッガとは?一度これを使うと、プログラムのおかしい部分がすぐにわかり、あれだけ忌み嫌っていた括弧に惚れてしまうようになります。Lispを活用できるレベルまで一気に引き上げる内容です。全体像をはっきり描き、基礎から最新技術まで無理なく身に付けられるようになっています。本書に書いてある事柄ならばあらゆる質問の答えが書いてあります。Lispをマスターし、Emacsを手足の如く操り、楽しいEmacsライフを過ごすことから逃れられません。Lisp覚えるの?これを読まないと、Emacsマスターにはなれません。ビーケーワンで買うプレゼント!さらに、お買上の人には秘蔵の音声ファイルをプレゼントします。Vim界のanything.elといわれているunite.vimで有名なShougoさんとの対談です。タイトルは「EmacsとVim〜二人の異端児による次世代エディタ裏話〜」です。EmacsとVim、世界は違えどやりたい放題でお互い思い切り創造的破壊かましています。この対談はディープでコアでかなりアブないです。Lispを書く人はもちろん、Vimスクリプトを書く人も必聴です。プレゼントはすぐに締め切るので申請はお早めに。秘蔵対談ファイルをゲット!次回は、もう一つのプロジェクトを発表します。だめだめ人間がんばらない方が物事がうまくいく!月別アーカイブはてなブログをはじめよう!rubikitchさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。