07/06/10 03:12:02
コーディングに Emacs 使ってる人って、
単に vim 使いこなせてないだけじゃない。
vim 強力さ知ったら、Emacs で書くなんてありえない。
513:名無しさん@お腹いっぱい。
07/06/10 03:51:42
むしろemacs使いこなせればvimの機能を自力で実装できるよ。
514:名無しさん@お腹いっぱい。
07/06/10 07:40:46
elispでしこしこ書くのか?w
515:名無しさん@お腹いっぱい。
07/06/10 09:34:31
確かに、コーディングだけに限るとvim強力だよな。
できれば、コーディングの際にvimにできてemacsにできないこと(その逆も)
を比較してほしい。
vimの便利な機能を知りたいし。
でも、独自言語とか使ってる場合やっぱり、
lispで自由にメジャーモードかけるはいいよ。
516:名無しさん@お腹いっぱい。
07/06/10 12:18:41
>>515
聞くより自分で使えよ
517:名無しさん@お腹いっぱい。
07/06/10 12:39:30
lispですべて実現可能ってことか。
518:名無しさん@お腹いっぱい。
07/06/10 16:01:04
Cで全て実現可能だけどな
519:名無しさん@お腹いっぱい。
07/06/10 16:53:36
可能性だけいえば、
アセンブラで全てのプログラム作れるな。
520:名無しさん@お腹いっぱい。
07/06/10 17:07:55
むりです
521:名無しさん@お腹いっぱい。
07/06/10 17:36:44
さいきょうのソース
#include "/dev/tty"
522:名無しさん@お腹いっぱい。
07/06/10 18:58:56
>>512 は
コーディングに vim 使ってる人って、
単に Emacs 使いこなせてないだけじゃない。
Emacs 強力さ知ったら、vim で書くなんてありえない。
でもよいな。
523:名無しさん@お腹いっぱい。
07/06/10 19:41:14
そもそも、EmacsとVimってOSとプログラムぐらい違うだろ。
対等なものとして比較されるってだけでやだ。
こんなスレ、Vim派じゃなきゃたてないよ。
524:名無しさん@お腹いっぱい。
07/06/11 17:58:42
EmacsがOSってか??
それはおもろいな
525:名無しさん@お腹いっぱい。
07/06/12 01:31:00
>>515
vim にできて emacs にできないことってないんじゃない。
vim の便利な機能ってほとんど emacs のまねだし。
たとえあったとしても lisp でかけばいいし。
なので、emacs 使いこなせないから vim を使っているってのは
あっても逆はない。
526:名無しさん@お腹いっぱい。
07/06/12 01:49:08
>>525
逆な俺がいますよ。
527:500
07/06/12 02:50:57
できるできないじゃなくて
必要なことをどのくらいトロくさくなくできるかが問題だと思うんだ。
そういう意味でvimのバランスはかなりいい線いってるよ。
emacsは使ってるうちに手や頭がemacs化されてきて
粘土いじるみたいにあれこれできるようになって快感なんだけど、
vimを使ってるとそれとは違う種類のスピーディーな快感を感じる。
528:名無しさん@お腹いっぱい。
07/06/13 13:12:03
Emacsは何をするにももっさりしてるから嫌だ
仕事で使うのが苦痛で仕方が無い
529:名無しさん@お腹いっぱい。
07/06/13 19:35:59
あっ、そう。
530:名無しさん@お腹いっぱい。
07/06/13 20:26:27
だってEmacsって牛だもん。
531:名無しさん@お腹いっぱい。
07/06/14 07:09:23
ヌーだけどな。
532:名無しさん@お腹いっぱい。
07/06/14 15:21:48
Gnu Emacs
533:名無しさん@お腹いっぱい。
07/06/15 02:33:12
vimの人がわざわざlispで作るのが面倒とか言うけど。
漏れが知ってる中じゃEmacs上でlispを書くって相当効率いい
メモする程度の感覚であんまり面倒じゃないと思う。
まあ、確かに実行速度を上げるのは大変だけど。
逆にlisp全く触らず人が作ったlispだけでEmacsとかだと
vimの方がメリットありそう。
534:名無しさん@お腹いっぱい。
07/06/15 09:01:42
言語自体を理解したり、どんな関数があるか調べるのが面倒なんだろう。
そういう面ではVimスクリプトの方がもっと面倒なんだが。
535:名無しさん@お腹いっぱい。
07/06/15 09:17:06
emacsのヘルプは充実してるし
学習もレファレンスも検索もソース閲覧も全部emacs内で閉じてるから
それに慣れてしまうと他の言語でマニュアルをみる作業がひどく億劫になる。
536:名無しさん@お腹いっぱい。
07/06/15 09:56:03
いちおうVimはPythonでも何でも自分の好きな言語使えるじゃん
537:名無しさん@お腹いっぱい。
07/06/15 13:35:20
Pythonやら他の言語でできるのは、サクラエディタのマクロ程度のことだけだがね。
538:名無しさん@お腹いっぱい。
07/06/15 15:13:09
>>498
をお前らよく読め
539:名無しさん@お腹いっぱい。
07/06/15 17:22:40
>>1
をお前よく読め
540:名無しさん@お腹いっぱい。
07/06/15 17:26:28
お前って誰?
541:名無しさん@お腹いっぱい。
07/06/15 21:06:36
書けりゃなんでもいいじゃん
氏ね
542:名無しさん@お腹いっぱい。
07/06/15 21:38:53
多機能を誇りたいならEmacs使ってればいいんじゃない?
543:名無しさん@お腹いっぱい。
07/06/22 22:40:26
俺はWindowsにVimインスコしてskkimeで日本語入力しとるよ
544:名無しさん@お腹いっぱい。
07/06/22 23:54:33
うちの会社でEmacs使ってるの俺だけだな。
自分のグループの80人くらいしか知らんけど。
545:名無しさん@お腹いっぱい。
07/06/23 00:13:34
まあね、日本語入力はemacsではやる気なくすね
546:名無しさん@お腹いっぱい。
07/06/23 18:12:29
日本語書くのは2ちゃんだけのおいらが来ましたよ
547:名無しさん@お腹いっぱい。
07/06/30 19:17:45
あれ、俺いつの間にこれ(>>543)書いたんだろう。
548:543
07/06/30 20:28:45
同じ事してる人いたんだw
549:名無しさん@お腹いっぱい。
07/07/01 23:46:47
EmacsはC-modeのインデントの仕方が気に入らないから使わない。
あと文字を入力する以外の操作が多すぎる。
550:名無しさん@お腹いっぱい。
07/07/09 23:14:10
>EmacsはC-modeのインデントの仕方が気に入らないから使わない。
お得意のlispでごにょごにょすればいーじゃない。
>あと文字を入力する以外の操作が多すぎる。
機能が多すぎるってこと?
そりゃ、ばっちい台所エディタなんだから、しょーがないと割り切るべ。
551:名無しさん@お腹いっぱい。
07/07/20 09:35:25
最近気づいたけど、実は
Emacsが凄いんじゃなくて、lispが凄いんだと。
552:名無しさん@お腹いっぱい。
07/07/21 17:31:23
コーディング、コンパイル、コンパイルエラー修正
までの作業はVimもEmacsもそれほど変わらんのじゃない?
今のVim以上の機能ってどんなんだろ。
デバッグ作業はエディタよりも、IDEで視覚的にやったほうが
はるかに効率いいし。
タグ補完、タグジャンプ(定義先に飛んだり、また戻ったり)、includeファイル
からの補完、行補完、コメント行を指定幅で自動整形、makeからエラーが
起きた箇所への自動ジャンプ、インクリメンタル検索、検索語ハイライト、
アンドゥ履歴
ぱっと思いつくだけで、Vimには上の機能はある。Emacsにもあると思うが。
俺はコーディングの際の非モーダルエディタのめんどくささが嫌いだから
Vim派だが。
553:名無しさん@お腹いっぱい。
07/07/21 17:37:22
もちろん複数ウィンドウ表示もある。最近では、GUIタブやdiff機能なんてのも
あるな(使ってないが)。
Vimに実装して欲しい機能のアンケート結果が下記ページにあるが、この中に
EmacsにあってVimにないものが含まれてるかもしれないな(すでにVim7に
入ってるのもあるが。GUIタブとか、vimgrepとか)。
URLリンク(www.vim.org)
個人的にはこれがほしい
make it possible to use Vim as a plugin in Eclipse
554:名無しさん@お腹いっぱい。
07/07/21 23:12:50
vimに追加してほしい機能。
elispの様に自分で自由に機能拡張できるようなスクリプト言語の導入。
Vimにもスクリプトあるみたいだけど、
elispほど自由度は高くないし、使いやすいとはいい難いと思う。
独自言語とか扱う場合、どうしても自分でメジャーモードとか
lispでつくる必要がでてくる。
はじめVim使ってたけど、これだけのためにemacsを使い始めた。
Vimの方が動作が軽快なのは好きだけど。
555:名無しさん@お腹いっぱい。
07/07/22 01:48:03
>>554
違う。自由に機能拡張できるようなスクリプト言語の導入では
決してEmacsのようにはならない。
そのスクリプト言語で全てを実装しないとEmacsのような高い
拡張性は得られないのだ。
556:名無しさん@お腹いっぱい。
07/07/22 02:15:41
Emacs は殆ど C で書かれていたと思ったけど
557:名無しさん@お腹いっぱい。
07/07/22 02:22:22
VimもほとんどCで書かれているからいっしょだね。
558:名無しさん@お腹いっぱい。
07/07/22 08:55:14
emacsはlispインタプリタといくつかの基本関数だけCで
それ以外はlispで書かれてる。
559:名無しさん@お腹いっぱい。
07/07/22 10:42:58
どうも理解出来ないのが、Emacs使いのLispみたいな拡張スクリプトが
ないといや、っていう主張なんだよな。
スクリプトなんかじゃなくて、Cソースそのものを変更すればいいじゃない。
んで、自分でいいと思うならそれを本家に反映するように努力すれば
いい。
560:名無しさん@お腹いっぱい。
07/07/22 10:49:14
過剰要求・思考偏重・視野狭窄もまたEmacs使いの特徴なのです。
561:名無しさん@お腹いっぱい。
07/07/22 10:50:50
それだと、手間かかりすぎでしょ。
emacsを開発することが目的ではなくて、
emacsを使用して仕事をするのが目的。
562:名無しさん@お腹いっぱい。
07/07/22 11:05:50
>>561
仕事する目的なら、別にEmacs Lispのようにフルカスタマイズできない
といや!っていう主張は矛盾してないか?
563:名無しさん@お腹いっぱい。
07/07/22 11:23:55
elispを書いて楽しむこともEmacsを使う目的に入っている
に決まってるじゃないか。
564:名無しさん@お腹いっぱい。
07/07/22 11:39:23
>>563
Elispを書いて楽しむことと、仕事は直接は関係ないわな。
仕事が目的であれば、それを達成する手段はElispであっても
Vimのスクリプトであってもどっちでもいいわけで。
565:名無しさん@お腹いっぱい。
07/07/22 11:42:27
そうそう、Vimで足りるような仕事しかしないのなら
Vimでいいんじゃないですかねぇ?
566:名無しさん@お腹いっぱい。
07/07/22 11:47:55
>>565
意味がわからん・・・Emacsでないとできない仕事ってなんだ?
というかエディタだけでやらないといけない仕事ってなんだ?
567:名無しさん@お腹いっぱい。
07/07/22 12:06:53
ま、Emacsでないとできないという仕事はないかもね。
結局はテキスト編集だから。確かにviでもgeditでもできますよ。
インデントはC-tとC-dを駆使して、サスペンドしてmakeして
ジョブ制御を駆使して行番号を見てエラー行にジャンプしても
Emacsを使ったのと同じプログラムが書けますね。
それで満足ならviでいいんじゃないですかね。
568:名無しさん@お腹いっぱい。
07/07/22 12:15:58
>>554 の様に、独自言語を使わないといけない場合とかに、
elispだとメジャーモードとかが比較的楽にできる。
この、メジャーモードとかを作ったりするのになるべく時間をかけたくない。
vimのスクリプトではきつくない?
569:名無しさん@お腹いっぱい。
07/07/22 12:24:19
>>567
Vimのことまったく知らないのはよくわかったが、せめて>>552で書いたVimの機能
にくらいは目を通してくれ。
自動インデント機能ももちろんあるし、範囲選択して'='コマンドおせばインデント
されていないものでも自動でインデントしてくれる。インデント用の言語も
C,Perl,Java,Ruby,...数え切れないくらいだ。それから、構文ハイライトで
言語の構文を色付けしてくれるし、括弧が足りなかったりするのも一目瞭然。
makeからエラーが起きた場所に自動で飛ぶ機能もある。Vimで':make'コマンド
実行するだけ。
elispのメジャーモードって何のことかわからないのが、独自言語のインデントだっ
たり構文ハイライトだったら、設定ファイル書くだけ。
570:名無しさん@お腹いっぱい。
07/07/22 12:46:59
> elispのメジャーモードって何のことかわからないのが、独自言語のインデントだっ
> たり構文ハイライトだったら、設定ファイル書くだけ。
あんたも、ぜんぜん emacs のことまったく知らないじゃん。
571:名無しさん@お腹いっぱい。
07/07/22 15:08:18
Vimに自分を合わせる気がないならVim使わないことだね
カナ入力と同じで慣れればローマ字入力より効率良いけども
慣れる気がないなら全く魅力を感じないみたいな
572:567
07/07/22 16:24:11
>>569
Vimの機能についてはよく知ってるよ。
Vimとvi、ちゃんと区別して書いてるんだからちゃんと読んでくれ。
じゃあVimで:makeしたとしよう。
次にある単語を検索しようと思い、:grepしたとしよう。
さて、:makeしたときのエラーリストはどこへいってしまったのだろう。
Vim7でlocation listというのが追加されたけど、ウィンドウごとに
1つというまったく意味不明な仕様だよね。
ウィンドウごとに:grepと:makeのどちらか片方しかするなというのだろうか。
573:名無しさん@お腹いっぱい。
07/07/22 18:31:23
>>570
まぁ、Emacsのことはあまりしらないが、「elispのメジャーモードうんぬん」
っていうEmacsの専門用語使わずに「Vimでこんなことできる?」って聞いて
くれたほうがありがたい。
574:名無しさん@お腹いっぱい。
07/07/22 18:34:14
>>572
> Vimとvi、ちゃんと区別して書いてるんだからちゃんと読んでくれ。
Vimとviの違いをわかった上で、「Vim vs Emacs」というスレで「vi vs Emacs」
の構造に仕立て上げようとしてるのはさらにタチが悪い。
> じゃあVimで:makeしたとしよう。
> 次にある単語を検索しようと思い、:grepしたとしよう。
> さて、:makeしたときのエラーリストはどこへいってしまったのだろう。
これには若干不満を感じることもなくはない。それほど大きな不満ではないが。
Emacsでは区別されてるの?
575:名無しさん@お腹いっぱい。
07/07/22 21:08:24
>>559
>スクリプトなんかじゃなくて、Cソースそのものを変更すればいいじゃない。
俺もそう思う。何が悲しくて劇遅のスクリプト言語で手足縛られながら
機能追加せにゃならんのかと。
576:名無しさん@お腹いっぱい。
07/07/22 22:45:25
全然遅く感じないけどな。
577:名無しさん@お腹いっぱい。
07/07/22 22:53:39
おまえら:colder
578:名無しさん@お腹いっぱい。
07/07/22 22:55:19
一つのエディタをあまりに使いこなしすぎると離れがたくならんか
未だにVZを越える環境が見つからんとか言ってる元MS-DOSユーザを見てると
哀れになるよ
579:名無しさん@お腹いっぱい。
07/07/22 22:57:09
Vim使いだけど、一時期Emacs使ってて思うこと。
俺はCはできてて、Emacs使い始めてElispをちっとかじってみた。
わざわざElisp覚えるよりも、今できるCで何か作ったほうが早いなと。
だから、別に何かを否定しなくても自分が好きならそれでいいじゃん
580:名無しさん@お腹いっぱい。
07/07/22 23:14:51
>>578
VZを越える環境というか、今はWindows用にWZエディタがあるんじゃ
ない。別にWZ使いを否定するわけじゃない。事実うちの会社には
WZ使いで素晴らしい生産性をあげるプログラマいるしな(デバッグ
能力は高いとはいえないが)。
まぁエディタは開発のごく一部の生産性をあげるものにしかすぎない
わけで。別に一つのエディタから離れられなくなっても、その
エディタが使えない状況というのは、工夫すればそんなにない。
いまやLinux版WZエディタもあるんだぜ。別にネーティブにこだわら
なくてもすきなプラットフォームで編集して、その後にアップロード
なりなんなりすればいい。
581:名無しさん@お腹いっぱい。
07/07/22 23:21:51
>>559 >>575 >>579
お前らVimに対してトリビアルでない変更をしたことがないのが
バレバレですよ。
582:名無しさん@お腹いっぱい。
07/07/22 23:25:33
>>581
kwsk
583:名無しさん@お腹いっぱい。
07/07/23 04:53:17
Emacsを批判するのにモードも知らんなんて始めから勝負あったな。w
いや、それじゃ余りに馬鹿すぎるから釣りかもしれないが。
しかし理由lispが面倒だからCで書くとか馬鹿すぎるw
お前らだってワンライナーをPerlで書いたりするだろ。
くだらん操作とか極めて特殊な操作をCで書いて
しかもエディタに組み込んだりしたら悲惨な事になるのは目に見えてる。
584:名無しさん@お腹いっぱい。
07/07/23 23:39:22
>>583
Vimにもマクロはあるし、スクリプトもあるし、ちょっとした面倒な
作業ならいとも簡単に自動化できるわけで。Elispみたいにフルカスタマイズ
したいとこまでいくなら、じゃぁCソース直せばいいやん、ってことに
なるって話。
585:名無しさん@お腹いっぱい。
07/07/23 23:40:23
Emacsのメジャーモードちとぐぐってみたが、別にVimでも
簡単にやれそうだ。
586:名無しさん@お腹いっぱい。
07/07/23 23:50:05
つまんない対抗意識で素人発言連発は恥ずかしいよ。
587:名無しさん@お腹いっぱい。
07/07/24 00:03:15
>>586
何の情報も出していないレスを書くほうが、俺にはよっぽど
恥ずかしいと思えるが。
588:名無しさん@お腹いっぱい。
07/07/24 00:23:08
以前ちょっとだけvimを使ってたけど今はemacs使ってる。
vimのCのソースコードを直すとかいってる人って、
vim本体のコードのこと言ってるの?
それとも、本体とは別にCでマクロ動作をかけるってこと?
本体のコードを修正するっていう意味だったら、実用的じゃないと思うけど。
ちょっとした動作修正のためにそんなこといちいちやってられない。
それに、Cで動作書くのってあらかじめ関数が用意されてないと、かなり大変だと思うよ。
lisp嫌ってる人も多いけど、できるようになると括弧も苦じゃなくなる。
境界を越える: Lisp の美しさ
URLリンク(www-06.ibm.com)
589:名無しさん@お腹いっぱい。
07/07/24 00:33:43
>>588
いやいや、ちょっとしたことをさせたいなら、Vimのマクロもあるし
スクリプトもあるって話・・・。Perlインタフェイスや、Rubyインタフェイス、
Pythonインタフェイスなどなどもある。なんでもかんでもソースなおせ!
といってるわけじゃないってことは、理解して欲しい。
んで、ちょっとしたことなら、Elispのようにフルカスタマイズできなくても
別にできるよ、というお話。でも、Emacs使いはElisp並にカスタマイズ
できないといや!と主張してるわけ。
ちょっとしたことじゃなく、根本を変えたいというならCソースその
ものを修正したらいいじゃない、というのがVim使いの俺の主張な
わけだが、理解してもらえるだろうか。
590:名無しさん@お腹いっぱい。
07/07/24 01:26:05
実にどうでもいいが、カスタマイズ範囲は広いに越したことは無いだろ。
性能を追求したい場合も、モノリシックな設計よりは、モジュール化されていた
ほうが良いに決まっている。(エディタではないが)apacheのように、
あるいはeclipseのプラグインのようにね。
無論モジュールはスクリプトでも書けて、Cのモジュールの動作が気に食わない
場合は、スクリプトで置換えられるようになっているのが望ましい。
Vimがあまりにモノリシックなのは問題じゃないのかな。
winampに対するfoobar2000のような、より良い後継者が現れることを望む。
591:名無しさん@お腹いっぱい。
07/07/24 06:05:11
スクリプト言語インターフェイスって、コンパイル時に有効にしないと
使えないじゃん。
だからそれを使って書かれているVimスクリプトも少ないだろ。
それに何種類もあることに意味あるの?
結局1種類の言語だけを標準で内蔵したほうがいいだろ。
つまりemacs lispみたいに。
592:名無しさん@お腹いっぱい。
07/07/24 06:54:22
> 実にどうでもいいが、カスタマイズ範囲は広いに越したことは無いだろ。
C言語でいいじゃん
593:名無しさん@お腹いっぱい。
07/07/24 07:12:23
yzisに期待・・・してももうダメなのかな?
594:名無しさん@お腹いっぱい。
07/07/24 09:29:28
>>589
フルカスタマイズだからこそ、ちょっとした拡張で結構な事ができるんじゃないか。
労力がチョットなのと、できる事がちょっとなのは違う。
vimはチョットした事を出来るマクロ。
Emacsはちょっとした事でできるlisp。
>>591
むしろ、複数あるより一つの方がelispみたいに
膨大な遺産が蓄積されて便利だと思うね。
全部自分で作るなら種類があった方が良いけど。
595:名無しさん@お腹いっぱい。
07/07/24 10:08:26
>>592
馬鹿ほどこういうことを言うんだよな。
いっぺんGCライブラリなどを使わずに、長さを特に限定しない文字列処理を
Cで書いてみろよ。面倒くさいから。
596:名無しさん@お腹いっぱい。
07/07/24 10:11:43
>>594
インタフェースがwell-definedで、どの言語で書かれたモジュールからも
他の言語で書かれたモジュールが使用できるのなら、言語は問題ではないし、
全てが「資産」になるよ。
597:名無しさん@お腹いっぱい。
07/07/24 10:31:27
Vim.NETで。
598:名無しさん@お腹いっぱい。
07/07/24 10:43:18
>>596
それをチョット改造するのも違う言語で出来るなら別に良いけどな。
599:名無しさん@お腹いっぱい。
07/07/24 13:53:15
emacsの拡張性が生きる場面ってあるの?
っていうか拡張性あるの?
600:名無しさん@お腹いっぱい。
07/07/24 16:55:55
エディタは効率的に編集するためにあるんだからさ、
Cでやれといってる馬鹿は自分で入力する予定のテキストまで
Cでハードコーディングするといいよ。
601:名無しさん@お腹いっぱい。
07/07/24 18:22:52
>>592
具体的なことをかいてくれないとかけなだろ。
大体位置から書かないといけないわけじゃないし。
602:名無しさん@お腹いっぱい。
07/07/24 18:28:41
Cでいいとか言っている連中は昨日今日Cを覚えたばかりで
うれしくなってる厨房だから相手にしなくていいよ。
彼らももうちょっと成長してトイプログラムでないプログラムを書くよう
になれば設計のよしあしの判断がつくかもね。
603:名無しさん@お腹いっぱい。
07/07/24 18:38:50
残念なことに設計のよしあしがわかりだしたらEmacsはダメなことがわかっちまうな
604:名無しさん@お腹いっぱい。
07/07/24 19:36:50
>>603
それはどうかな?
世の中にはUNIXだけじゃなくてlispという設計思想も
十分な地位を得ていると思うぞ。
605:名無しさん@お腹いっぱい。
07/07/24 19:48:42
URLリンク(upload.wikimedia.org)
「通信網の費用比性能は1年で倍になる。通信網の性能比費用は1年で半分になる。」
本当にこんな事を言ったんだろうか。
あんまり将来を予見する能力はないのかもしれないね。
606:名無しさん@お腹いっぱい。
07/07/24 20:45:31
「ビルジョイの法則はジョークのつもりだった。
こんなに広まると分かっていたら言わなかったのに」
607:名無しさん@お腹いっぱい。
07/07/24 21:30:53
emacsに拡張性があったらフォークしてないだろ
608:名無しさん@お腹いっぱい。
07/07/25 00:02:07
>>590
> 性能を追求したい場合も、モノリシックな設計よりは、モジュール化されていた
> ほうが良いに決まっている。(エディタではないが)apacheのように
意味がわからん。
性能の具体的な例で言えば、モノリシックカーネル>>>>マイクロカーネルだぞ。
モジュール化を進めることで、よぶんなオーバヘッドが生じるていういい例だ。
実際には、モジュール化によるメンテナンス性の良さと性能のトレードオフで
ハイブリッドなんつーのもでてくるわけで。
もの知らないにも程がある。
609:名無しさん@お腹いっぱい。
07/07/25 00:07:49
>>595
> 長さを特に限定しない文字列処理を
> Cで書いてみろよ。面倒くさいから。
うーむ、まともに返事書くのもアフォらしい・・・
610:名無しさん@お腹いっぱい。
07/07/25 00:08:48
まぁ、2chにはまともな話できるヤツはいないんだな・・・。
611:名無しさん@お腹いっぱい。
07/07/25 00:26:47
> emacsに拡張性があったらフォークしてないだろ
vimなんかそれこそ「今の構造じゃKDEにポーティングできません」
てんでyzisが始まったわけだが。
612:名無しさん@お腹いっぱい。
07/07/25 00:33:47
>>608
書き方が悪かったかな。
確かに性能を拡張性、保守性を犠牲にしてまで追求するなら
モノリシックな設計になるだろうが、実のところテキストエディタで
モノリシックな設計にすることで獲得できる可能性がある微妙な性能上の
優位など、ほぼ問題にもならず、むしろ拡張性や保守性のほうが
はるかに重要だから、モジュラリティを重視すべきだ、という主張なのね。
OSカーネルについて今更誰もが知っていることを教えてもらわんでも
よろしい。
613:名無しさん@お腹いっぱい。
07/07/25 00:48:12
>>609
事実だろ。めんどうくさいのは。
614:名無しさん@お腹いっぱい。
07/07/25 00:55:55
Perlで
$s =~ s/\bint\b/long/g;
とか書けるようなおよそ単純で下らない仕事に、Cで何行費やすと思ってんだ
試しに書いてみそ。
テキストエディタは何しろテキストを扱うんだから、
カスタマイズするとしたら、テキストをいじくるコードがどうしても
大量に出てくるだろ。
615:名無しさん@お腹いっぱい。
07/07/25 01:01:56
char* s = substitute(s, "\\bint\\b", "long", GLOBAL);
616:名無しさん@お腹いっぱい。
07/07/25 01:11:45
>>615
それはsubstitute()という関数が利用可能と仮定しての話だな。
この場合は静的な置換だからおkだが、Perlならeフラグを使うようなケースでは
あっさり破綻するな。
617:名無しさん@お腹いっぱい。
07/07/25 01:14:31
char*s = substitute(s, "\\bint\\b", "long", GLOBAL|EVAL, eval_func);
こんな感じかな。perlのeフラグ知らんけど。
618:名無しさん@お腹いっぱい。
07/07/25 01:17:40
>>617
おいおいw
静的な置換じゃないんだから、引数"long"はないだろう。
それと、そのインタフェースはGCを仮定してるのか?
誰がメモリを確保して、誰が破棄するんだ?
619:名無しさん@お腹いっぱい。
07/07/25 01:22:32
Cの基礎から教える気はない
620:名無しさん@お腹いっぱい。
07/07/25 01:28:00
>>619
検索置換の過程でeval_func()は恐らくメモリを確保する必要があるし、
substitute()は何度も文字列を切り貼りする過程でやはりメモリを
確保する必要がある。
ついでに、そのsubstitute()とやらはその例ではリテラルを引数に取っているが、
スタックやヒープに確保された文字列を引数に取ることもあるだろう。
それを必要なら誰かが一貫性を持って解放してやらなきゃいかんのがCだ。
そうだな、Cの基礎だよ。
621:名無しさん@お腹いっぱい。
07/07/25 01:37:01
yzisてなんだろ。明日ぐぐってみる
622:名無しさん@お腹いっぱい。
07/07/25 01:37:23
eval_func()は「必ず」ヒープ上に確保した文字列を返す。また、内部的に
使用したメモリはfree()する。
substitute()はeval_func()の返した文字列をfree()する。
また、内部的に確保した文字列はfree()するが、呼び出し側から与えられたものと
戻り値はfree()しない。
:
といった類のコンベンションが必要かな。恐らくは。そして誰もがそれに
従わなければならないが、コンパイラによってそれはチェックできないし、
場合によってはメモリリークするだけなので、原因の追究が難しいこともある。
無論C++ならずっとことは楽だし、CでもGCを使うなら随分マシだが。
そして、そこまで頑張ったとしても、malloc()やstrlen()使いまくりのコードで、
大して早くも無いのだろう。
623:名無しさん@お腹いっぱい。
07/07/25 01:44:36
>>620
当たり前のこと並べられても、あなたが何がいいたいのかさっぱりワカラン。
624:名無しさん@お腹いっぱい。
07/07/25 01:46:54
>>623
いや、面倒くさいだろ?というだけだが。
それが面倒だと思わないのなら、あんたとは全く感性が合わないな。
C++でさえなく、Cを使いたいようなドメインもあるだろうが、
テキストエディタでの文字列処理は、明らかにそうではない。
625:名無しさん@お腹いっぱい。
07/07/25 01:47:34
>>622
なんとなくこのレスだけ読んだ感想なのだが。
eval_func()の仕様は聞いてる限り、別段悪い仕様とは思えない。
何が不満だったのかな?もしくは、どういう仕様のせいであなた
がハマッテ時間を費やしたのかな?
626:名無しさん@お腹いっぱい。
07/07/25 01:49:36
>>624
面倒くさいと思うならば、面倒くさくないような工夫を考えたほうがいい。
いま扱っているバッファ領域を超えてアクセスしてしまわないかとか
毎回気をつけるくらいだったら、気をつけなくてすむ仕組みを考えた
方がいい。
その仕組みは別にCだからできないということはない。
627:名無しさん@お腹いっぱい。
07/07/25 01:49:47
>>625
いや、「Cでは当たり前」であっても、エラーを起こしやすいよ。
たかがエディタのカスタマイズのためにいつも書きたい類のコードではない。
628:名無しさん@お腹いっぱい。
07/07/25 01:51:20
>>626
残念ながら、それはC++ほど上手くはできん。
GCやapacheのpoolのようなものを使えばかなりマシにはなるが、
そこまでしてCに固執する理由がわからんよ。
629:名無しさん@お腹いっぱい。
07/07/25 01:55:26
世にこんだけバッファオーバーフローが原因のセキュリティホールが
溢れかえってるのがCの問題の傍証と言えるんじゃまいか。
630:名無しさん@お腹いっぱい。
07/07/25 01:58:25
>>628
別に言語に固執しているわけじゃない。が、言語にとらわれないように
したほうがいい。あの言語だからこれはできない!んじゃなくて、
あの言語でもこうすればなんとかなる、という考え方をしたほうが
いいんじゃない。
これから先、自分の好きな言語でスクラッチから書ける仕事ばかりでは
ないのだから。他人の書いたコードをメンテナンスする仕事もたくさん
ある。
言語に固執する理由はないが、その場その場で工夫できる力をつける
のは大事だ。まぁ、ネル・・w
631:名無しさん@お腹いっぱい。
07/07/25 02:03:20
>>630
俺は一言も「出来ない」とは言ってない。
「エラーを起こしやすい」「面倒くさい」と言ってるだけだぜ。
そうしたことが、結局はソフトウェアの品質にも繋がってくる。
頑張ればCでもC++でSTLやboostを駆使したコードと同じ機能を
達成できるかもしれんが、はるかに大量の無駄な労力を必要とするし、
デバグも大変になる。より高級な言語を使っていれば、より
マシなことにその労力を費やすことが出来る。
必要なら俺はCのコードも書く。だが、何も好き好んで、向いていない
ドメインでCを選ぶ必要は無いだろうと言っている。
無駄な説教だな。
632:名無しさん@お腹いっぱい。
07/07/25 02:17:18
>>631
寝れなくなりそうだが・・これ書いたら絶対寝る!(たぶん・・・
>頑張ればCでもC++でSTLやboostを駆使したコードと同じ機能を
>達成できるかもしれんが、はるかに大量の無駄な労力を必要とするし、
別段ライブラリなんて、一回書けばその後その会社でずっと再利用
可能なものなんよ。初期投資なんてたかがしれてるっつーの。
>必要なら俺はCのコードも書く。だが、何も好き好んで、向いていない
>ドメインでCを選ぶ必要は無いだろうと言っている。
Cがメインのドメインなんて、いくらでも存在するわ。
組み込みの世界に行けば、Cが許されずにそのCPUのアセンブラオンリー
の環境もいくらでもある。
あんな、計算機の性能があがって高級言語がどんどん広まるってのは
その通りだと思う。しかし、全部の会社が同じようなCPU使って、同じような
言語つかって、差別化はアイディアでなんとかします!で、うまくいくと思うのか?
実際はそうじゃないんだよ。会社ごとに得意な分野があって、それぞれ得意な
分野で使用メモリ量削減とか、消費電力削減に血眼になってるわけだ。
あなたがいってるのは、オナニーにしかすぎないわけだ。
かなり本題とはずれてきたが・・・。
633:名無しさん@お腹いっぱい。
07/07/25 02:22:12
>>632
なんつうか君、C++使ったこと無いだろ。
CでC++のSTLやboostレベルの「ライブラリ」を書くのは「不可能」なんだよ。
で、「テキストエディタ」の話をしてるのに、何で「組込み」の話が
出てくるんだ。アホじゃないの?
634:名無しさん@お腹いっぱい。
07/07/25 02:23:54
>>633
>CでC++のSTLやboostレベルの「ライブラリ」を書くのは「不可能」なんだよ。
不可能とか言ってるお前の脳みそに乾杯だわ・・・。
635:名無しさん@お腹いっぱい。
07/07/25 02:26:09
>>634
あのな。クラスもコンストラクタもデストラクタも例外もテンプレートも継承も無い
言語で、どう同じ機能を実現するんだよ。
デストラクタが無いから明示的にfree()だのclose()だのが必要になるんだろ。
ここまでのアホは久々に見たわ。
636:名無しさん@お腹いっぱい。
07/07/25 02:31:44
>>635
どうやったら、実現できるか夏休みの宿題にしとくわ・・
637:名無しさん@お腹いっぱい。
07/07/25 02:38:34
例えばスコープ抜けた時に自動的にデストラクタを呼ぶようなコードを
C++コンパイラは挿入する。
それに似た機能をもつ特殊なCコンパイラを書けば可能だろうが、それはもはや
「C」ではない。
そうでなければ、明示的にプログラマがデストラクタ相当物を呼ぶコードを書く
しかなく、それは当然C++に比べてエラーを生みやすく使い勝手も悪いものになる。
638:名無しさん@お腹いっぱい。
07/07/25 02:51:56
すげぇな。Cでライブラリ書けばC++の真似ができると思ってる奴がいるのか
そんなら、C++なんて要らないだろw
639:名無しさん@お腹いっぱい。
07/07/25 06:49:15
うんうん。Cで書けば何でもCだな。
そういえばclispとかcpythonとか云うもんな
/\__/\
/ ,,,,, ,,,,, ::\
| (●) ,、 (●) ::|
| ノ(,_.)ヽ .::| +
| -==- .::| +
\_ `--' __/ +
r、 r、/ヾ  ̄ 下ヘ
ヽヾ 三 |:l1、_ヽ___/__ .ィヽ
\>ヽ/ |` } n_n| |
ヘ lノ `'ソ l゚ω゚| |
/´ /  ̄|. |
\. ィ ____ | |
| ノ l | |
ナイナイw
640:名無しさん@お腹いっぱい。
07/07/25 09:12:08
Emacsならlispで書けることもCで書いて、バグがあったら即セグフォか。
え、Vimは落ちたことないって?
そりゃまあBramさんたちが多大な労力を払ってテストしてくれてるんでしょう。
お客さん面したユーザにはどうでもいいことでしょうがねw
641:名無しさん@お腹いっぱい。
07/07/25 09:18:41
>>640
セグフォるタイプのバグならまだマシな部類だ。すぐに露見するからな。
リークだのバッファオーバーフロー(の可能性)だのは一見動いているように
見えるから始末が悪い。
642:名無しさん@お腹いっぱい。
07/07/25 09:33:11
こりゃ単なる釣りでしょ。
話そらずばかりで
エディタの拡張にCを使うのは馬鹿らしいという反論には直接答えてない。
643:名無しさん@お腹いっぱい。
07/07/25 09:56:04
Cでいいっつってる奴は20年前で脳みそが止まってるんだろw
今時必要も無いのに何でもアセンブラで書こうとする奴はただのアホだが、
Cについても同じことが言える。
644:名無しさん@お腹いっぱい。
07/07/25 14:36:46
ところでVim7のmatchparen機能だが、これはCでハードコーディングするんじゃなくて
Bramが直々にVimスクリプトで書いてるんだよな。
なんか珍しい。
645:名無しさん@お腹いっぱい。
07/07/26 01:50:08
>>637
> それは当然C++に比べてエラーを生みやすく使い勝手も悪いものになる。
それはあなたの思い込みでしかないわけ。
これ以外にレスする価値があるものなんてまったくないが(>>637-643な)。
下のはアフォすぎて、あきれたのでレスしとく
> エディタの拡張にCを使うのは馬鹿らしいという反論には直接答えてない。
アフォ
> Cでいいっつってる奴は20年前で脳みそが止まってるんだろw
何度も繰り返すが、「もの知らないにも程がある」
まぁ、気が向いたらまたレスするわ
646:名無しさん@お腹いっぱい。
07/07/26 09:51:58
↑
こういうアホが居るから世の中からデスマやセキュリティホールが消えないんだね
647:名無しさん@お腹いっぱい。
07/07/26 10:52:38
まともに反論できないから、「アフォ」を連呼するだけになったな。
詭弁の特徴のガイドラインで言うところの「知能障害を起こす」って奴だ。
さだめしシェルスクリプトでいいものもCで書き、PerlやphpのCGIでいいものも
ASAPIやNSAPIで書いているんだろう。
ツールボックスアプローチの理念なんて一切理解して無いんだろうな。
648:名無しさん@お腹いっぱい。
07/07/27 02:29:34
>>647
と、思いたいのですね^^
649:名無しさん@お腹いっぱい。
07/07/27 03:17:19
#!/usr/bin/sh と書かれたCGIがほとんど配布されてないのは
なぜですか?
650:名無しさん@お腹いっぱい。
07/07/27 09:21:34
普通は#!/bin/shだからじゃないですかね。
そういうCGIなら俺の手元にありますよ。
651:名無しさん@お腹いっぱい。
07/07/30 06:58:57
何だかんだ言ってもTeXの設計の汚さだけは叩かないよな
652:名無しさん@お腹いっぱい。
07/07/30 17:44:11
TeX…あれもバッドノウハウの代表例ですな。
まあ、高林氏はEmacsもバッドノウハウとして挙げているわけだが。
653:名無しさん@お腹いっぱい。
07/07/30 20:40:19
バッドノウハウにみえて実はそうでもないものとか結構あるよ。
いい方によってはunix文化そのものがバットノウハウだともいえるし。
654:名無しさん@お腹いっぱい。
07/07/30 20:53:30
Steve Yeggeはemacsは最高のコーディングシステムっていってるよ。
URLリンク(steve-yegge.blogspot.com)
だからといって、vimが駄目とかはいってない。
むしろ、自分はvimを使いこなしてはないけど、
すでに使いこなしてる人は幸運だとも言っている。
本当にできる人は、自分が使わないからといってそれを否定したりしない。
655:名無しさん@お腹いっぱい。
07/07/30 21:14:36
んだんだ、エロイ人は自分以外の人のエロさも分かるとです。
656:名無しさん@お腹いっぱい。
07/08/05 06:50:40
elispがOCamlみたいな新しいのになったらすぐにでも移行するのに…
elispはなんか泥臭くていまいち好きになれない
あとなんかvimの方がコミュニティが活発な気がするしね
657:名無しさん@お腹いっぱい。
07/08/05 22:59:05
>>656
そうかぁ?
vimの日本人向けの改造とかは相当人が足りないっぽいけどな
Emacsは日本人の開発は結構盛んだよ。
658:名無しさん@お腹いっぱい。
07/08/09 03:27:08
>>657
足りてるかどうかの判断ってどうやってするんだ。
そもそも、日本語関連でこういう不満があるから、直して欲しいという
やつすらいない状態なわけで・・・。
日本語つーか、マルチバイト環境は多くのコントリビュータのおかげで
ようやく最低限は扱えるようになったよな。まぁ、糞iconvのバグとか
IME対応の適当さとかに悩まされることはあるが。
659:名無しさん@お腹いっぱい。
07/08/09 05:31:00
2chまわりで日本語のvimっていったら、今はkaoriyaの所のだろ。
あそこの中の人は人がいないと言っているのを何度も見た事がある。
Emacsの方は日本人多いよ。まあMeadowもあるし。
660:名無しさん@お腹いっぱい。
07/08/09 14:39:44
結局 Vim と Emacs はどっちが強いの?
661:名無しさん@お腹いっぱい。
07/08/09 16:11:59
癖が強い = Vim
我が強い = Emacs
662:名無しさん@お腹いっぱい。
07/08/09 16:37:50
Emacs
ちから 7
たいりょく 5
すばやさ 3
かしこさ 8
Vim
ちから 6
たいりょく 6
すばやさ 7
かしこさ 6
663:名無しさん@お腹いっぱい。
07/08/09 18:10:53
メモ帳
ちから 1
たいりょく 2
すばやさ 9
かしこさ 3
664:名無しさん@お腹いっぱい。
07/08/09 18:12:25
>>662
今時のVimはそんなにすばやくねーな
665:名無しさん@お腹いっぱい。
07/08/09 21:25:10
立ち上がり速度の事?
666:名無しさん@お腹いっぱい。
07/08/09 21:55:53
タイピング速度
667:名無しさん@お腹いっぱい。
07/08/10 04:25:02
>>662
>>663
ってことは、メモ帳 < Emacs < Vim の順ってことでおk?
668:名無しさん@お腹いっぱい。
07/08/10 08:40:34
いいよ。
終了。
669:名無しさん@お腹いっぱい。
07/08/10 19:29:57
ed使いはおらぬのか?
670:名無しさん@お腹いっぱい。
07/08/10 21:47:59
cat使いはおらんのか?
671:名無しさん@お腹いっぱい。
07/08/10 22:45:34
tac使いがいたら尊敬する。
672:名無しさん@お腹いっぱい。
07/08/11 01:17:02
>>669-671
呼んだか?
673:名無しさん@お腹いっぱい。
07/08/11 01:20:22
呼んでねえよ帰れ
674:名無しさん@お腹いっぱい。
07/08/11 10:05:36
まあvimはマルチバイトとか
日本語入力については根本的な問題があると思うけどね。
設定ファイルとかを弄る程度なら問題ないけど。
675:名無しさん@お腹いっぱい。
07/08/11 19:14:16
vimだが問題なく日本語扱えるよ。
この書込みもvimからだし。
676:名無しさん@お腹いっぱい。
07/08/11 23:46:44
それは一般的に入っているやつじゃないだろ。
あと、根本的な問題と言うのはIMEとモードの組み合わせが最低だってこと。
ワード単位での移動も使い難くなるし、日本語ではviのキーバインドが生かしきれない。
677:名無しさん@お腹いっぱい。
07/08/12 23:34:02
いや?本家vimで日本語扱えるよ。
この書込みも本家vimからだし。
678:名無しさん@お腹いっぱい。
07/08/13 00:20:40
configure時にiconvやmultibyteが有効になってりゃ大丈夫だな
679:名無しさん@お腹いっぱい。
07/08/13 00:32:58
だからその --enable-multibyteやら何やらに問題がある、って言いたいんじゃないの?
何なのかは知らんけど
680:名無しさん@お腹いっぱい。
07/08/13 08:10:58
お互い、根拠のない優越感に浸りたいために、
相手の事を良く知りもせずに相手を批判してるだけ
全く不毛なスレだ
681:名無しさん@お腹いっぱい。
07/08/13 08:36:00
いや、根拠も理由も書いてあるだろ。
日本語と相性が悪いのは、余程考えないと厳しいレベル。
682:名無しさん@お腹いっぱい。
07/08/13 16:58:11
コマンドモードでIMEオフ、
インサートモードでIMEオンくらいならもうできてるわけだけど
それ以外のどんな動作を望んでるの?
アルファベットと日本語切りかえが面倒なんてのは
どんなOSでもエディタでも一緒だし。
fとかtが日本語で使えないというならわかるけど。
683:名無しさん@お腹いっぱい。
07/08/13 19:54:26
>>682
ちなみに本家vimを素直にconfigureしてf、tで日本語使えてるよ?
684:名無しさん@お腹いっぱい。
07/08/13 20:56:05
あー、本当だ失敬。
685:名無しさん@お腹いっぱい。
07/08/14 00:14:40
viってIMEのONとOFFと更にモードがあるだけで十分使い難い。
コード書いたりするには良いと思うけど。
viの操作方法には他にもメリットも多いと思うが、日本語書いてるときには余り生きない。
っていうかむしろ微妙。
それを、どうして欲しいといわれても、自分で思いついて何とかできる
ようなら別に問題は解決してるし。
686:名無しさん@お腹いっぱい。
07/08/14 02:52:46
そういや、俺も昔はjvi+onewで日本語のメール書いてたなあ。
SHIFT+SPACEとESCをバシバシでやってた。
もうあんな生活には戻れない。Emacs23を起動しっぱなしで十分。
687:名無しさん@お腹いっぱい。
07/08/14 08:20:13
ぶっちゃけVimのコマンドって規則性とか関連性が一環してて、頭悪いおいらでも覚えやすいのよ。
688:名無しさん@お腹いっぱい。
07/08/14 09:04:33
Bill Joy が馬鹿すぎるんだよ。
それに比べれば Bram の馬鹿さはまだ罪が軽い。
689:名無しさん@お腹いっぱい。
07/08/14 11:05:24
俺はどっちもエロいと思ふ。
690:名無しさん@お腹いっぱい。
07/08/14 22:59:21
エロい目で見るからなんでもエロく見えるんだよ。
691:名無しさん@お腹いっぱい。
07/08/15 23:26:17
viとemacs両方使う人はbashのキーバインドどっちにしてる?
692:名無しさん@お腹いっぱい。
07/08/15 23:47:15
zshで普段はemacs風にしてるけど
まれに気まぐれにvi操作でライン編集する。
bindkey "^]" vi-cmd-mode
こんな感じにしておけば一時的にvi操作に変更できるので。
693:名無しさん@お腹いっぱい。
07/08/17 14:51:22
基本 set -o vi にしてる。
かなり昔に .profile に追記しちゃったから、もうこれで慣れちゃってる。
694:名無しさん@お腹いっぱい。
07/09/03 16:35:06
>>692 はいいハック。
695:名無しさん@お腹いっぱい。
07/09/04 21:25:34
>>693 はわるいハック。