のくす牧場
コンテンツ
牧場内検索
カウンタ
総計:126,368,224人
昨日:no data人
今日:
最近の注目
人気の最安値情報

    私的良スレ書庫

    不明な単語は2ch用語を / 要望・削除依頼は掲示板へ。不適切な画像報告もこちらへどうぞ。 / 管理情報はtwitter
    ログインするとレス評価できます。 登録ユーザには一部の画像が表示されますので、問題のある画像や記述を含むレスに「禁」ボタンを押してください。

    元スレ【熱く】お前のEmacsにはまった理由【語れ】

    emacs スレッド一覧へ / emacs とは? / 携帯版 / dat(gz)で取得 / トップメニュー
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。
    レスフィルター : (試験中)
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitter
    351 : 名無しさん@お腹 - 05/02/08 14:09:23 .net (-1,-29,-9)
    ecb + c++-mode で大分それっぽくなるけど、
    semantic のインテリセンスが使いものにならない。
    352 : 名無しさん@お腹 - 05/02/09 05:13:49 .net (+63,+30,-83)
    動的スコープだって現状じゃ大した問題にもなってないよ。
    厳密なこと言ったら気持ち悪い部分もあるかもしれないし、
    超巨大な機能拡張を lisp レベルでやろうとする際に問題に
    ならなくもないわけじゃないが、そういうのはエディタでやることじゃないだろう。
    それよりこの程度のことを覚えるのが面倒なんていってたら
    何にも実用的なことはできないんじゃないの。
    353 : 349 - 05/02/10 11:15:39 .net (+73,+29,-207)
    お,煽り以外のレスがついてる.せっかくだから書かせてもらいます.

    Emacs を全然知らないというわけではないんです.今このレスも Emacs で書いてる.
    w3m の外部エディタに登録してあるもので.
    だけど,基本的なエディタ機能以外,特に Emacs Lisp の世界は全然知らない.

    実は,Emacs に実用性を求めてはいないのです.メインのプラットフォームは
    Windows だし,開発には Eclipse を使っているから.キーバインドは Emacs 風に
    してあるけれど.

    だから,私の Emacs への興味は,Lisp 環境としてのものなのです.
    そういう人は,このスレの過去にも何人かいましたよね.「Emacs は本物の Lisp
    環境だから,それに憧れて使い始めた」という人が.

    だけど,私のようなミーハーには,今の Emacs は必ずしも憧れではないんです.
    むしろ,過去の遺産に縛られているという話をよく耳にするわけで.あんまり
    好きな言葉ではないでしょうけれど,「バッドノウハウ」と批判する人もいますし.
    354 : 名無しさん@お腹 - 05/02/10 11:24:18 .net (+64,+30,-95)
    ミーハーっつっても色々ある。
    あなたのは単に無駄なことは一つもしたくない症候群なだけ。

    だいたい動的スコープがレキシカルスコープに比べてどういう点で不便なのか
    すらわかってないでしょうに。それがわからないうちは何を勉強しようと
    一緒ですよ。違いが生じる分岐点に至っていないわけだから。

    355 : 名無しさん@お腹 - 05/02/10 11:27:48 .net (+67,+29,-19)
    >>353
    煽ってるのはお前自身。そして独り言はチラシの裏で。
    356 : 名無しさん@お腹 - 05/02/10 11:43:49 .net (+14,-26,-48)
    釣りだろ。

    >>349
    > Guile Emacs が実用的になったら,使ってみたいと思うのだけど.

    >>353
    > 実は,Emacs に実用性を求めてはいないのです.

    Guile Emacs方面に興味があれば知ってるはずのアレを知らなさそうだし。
    357 : 349 - 05/02/10 12:59:15 .net (+19,-30,-148)
    なんか,散々だなあ.

    >>354
    今のところ Scheme に興味を持って学んでいます.クロージャ,継続,清潔マクロ.
    どれもとても面白かったし,基本的な使い方はできるようになりました.

    let と fluid-let の違いと特性は,少しですが分かっているつもりです.
    前者が,現代的な関数型言語の基本となっていることと,
    後者が,解決しにくいバグの原因になることも,ある程度は.

    Common Lisp はほとんど,Emacs Lisp は全然知りません.


    >>356
    Edwin と Edge(Editor on Gauche) のことではないのですよね?
    釣りではないんです.単に知らないだけです.
    358 : 名無しさん@お腹 - 05/02/11 08:41:38 .net (+83,+30,-161)
    >>357
    > 後者が,解決しにくいバグの原因になることも,ある程度は.

    …なんかこう書かれると、偏見に聞こえる…
    「解決しにくいバグ」なんて、スコープを理解してればそんなに出てこないと思う。
    名前空間の衝突とかにも、接頭辞とかでの対策が普及してるわけだし。

    それに、クロージャがほしいって話なら、 CL ってパッケージに lexical-let ってマクロがあるよ。

    ところで、どうしてエディターみたいな環境で、動的スコープが有利って言われてるのかは理解してる?
    359 : 名無しさん@お腹 - 05/02/11 11:01:11 .net (+57,+29,-17)
    それって理解してるとは言わない。日本語では耳学問という。
    360 : 名無しさん@お腹 - 05/02/11 13:03:21 .net (+67,+29,-39)
    >>358
    > ところで、どうしてエディターみたいな環境で、動的スコープが有利って言われてるのかは理解してる?

    どうして?
    361 : 名無しさん@お腹 - 05/02/11 14:05:53 .net (+4,-30,+0)
    別に有利じゃないよ。lexical scope の言語で dynamic binding を使いたい
    ならfluid-let みたいなマクロを用意しとけばいいだけだし。

    Emacs Lisp が dynamic scope なのは、インタラクティブな環境ではそれが有
    利だからじゃなくて、デザインされた当時、Lisp のような言語ではその方が
    効率的だと思われていたからでしかない。現在では byte-opt.el にもあるよ
    うにすでに足枷でしかないんだけど、rms によると既存のコードとの互換性の
    方が重要なんだそうな。

    http://www.paulgraham.com/thist.html
    it was a widely held opinion at the time that "lexical scope is
    interesting, *theoretically*, but it's inefficient to implement;
    dynamic scope is the fast choice."
    ...
    I asked RMS when he was implementing emacs lisp why it was dynamically
    scoped and his exact reply was that lexical scope was too
    inefficient. So my point here is that even to people who were experts
    in the area of lisp implementation, in 1982 (and for years afterward,
    actually), Scheme was a radical, not-at-all-accepted notion.

    http://lists.gnu.org/archive/html/emacs-devel/2001-10/msg00102.html
    I am not interested in changing Emacs Lisp to be lexically scoped. It
    would be a major incompatible change. We want to make Emacs support
    Scheme, and one byproduct of that will be the availability of lexical
    scoping. But the Emacs Lisp language will always use dynamic scope.
    362 : 名無しさん@お腹 - 05/02/11 14:39:29 .net (+72,+29,-28)
    結局>>358は知ったかぶりってことでファイナルアンサー?
    363 : 名無しさん@お腹 - 05/02/11 14:46:43 .net (+23,-14,-13)
    >>362
    349はEmacsを使うなってことがファイナルアンサー
    364 : 名無しさん@お腹 - 05/02/11 21:56:26 .net (-2,-30,-79)
    > and his exact reply was that lexical scope was too
    > inefficient.
    これは実装上(計算機上)の効率がよくなかったってことかな。
    365 : 名無しさん@お腹 - 05/02/12 01:58:42 .net (+4,-29,-92)
    Emacsが形作られた当時の計算機とか、その利用形態とか、
    Emacsのソースコードで速度のために涙ぐましい書き方されてたのを考えると
    そんなにRMSを責めれないけどな。

    俺はSchemeはelispやCommon Lispより括弧やlambdaの数が一段多くなるのが
    あまり好きじゃない。一昔前のlispって感じだ。いいところもあるけどね。
    言語仕様も論理的な美しさは感じるけど人間が使う上で効果を発揮する
    バランス感覚のようなものに欠けると思うし。
    366 : 名無しさん@お腹 - 05/02/12 02:19:27 .net (-1,-29,-15)
    scheme は関数の中で名前つきのローカル関数が簡単に作れるのがいいなあ。
    emacs だと cl の flet 使えばできるけど。
    367 : 349 - 05/02/12 13:02:21 .net (+3,-29,-109)
    しばらくスレに来ないうちに,かなり話が進んでいますね.

    >>365
    そういう話を聞きたかったです.ありがとうございます.
    つまり,Emacs Lisp のどこが優れているのか,どこが好きなのか,という
    点についてです.

    http://www.ice.nuie.nagoya-u.ac.jp/~h003149b/lang/comparison.html

    Emacs Lisp はおそらく,利用者人口の一番多い Lisp ですが,それを好きだという
    意見は私は聞いたことが無いです.old fashoned だという声ばかり聞きます.
    その割に,Guile Emacs の開発も進まないのは,Emacs Lisp にそれなりの良さが
    あるからかな,と思って,この愛好家スレで聞いてみたいと思ったのです.

    その目的に対して,私の最初の書込みは,今の私の本心だとは言え,煽りっぽかった
    かも知れません.すみません.

    私は Scheme しか知らないですから,カッコが多いから嫌と言われても,Lisp で
    カッコが多いことに文句を言ってもなあ,と感じてしまうのですが.
    368 : 349 - 05/02/12 13:25:09 .net (+72,+29,-92)
    あと,Emacs Lisp のヘビーユーザの皆さんにお聞きしたいのですが,
    クロージャを使いたい,というニーズはあんまり無いのでしょうか?
    あれは便利なものだと思うのですが.

    Emacs Lisp ではマクロを使って実現されていることは分かりましたが,
    「使いたいんなら使えば?」という言い方に聞こえたもので.

    Emacs の世界では,クロージャってそんなに便利じゃないんでしょうか?
    370 : 名無しさん@お腹 - 05/02/12 13:43:02 .net (+67,+29,-31)
    >>368
    そういうことはご自分でelispを勉強してから言うべき。
    その質問が意味をなしているかどうかも含めて理解してから言ってください。
    371 : 名無しさん@お腹 - 05/02/12 13:47:20 .net (+11,-30,+0)
    >>361
    > 別に有利じゃないよ。lexical scope の言語で dynamic binding を使いたい
    > ならfluid-let みたいなマクロを用意しとけばいいだけだし。

    う~んと、相互に実現可能ってのはいいとして、どうして dynamic binding を使いたくなるのかって話。

    代表的なのは、ローカル変数との絡みかな。各種 coding-system とか、 fill-column とか。
    こういう変数を使う関数は、基本的にバッファごとに決まった値しか使わない。
    でも、たまには違う値を使ってほしいこともある。

    そんな関数は、 ELisp だと、単に変数を読みに行くだけでいい。
    一時的に違う値を使うときは、束縛しとけばいいからね。
    こういうやりかたは、 dynamic binding じゃないとできないでしょ。


    > 現在では byte-opt.el にもあるよ
    > うにすでに足枷でしかないんだけど

    「足枷」なのは、 byte-opt.el の目的、最適化に対してでしょ。
    基本的に、静的なものは効率と安全性を、動的なものは柔軟性を提供する。
    どっちがいいかなんて用途次第。

    特に Emacs は、効率よりも柔軟性を重視した環境だよね。
    関数でできることはマクロにしないとか、 defsubst の多用も非推奨とか。
    だから ELisp には、 dynamic binding がふさわしいと思う。
    372 : 名無しさん@お腹 - 05/02/12 14:15:26 .net (+3,-30,-245)
    >>371
    > 代表的なのは、ローカル変数との絡みかな。各種 coding-system とか、 fill-column とか。
    > こういう変数を使う関数は、基本的にバッファごとに決まった値しか使わない。
    > でも、たまには違う値を使ってほしいこともある。

    このへんをバッファローカル変数として実現したのは秀逸だと思う。
    Cレベルのままにオブジェクトのプロパティなんかになってると
    unwind-protectでわざわざ復帰するコードを書かないといけない。
    それがローカル変数とすることでletで済む。
    この感覚がdynamic bindingとマッチしたとは俺も思う。

    まあfluid-letでもいいしプロパティのままでも適当にマクロ作ればいいけど、
    冴えたやり方って感じしないよね。
    373 : 名無しさん@お腹 - 05/02/12 16:44:36 .net (+3,-30,-47)
    >>371-372
    それって Common Lisp のスペシャル変数でも同じだよ。

    あと、dynamic *binding* のメリットはわかってるから、dynamic *scope* の
    メリットを教えてよ。
    374 : 名無しさん@お腹 - 05/02/12 17:22:48 .net (-1,-29,-17)
    dynamic bindingとdynamic scopeって何か教えてよ。
    375 : 名無しさん@お腹 - 05/02/12 20:40:06 .net (+7,-29,-48)
    sed と awk と perl の正規表現を比べて
    perl の正規表現の方が柔軟性があるから
    sed や awk を覚える気がしないといってるみたいに聞こえる。
    376 : 名無しさん@お腹 - 05/02/12 22:57:43 .net (+64,+29,-37)
    >>375
    どちらが何を指しているのか分からない.
    Perl だけ覚えればいい,と言っているのが 静的スコープ の側,ということ?

    あと,正直,現代は Perl だけ覚えれば済むんじゃないかと思うんだけど.
    377 : 名無しさん@お腹 - 05/02/12 23:10:18 .net (+80,+29,-21)
    ところで、lisp ってさ、必死こいて覚えると、
    Emacs がよりいっそうヲタっぽくなる以外に、
    何かいいことあるの?
    378 : 名無しさん@お腹 - 05/02/12 23:27:28 .net (+61,+29,+0)
    379 : 名無しさん@お腹 - 05/02/12 23:30:53 .net (+53,+25,-28)
    読むのマンドクサいから、3行で要約汁。
    380 : 名無しさん@お腹 - 05/02/12 23:32:54 .net (+59,+29,-32)
    > しかし、Lispのおかげで私達の開発サイクルは非常に速く、
    > 相手がプレスリリースを出した1日2日後にもう同様の機能を作ったこと
    > もしばしばある。

    なんだこれ。怪文書じゃないか。
    381 : 名無しさん@お腹 - 05/02/12 23:45:06 .net (+68,+29,-33)
    そろそろくさくなってきたのでまじめな議論は避けるように。
    382 : 名無しさん@お腹 - 05/02/12 23:45:55 .net (+66,+29,-18)
    >>381
    答えられなくなりそうだから、逃げるってか?
    383 : 名無しさん@お腹 - 05/02/13 00:08:33 .net (+21,-29,-81)
    >>380
    おまいは「怪文書」という言葉の意味を,辞書で引きなおすように.

    それからな,あの文書の著者の Paul Graham が,自社を売却して百万長者に
    なったのは本当だ.
    http://ascii24.com/news/i/topi/article/1998/07/10/611855-000.html?geta

    上の記事に出てくる Viaweb 社が,Paul の作った会社だ.

    まあ,Lisp で金をもうけた人間は,Paul がほとんど唯一なんだけどな.
    384 : 名無しさん@お腹 - 05/02/13 02:24:39 .net (+75,+29,-63)
    >>383
    そこに貼られているリンクはいつのものでつか?

    ここ2~3年のうちに

    > Lispのおかげで私達の開発サイクルは非常に速く、
    > 相手がプレスリリースを出した1日2日後にもう同様の機能を作ったこと
    > もしばしばある。

    という機能が実現できた企業はあるんかね?
    385 : 名無しさん@お腹 - 05/02/13 12:41:00 .net (+73,+29,-252)
    >>384
    おそらく無い.Lisp プロジェクトそのものがほとんど無いからだ.

    プロジェクトの無い理由はいろいろあるが,
    ・Lisp は多人数による大規模な開発に向かない.
    ・Lisp は投資家から実用的な言語と思われておらず,投資を受けられない.
    ・Lisp 以外の言語が発達してきて,Lisp プログラマがそちらに流れた.
    のが主因であるとされている.

    しかし,現代のプログラミング言語の多くの概念は,Lisp から生まれたもので
    ある.1950年代から80年代まで,Lisp は最も先端的な言語であり続けた.その
    蓄積は半端ではない.

    かくして,Lisp で高度な概念を身に付けたプログラマたちが,Lisp 以外の言語
    (例えば Python)でこの業界の先端を切り開いている.
    Google の Peter Norvig がその典型であろう.

    以上が一般見解で,それをまとめると,以下の Eric Raymond の言葉になる.

    http://cruel.org/freeware/hacker.html
    LISP は、それをモノにしたときのすばらしい悟り体験のために勉強しましょう。
    この体験は、その後の人生でよりよいプログラマーとなる手助けとなるはずです。
    たとえ、実際には LISP そのものをあまり使わなくても。
    386 : 名無しさん@お腹 - 05/02/13 18:17:57 .net (+56,+29,-42)
    > LISP は、それをモノにしたときのすばらしい悟り体験のために勉強しましょう。

    宗教?

    そりゃ、宗教に投資する馬鹿はいないもんな。
    387 : 名無しさん@お腹 - 05/02/13 18:54:03 .net (+16,-29,-27)
    >>386
    貴様は Eric Raymond が何者なのか知らないようだな.これではおそらく,RMS
    (Richard Stallman) をも知らないに違いない.それとも単なる釣りなのか?

    俺は馬鹿だった.>>381の言うことに従えばよかった.
    388 : 名無しさん@お腹 - 05/02/13 19:10:13 .net (+45,+22,+0)
    とりあえず半年ROMれ。
    389 : 名無しさん@お腹 - 05/02/13 21:04:34 .net (+69,+29,-46)
    >>387
    >>377 の発言では lisp を使える利点について質問しているのだから、
    Eric Raymond や RMS の活動を知っているか否かということは
    関係ないんじゃないの?

    そんなことやってるから宗教扱いされるんだよ。
    390 : 名無しさん@お腹 - 05/02/13 21:15:05 .net (-1,-29,-5)
    385=387?は多分真性だから構わない方が。
    391 : 名無しさん@お腹 - 05/02/13 21:33:34 .net (+3,-24,-3)
    ID が出ないと連続カキコしてもわからないな。
    392 : 名無しさん@お腹 - 05/02/13 21:36:42 .net (+57,+29,-18)
    そうだなおれもそうおもうよどうかんだよ
    393 : 349 - 05/02/13 22:24:40 .net (+72,+30,-114)
    突然ですが,今まで私にレスしていただいた方にお詫びします.
    Emacs Lisp には興味は無かったのですが,今後きっちり学んでみようと思います.

    その理由は,
    ・Lisper を目指しているのに,Emacs Lisp が書けないのはどうかと思った.
    >>371-373 など,面白そうな話が出ているのに,よく理解できないのが残念.
    そして何より,
    >>377 以降の流れにムカついた.

    私は Emacs に思い入れはありませんが,Lisp(Scheme) には強い思い入れがあり
    ます.人が大切にしているものを,何も知らない人間に否定されると,どれだけ
    腹が立つか,身に沁みて思い知りました.私は悪気があったわけではありません
    が,おそらく私にレスしていただいた方からは,同じに見えているでしょう.
    深く恥じ入っています.ごめんなさい.

    最後に,>>377 さんへ.
    どうやらあなたは,わざとやっているのですね.最初は本物の厨房かと思いました
    が,途中で自分自身を客観視して,愕然としました.あなたは大した達人です.
    ネットでこんなに身につまされたことはありません.
    394 : 名無しさん@お腹 - 05/02/13 23:00:22 .net (+54,+26,-34)
    ちょっとした機能を elisp で作ってみたりすると面白くなると思うよ。
    emacs はいろいろ欠点もあるけど、editor 好きで lisp 好きな人には
    面白いおもちゃだと思う。
    395 : 名無しさん@お腹 - 05/02/16 17:33:58 .net (+64,+29,-15)
    >>349
    あんたみたいに普通に騙ろうとしてる人に煽り半分の
    糞レスしか出来ない肥だめ連中は相手にすんな。
    396 : 名無しさん@お腹 - 05/02/16 19:31:47 .net (+44,+21,-15)
    スレ違いだからだろ
    397 : 名無しさん@お腹 - 05/02/16 20:26:27 .net (+61,+29,-3)
    >>395
    肥溜めが何を今更。
    398 : 名無しさん@お腹 - 05/02/17 12:32:07 .net (+56,+28,-1)
    395はどっちを煽ってるつもりなんかしらん。
    399 : 名無しさん@お腹 - 05/03/18 23:50:08 .net (+57,+29,-30)
    スレ違いだけどさ。
    たーまーになんとなく思い付きでspeedbar使ってみると
    「便利だなぁ」って思うけど、結局普段は使わない。
    みんなそうだよね?
    400 : 名無しさん@お腹 - 05/03/19 10:11:52 .net (+3,-24,-12)
    speedbarって便利? 動作がしっくりこない。
    なんか勝手に使いにくく動く。
    ←前へ 1 2 3 4 5 6 7 8 9 10 11 12 次へ→ / 要望・削除依頼は掲示板へ / 管理情報はtwitterで / emacs スレッド一覧へ
    スレッド評価: スレッド評価について
    みんなの評価 :
    タグ : 追加: タグについて ※前スレ・次スレは、スレ番号だけ登録。駄スレにはタグつけず、スレ評価を。荒らしタグにはタグで対抗せず、タグ減点を。

    類似してるかもしれないスレッド


    トップメニューへ / →のくす牧場書庫について