129

Steve Yegge は彼のブログにコメントを書きました:

世界中の偉大なエンジニアは皆、Emacs を使用しています。世界を変えるタイプ。あなたの隣の立方体の偉大なギャルではありません。廊下の素晴らしい男、フレッドではありません。私が話しているのは、私たちの職業における最も偉大なソフトウェア開発者、業界の様相を変えた人々です。ジェームズ・ゴズリング、ドナルド・クヌース、ポール・グラハム、ジェイミー・ザウィンスキー、エリック・ベンソン。実際のエンジニアは Emacs を使用します。それを上手に使うにはかなり賢くなければならず、使いこなすことができれば信じられないほどパワフルになります。信じられないなら、ポール ノードストロームが仕事をしている間、彼の肩越しに見に行ってください。キャリア全体で Visual Blub .NET のような IDE を使用してきた人にとっては、本当に目を見張るものがあります。

Emacs は 100 年のエディターです。

コードを書くために最後にテキスト エディターを使用したのは、約 1000 年前、まだメモ帳で HTML を書いていたときです。それ以来、私は多かれ少なかれ IDE に依存しており、キャリア全体で Visual Studio、NetBeans、IntelliJ、Borland/Codegear Studio、および Eclipse を使用してきました。

価値のあるものとして、私Emacs を試しましたが、すぐに使える発見可能な機能がまったくないため、私の経験はイライラするものでした. (どうやら、他の Emacs コマンドを発見するための Emacs コマンドがあるようですが、私はそれを見つけることができませんでした。それは、あなた自身の残酷な禅のような冗談を生きているようなものです。)代わりに、ドラッグ アンド ドロップの GUI デザイナー、IntelliSense、およびインタラクティブなデバッグが必要であると判断しました。

事実とファンボーイ主義を区別するのは難しいので、私はまだYeggeのコメントを額面どおりに受け取るつもりはありません.

IDE に依存する人とそうでない人のスキル、生産性、またはプログラミングの楽しみに測定可能な違いはありますか?

4

38 に答える 38

121

まず、私はEmacsのカルトを真に信じていると自称しています。

とは言うものの、ブロガーはナッツです。役に立つと思うものを書きます。Emacsが私を助けてくれることがわかりました。主な理由は、大学時代に、自分のニーズに合わせてEmacsを変更する方法を学び、自分のニーズに合わせて変更するための初期費用を前払いしたからです。

しかし、他の人は違うことをします、そして彼らが言うように「それは大丈夫です」。

于 2009-01-27T21:10:12.757 に答える
107

彼(スティーブ・エッゲ)は、彼の他の投稿で、これについて少しずつ詳しく説明しています。http://steve-yegge.blogspot.com/2008_04_01_archive.htmlはおそらく最も包括的なものですが、主要な主題に接しているため、情報はそこに埋め込まれています。

要約すると、単に優れているか有能なプログラマーは、IDEを手に取ってそれを本当によく理解し、おそらくそれで十分にうまくいくでしょうが、IDEが提供するものに制限されます。言い換えれば、彼らはIDEに適応します。一方、優れたプログラマーは、スクリプトや独自のツールを作成したり、ツールを拡張したりするなど、自分に合うように環境を調整します。そして最後のポイントまで、Emacsはそこにある最も拡張可能な環境であるだけでなく、そこに拡張するのが最も簡単な環境でもあり、あなたが最大の利益を享受する環境でもあります。拡張機能から-拡張機能はストック機能のようにEmacsに統合されるため、将来の拡張機能は以前の拡張機能に基づいて構築される可能性があります(正のフィードバックループのようなもの)。

于 2009-01-27T21:16:42.570 に答える
57

最高のプログラマーはviまたはemacsを使用します。これは、最も経験豊富なプログラマーが最高であり、20年前は、viとemacs以外に選択肢があまりなかったためです。

非常に遅いテキスト端末を備えたマシンでvi(1987年頃)を始めた後、私は数年後に(GNU)Emacsに変換し(より高速なマシンで)、ほぼ10年間独占的に使用しました。

Emacsは最初の真に統合された開発環境でした-編集/リンク/コンパイルのサイクル全体をemacsで制御でき、使用したコンパイラーに合わせて独自の環境を作成できました。

現在、eclipseなどのIDEはさらに統合されていますが(正直なところ、emacsはグラフィックスに不満があります)、Emacsは依然として「純粋な」テキスト編集に最適な環境の1つです。

于 2009-01-27T21:09:15.767 に答える
34

明確な思考と問題解決を改善することで、より優れたプログラマーになります。プログラムはそれを行うことができません。

より良いハンマーを使用しても、方法と理由がわからない限り、より良い家を建てるのに役立ちません。;)

于 2009-01-28T00:03:24.217 に答える
21

Yegge は Bill Joy に会う必要があります。彼は世界で最も優れたプログラマーの 1 人であるだけでなく、大量の vi を作成しました。で。

短い恥ずべき告白: vi (および近年は vim/gvim) をすべての目的で 20 年間使用した後、昨年かそこらで、Java 編集に Eclipse (および電子メールに Thunderbird) を使用し始めましたが、現在の仕事では私はマシンにはメモリがほとんどないため、デバッガが必要な場合を除いて、通常は vi を使用します。

于 2009-01-27T20:42:11.673 に答える
13

IDE に依存する人と依存しない人のスキル、生産性、またはプログラミングの楽しみに測定可能な違いはありますか?

これを Visual Studio と Emacs に絞り込んでみましょう --- そうでなければ、質問は広すぎます。ほとんどの人 (少なくともここ StackOverflow では) はこれら 2 つに精通していると思います。[私は emacs を使用し、好みます]

次に、質問の 3 つの要素を分解してみましょう。

プログラミングの楽しさは、第一にプログラミング自体が好きであり、第二に、プログラミングをしているときに煩わしさを感じさせないことです。苦労してツールを使用すると、楽しみが減ります。ですから、使い慣れた好きなツールを使用することで、楽しみが最大化される可能性が高いと思います。

もちろん、新しいツールに慣れると、そのツールの方が好きで、新しいお気に入りのツールを使ってプログラミングを行うと、プログラミングがもっと好きになるかもしれません。一般に、人々が emacs よりも VS を好むかどうか (またはその逆) は、両方をよく知っている場合に明確ではありません。

次にプログラミングスキル。スキルと VS/emacs の選択との間に何らかの関係があるとすれば、それは選択を引き起こすスキルではなく、選択を引き起こすスキルだと思います。私の経験では、どの {VS, emacs} も、より良いコードを書くことについて何かを学ばせてくれるようには思えません。

優れたツールを使用すると、同じコード (したがって同じ品質のコード) をより短い時間で記述できるようになる場合があります。と仮定するとproductivity = quality of code `times` code per time、より短い時間で優れたコードを記述できるエディタは、生産性を向上させます。

私は VS にあまりにも慣れていないかもしれませんが、ここで emacs には VS にはない強みがあると思います。ばかげているように聞こえるかもしれませんが、カーソルの移動と同じくらい簡単なCtrl-[fbnp]ことは本当に恩恵です---つまり、手を矢印キーに移動する必要はありません. もう 1 つは、改行を含む検索または置換を実行できることです。

私が気に入っているもう 1 つの機能は、エディターにシェルを埋め込む機能です。私の経験では、Windows 以外のプラットフォームでははるかに価値があります (そして、私の最初の "プログラミング" 経験である IIRC は DOS の .bat ファイルを書いていたので、私は単なる熱烈なファンボーイではありません) が、それらのプラットフォームでは大きな勝利です。 . これにより、emacs は「すべて」と「統合」されます (find/locate によるファイル検索、grep によるテキスト検索、svn/git/hg/... によるバージョン管理など)。

最終的な判断 -- emacs を学ぶべきかどうか? そして、それはすべてファンボーイですか?時間があれば、同じことを行うための新しい方法を学ぶことは常に価値があると思います。そして、あなたがそれを初めて見たときのように見えるものでそれを拒否しないことをお勧めします. その意味では、Dvorak キーボード レイアウトに切り替えるようなものです。最初は遅くなりますが、速度に慣れると、少なくとも qwerty と同じくらい速くなり、より快適になる可能性があります。新しい (プログラミング) 言語を学習する場合にも、同じアプローチをお勧めします。語彙 (標準ライブラリ) を知らないため、難しいことを言うのは難しいですが、報酬はまだあなたを待っている地平線にあります。

于 2009-01-31T20:17:24.087 に答える
10

「世界で最も優れたエンジニアは全員Emacsを使用している」という引用文で始まるので、私もそれを額面通りに受け取ることはしません。彼は世界で最も優れたエンジニアをすべて知っていますか?それはあなたや私が持っている世界最高のエンジニアのリストと同じですか?

一度学んだら、EMACSやviのような強力なエディターはあなたをより効率的にするでしょう、あるいはあなたがお気に入りのIDEなしで捕まえられた場合は少なくともより効率的になります。

キラーは「一度学んだ」部分です。これらのツールを生産的に使用することは多くの作業と練習であり、最初は非常に困難です。

于 2009-01-27T20:52:18.393 に答える
9

個人的には Emacs のファンですが、Emacs は単なるツールです。超派手なペンが優れたライターになるのと同じように、優れたプログラマーにはなりません。

「偉大なプログラマー」が環境を自分自身に適応させるという明確化には、ある程度のメリットがあるかもしれませんが、多くのツール (vim や SlickEdit など) がそれを行うことができるため、その点で Emacs に特別なことは何もありません。

「偉大なプログラマー」はプログラミングに情熱を持っており、プログラミングに情熱を傾けている人は、その情熱を駆り立てるのに役立つツールを見つける傾向があるというのが、おそらく真実だと思います。Emacs (および vim や SlickEdit など) はそのようなツールです。

于 2009-01-27T23:46:08.870 に答える
8

違いがあるとは思いません。それは好みの問題です。

しかし、私が気付いたのは、コーディングが長くなるほど、またはコーディングのレベルが低いほど、emacs または vi を使用した可能性が高くなるということです。

于 2009-01-27T20:43:00.673 に答える
8

過去 10 年間で IDE は大幅に改善されましたが、いまだにプログラミングが小さな安全な「バブル」に含まれており、見苦しい詳細からはほど遠いものになっています。この抽象化の増加により、より多くのプログラマーがより少ない知識でより多くのことを行えるようになる傾向があります。もちろん、これはすべてのプログラマーに当てはまるわけではありませんが、より簡単なツールはより多くのユーザーにプログラミングをもたらします。

下位レベルのツールに関する知識が増えると、コードの安定性が向上します。これは、誤って「基準に反する」可能性が低くなるためです。EMACS はあらゆる種類の言語とツールに由来するものであり、実際には特定のテクノロジではなく理解の深さに関するものであるため、EMACS を唯一の先行指標として挙げるのは不公平です。

昔は、UNIX ボックスで VI や EMACS を学んだか、PC に特化していました (VMS、CMS、AS400 などもありましたが、それらは古いテクノロジでした)。どちらのストリームも非常に熱心な人々を引き付けましたが、UNIX の担当者は洗練されたソリューションを求める傾向があり、PC の担当者はそれを迅速に行うことを望んでいました。文化は非常に異なっていました。

于 2009-01-27T21:51:52.500 に答える
7

IMHO IDE は、特定のプラットフォーム、言語、または OS に合わせて最適化される傾向があります。Eclipse JDT は Java に最適で、Visual Studio は C++/.NET 中心などです。ただし、プラットフォームを変更する場合は、基本的に新しい IDE (または、少なくともプラグイン、ビュー、パースペクティブの新しいセット、および Eclipse について他に何があるかわかりません) を学ぶ必要があります。

emacs、Textmate、vim (私の個人的な好み)、またはその他の一般的なエディターを知っている利点は、作成するプラットフォームに関係なく、そのエディターで習得したスキルが適用されることです。これらはテキストの編集用に最適化されており、一度マスターすると、どの言語でも非常に効率的にテキストを編集できます。

また、優れたプログラマーは自分のツールを自分の作業スタイルに合わせるのではなく、自分の作業スタイルに合わせるという Yegge の主張もあります。4 つの異なる IDE をすべて希望どおりに動作させる方法を考え出す必要がなく、1 つのエディターをカスタマイズできるため、これは汎用エディターの利点だと思います。

于 2009-04-29T23:10:11.630 に答える
6

最高のプログラマーは、時間をかけて環境をカスタマイズし、実行する可能性が高いタスクをより速く/より簡単に実行できるプログラマーであると私は主張します。Emacs は、環境のカスタマイズに関して最も強力なエディターの 1 つです。学習曲線は急ですが、それを過ぎれば、実際にできることに制限はありません。

最高のプログラマーは怠け者だと誰かが言ったことがあります。何かを複数回行う必要がある場合、それを自動化する方法を見つけて、より少ない労力で済むようにするもの。Emacs では、非常に怠け者になることができます ;)

于 2009-09-24T14:27:52.213 に答える
4

私はIDEを最初から(おそらく、QBASICから始めて)、そして何年にもわたって使用してきました。私は今、すべての開発作業をほぼ完全にVIM(さまざまなフレーバー)に切り替えましたが、後悔はしていません。私の生産性は確実に向上しました。

もちろん、VisualStudioのWindowsフォームデザイナに代わるものはありません。しかし、VIM(およびEmacs、私は確信しています)と比較すると、VisualStudio内のテキストエディターは本当にお粗末です。コンソールとGNU開発者ツール(つまりmake、GCC、binutilsそしてgdbいくつか)の生の力を利用すると、これらのツールは原始的に見えるかもしれませんが、正反対であり、実際にはすべてを提供しますIDEが提供するツール(フォームデザイナを除く)。

これらのツールを最初に使い始めたとき、あなたはあなたの前に非常に急な上り坂を持っているだけであり、インセンティブは小さいかもしれません。私は幸運にもこれらのツールを使わざるを得なかったので(?)、私はそれをやめさせる選択肢がありませんでした。

于 2009-01-27T21:37:28.380 に答える
3

私にとって、IDEではなくEmacsを選択する主な理由は、キーボードだけですべてを実行できるからです。これは、私が通常マウスを使用するときに時間を節約できるという点で優れています。また、自分自身が非常に機動性に優れているため、スロータッチパッドを使用しているためにプログラミングの「溝」が中断される傾向があります。さらに、そのカスタマイズにより、一部のIDEよりも優れています。ただし、IDEを使用して十分に高速にプログラミングしていることに気付いた場合は、Emacsの学習曲線は問題に値しないと思います。

于 2009-01-27T20:48:24.797 に答える
3

個人的には、生産性を上げるものなら何でも使うべきだと思います。座ってEmacsを学ぶためのプロジェクトに投資する時間がない場合は、おそらくその時点での時間を最大限に活用することはできません。

ただし、十分な時間があれば、他のIDEについて知るのは良い考えだと思います。私は日常業務でVisual Studioを使用していますが、自宅では小さなプロジェクトにEclipseを使用しており、 Emacsも同様です。私がEmacsの使用を検討した特定の時点では、Emacsとの格闘を遅くするよりも、実際の作業を完了するための努力のほうがうまくいきました。

最高のプログラマー全員がEmacsを使っていると考えるのはある程度ばかげていると思います。Emacsを使用しない(またはおそらくボーカルとして)人気がない素晴らしいプログラマーがたくさんいます。

于 2009-01-27T20:52:43.913 に答える
3

いいえ、良いコードはあなたをより良いプログラマーにします。

とはいえ、優れたテキスト操作は効率の鍵です。vim か emacs のどちらかで、テキストの扱い方が変わります。どちらも効果的であることが証明されていますが、スタイルに関してはほとんど相容れません。また、この議論はかなり古い (テキスト -> コンパイラーが重要だった 80 年代と 90 年代にさかのぼる) ため、最高のプログラマーになるのに役立つテキスト エディターや IDE は他にもたくさんあります。

于 2009-01-28T06:30:40.457 に答える
3

私が Emacs を使い始めたのは、1 年半ほど前のことです。なぜなら、それはいくつかの欲求の合流点だったからです。つまり、(正規表現をサポートするエディターで) 正規表現を扱いたい、Lisp を学びたい、より優れたエディターが必要でした。

コードを正規表現で編集することで、コード内のパターンを見つけることについて多くのことを学びました。キーストロークに慣れるまで少し時間がかかりましたが、マウスがなくてもずっと速く飛べます。

Emacs のおかげで、メモとコーディングを同じアプリケーションで作業し続けることができました。最小限のコンテキスト切り替えは最小限の脳の切り替えを意味し、目前のタスクに集中し続けることができます。

于 2009-01-27T22:00:44.027 に答える
3

いいえ。もし emacs を使えばより良いプログラマーになると信じているなら、それは原因と結果を混乱させています。

とはいえ、毎日使っています。Java 開発では Eclipse よりも emacs+maven の方が生産性が高いことがわかりました (ただし、ときどきリファクタリングやデバッグ セッションを行うために、今でも Eclipse を起動します)。

これらは私の理由です:

  • emacs での実際のテキスト編集エクスペリエンスは、他のすべてを凌駕します。キーボードだけを使用して、これほど多くのことをすばやく達成できるのは驚くべきことです。Eclipse はよりマウス指向であり、入力すると多くのイライラする問題に遭遇します。
  • elisp を使用して emacs をカスタマイズできることは、信じられないほど強力です。基本的な elisp の学習と環境のカスタマイズに時間をかけないのであれば、単に時間を無駄にしているだけです。
  • テキスト エディターで実行したいことはほとんど何でも拡張機能があります。
于 2009-02-04T17:15:08.697 に答える
2

いいえ。

規律、批判的思考、自己改善への欲求は、あなたをより良いプログラマーにするでしょう。ツールセットは、生産性の主要な要素ですが、天才を生み出すことはありません。

emacsやviが気に入らない場合は、使用しないでください。そうしないことを意識的に選択することにより、開発環境を自分のニーズと作業慣行に合うように形作ることになります。いずれにせよ、あなたは好きなものを使う権利があります-そしてあなたがディスクにビットを書くために使うツールについてあなたを怒らせるほど愚かな人を無視します-それは重要なビットです。

注:ここでの「ツールセット」とは、文字通り、ツールの「ブランド」(特定のエディター、コンパイラーなど)を意味します。バージョン管理の使用、単体テストなどの概念的なツールセットは、すべて自己の一部です。改善プロセス。

于 2009-01-28T00:00:06.767 に答える
2

emacsの優れた機能の1つは、あらゆるサイズのあらゆる種類のファイルを処理できることです。確かに、クレイジーで巨大な暗号化ファイルを開いている場合、それは必ずしも有用ではありませんが、開きます。ほとんどのエディター(およびIDE)は、大きすぎるファイルや期待される形式の1つではないファイルを渡すと、大きな苦痛を味わうことになります。

例として、メモ帳で1ギガのファイルを開いてみてください。

私は1980年頃にEmacsを使い始めましたが、それは常に私のツールボックスのツールでした。これは唯一のツールではありませんが、常に私が頼ることができ、いくつかの有用な仕事を成し遂げることができることを知っているものです。

義務的な炎症コメント:一方、私はviについて何も言うことはありません。私はいつも、viが私を喜んで殺し、それにもかかわらず私の臓器を売るだろうと感じていました。

実生活では、ほとんどすべての形式の開発にNetbeansを使用しており、時々emacsを使用してすばやく編集します。今、何かクレイジーなことをするということになると、emacs(私にとって)ほど便利なものはほとんどありません。

コンパイルされたバイナリ実行可能ファイルの静的文字列を編集する必要がある人は他にいますか?そのようなもののためのemacsよりも優れたツールはありますか?それは確かに私のために働きます。

于 2009-01-27T21:24:38.123 に答える
2

IDEに依存している人と依存していない人の間で、スキル、生産性、またはプログラミングの楽しみに測定可能な違いがありますか、それともすべてが単なるファンボイズムですか?

私はあなたが本当にそれに対する答えを得ることができなかったと思います。スキル、生産性、プログラミングの楽しさを測定する方法はたくさんあります。それらはすべて、おそらく非常に主観的であり、および/またはそれを引き起こす1つのものに分解することはできません。

それはまだ興味深い質問です。

私の個人的な信念は-それはプログラマーに依存します:)

G-マン

于 2009-01-27T20:50:18.460 に答える
2

それがあなたをより良いプログラマーにするとは思いませんが、そのレベルを持っている場合、おそらく emacs (または vi ) を使用するでしょう。

: - /

これらの 2 つの良い点 (私は以前に emacs を使用したことはありませんが、最もありふれたタスクには今でも vi を使用しています) は、思考の流れを中断せず、手を離す必要がないという事実です。キーボードでマウスをつかみ、ファイル メニューで正しいオプションを探します。あなたはただ、書き続けてください。頭の中で、「この単語のすべての出現箇所をその単語に置き換えてください」のように言い、Enter キーを押して作業を続けます。

その上、彼らが emacs を唯一のツールとして使っているとは思いません。

それはあなたをより良いプログラマーにしますか?おそらくそうではありません。しかし、そのレベルの専門知識があれば、それらのツールを使用してどれだけ速くコーディングできるかが気に入るでしょう。

于 2009-01-27T21:42:45.920 に答える
2

Emacs のおかげで、テキスト操作とファイルシステムのナビゲーションがより効率的になりました。そして、これらの両方が私がプログラムするときに関係するので、それは私をより効率的な (したがってより良い) プログラマーにしました。

于 2009-09-23T19:57:47.360 に答える
2

私はあなたがこれを尋ねていないことを知っていますが、emacsを学ぶことで(予想外に)私にとって改善されたことの1つは、コマンドラインを操作することでした. emacs のキーバインディングを学ぶ前は、よくわからなかったので、カーソルキーを使用してカーソルを移動し、履歴をナビゲートしていました。backward-word, move-beginning-of-lineand (Stevey が示唆するように、私は常に にバインドしてきました) を(使用backward-kill-wordできることに気付いたのは、ひらめきのような瞬間でした。C-wbashM-t

私は、ルート シェルが「posix シェル」であり、デフォルトで emacs バインディングを持たない Solaris でかなり多くの作業を行っています。exec bashログインするたびに、自分の指が自分の意志でタイプするようになり、今では慣れ親しんだ編集コマンドを指の下で操作するのが非常に速く感じるようになりました。

認めざるを得ないのは、私はまだ Knuth の本を読むのが難しいと思っている (それだけの価値はありますが) ということです。

于 2009-01-31T19:36:47.227 に答える
2

間接的ではありますが、Emacs はあなたを優れたプログラマーにしてくれると思います。Emacs のおかげで実際に関数型言語 ( Elisp ) で書けるようになったので、他の関数型言語 ( Clojure ) に興味を持ち、より優れたプログラマーになると言われています。とは言え、時間が解決してくれると思います。

于 2009-10-15T04:44:52.963 に答える
1

Being able to use some customizable editor allows you to do nifty things, but emacs in particular isn't necessarily the Very Best One Possible. I'm a SlickEdit user myself, I do all the same weird half-automated stuff with it that emacs is famous for. I've seen people do similar things with vi and various Windows-based editors.

So, yeah, socket sets good, but arguing that Craftsman makes the One True Socket Set is kind of dumb.

于 2009-01-27T22:57:45.830 に答える
1

Emacs のキー バインドとその組み込み関数をマスターすると、Eclipse や Visual Studio などの IDE よりも高速にテキストを操作できるようになります。

私の言葉を鵜呑みにしないでください。Emacs を使用したプロのビデオをご覧ください。

Emacs のある程度のレベルに達すると、Java Script、Java、Ruby、Python、HTML、C、C++ など、あらゆる言語を効果的に編集できます。

Emacs を使い始めるのは骨の折れる作業です。箱から出してすぐに使用できるのは、悪いことよりも悪いことです。Emacs のデフォルト設定では、Emacs の初心者が Emacs のより強力な機能 (ヒッピー拡張、etags、yasnippets など) にさらされることはありません。Emacs スターター キットのドット ファイルから始めることをお勧めします。

Steve Yegge が、世界最高のプログラマーは Emacs を使用していると主張するもう 1 つの理由は、elisp です。Elisp を使用すると、経験豊富なプログラマーはEmacsを簡単に拡張できます。Eclipse や Visual Studio で拡張機能を作成することは、elisp でクイック関数や新しいマイナー モードを作成するよりもはるかに困難です。

于 2009-01-28T20:59:48.190 に答える
0

私は大学でemacsを使用しました。それは約16年前のことです。私は振り返っていません。私はまだemacsに慣れていればいいのですが、真実はMSIDEでかなり生産的です。

あなたが投稿したテキストはただの荒らしです。うん。宗教戦争を始める以外の理由はありません。

于 2009-01-27T21:13:51.920 に答える
0

「あなたが投稿したテキストはただの荒らしです。そうです。宗教戦争を始める以外の理由はありません。」

見積もりに同意します。

プログラマーの真の付加価値がそのプログラマーが使用するエディターにあると信じている人は誰でもばかです。

本当に価値のあるプログラマーの真の価値は、そのプログラマーに間違ったエディターを与えることによって減少する可能性があると信じている人は誰でも、ばかです。

(はい、ここに正式なロジックに演習を含めることができます-これらの命題を共通論理と一致させるために真理値を追加します:) FORALLプログラマー:good(プログラマー)===> usedEMACS(プログラマー)FORALLプログラマー:usesEMACS(プログラマー)= ==> good(programmer)(FORALLプログラマー:good(programmer)===> usedEMACS(programmer))===>(FORALLプログラマー:usesEMACS(programmer)===> good(programmer))

(そして宗教戦争に関しては:)本当に価値のあるプログラマーはすべて、EMACSではなくISPFで育てられました。

于 2009-06-16T18:54:59.277 に答える
0

Vi と Emacs の比較は、GNOME と KDE の比較のように思えます。Vi (およびその方言/実装) は、シンプルで飾り気のない、習得が容易で、スクリプト可能で、拡張可能で、(すべての Unix 上で) ほぼ普遍的に利用できるエディターです。一方、Emacs では、IMO は同じことを行うのにより困難な方法を採用しています。マスターするには時間がかかりますが、偉大なプログラマーが使ってきたので、マスターした後の気分も最高です :-)

しかし、私がテキストベースのエディタを持っているときに仕事を成し遂げるためには、Vi は間違いなく簡単に使い始めることができます。おそらく、Emacs は最終的に Lisp を学ぶ動機を与えてくれるでしょう。Lisp間違いなくプログラミングの方法を変えるでしょう。それは間接的な影響です、IMO。

于 2009-01-28T06:06:00.693 に答える
0

開示:私はほとんどの場合emacsを使用しています。

emacs と IDE のどちらを使用するかを必ずしも選択する必要はないと思います。IDE に「emacs」を含めることができます。emacs では、キー バインドを指で覚えてしまえば、非常に生産的になり、他のエディターでは無力に感じるでしょう。しかし、残念ながらすべてではありませんが、多くの emacs キー バインドが IDE で利用できる場合、生産性が著しく向上し、emacs の学習に費やした時間が無駄になったとは感じなくなります。

eclipse 用の emacs プラグインを試してみたところ、非常に使いやすいことがわかりました。もちろん完璧ではありません。しかし、コード補完やリファクタリングなど、IDE を使用する利点はすべて得られます。このプラグインが改善され、より多くの emacs 機能が提供されることを願っています。

emacs に関しては、悲しいことに、時代に追いついていないため、プログラマーはそれに固執することで多くのことを逃してしまいます。

ただし、たまたま scala でプログラミングし、emacs の愛好家である場合は、emacs のensimeパッケージを使用して IDE 機能のほとんどを取得できるので幸運です --- 構文エラーの強調表示、コード補完、パッケージの参照、型検査、リファクタリング、デバッグなど。

于 2011-04-16T03:22:26.660 に答える
0

私は emacs から始めましたが、シンプルなためよりエレガントな vi に切り替えました。また、シングル ユーザー モードでスタックしている場合、ed コマンドは vi コマンドのサブセットです。emacsがそれを処理できるかどうかはわかりません。

その点で、vi はより優れたプログラマーになると思います。

于 2009-01-27T21:45:21.343 に答える
0

いいえ

私たちは皆、人生でさまざまな道を歩み、さまざまな角度から問題を見ています。

優れたプログラマーになるには、エディターだけでは上達できません。プログラミング スキルを向上させるものは他にもあります。ただし、役に立たない間違ったツールは、実際にはプログラマーとしての進化を妨げる可能性があることに注意してください。

あるいは、大工を例にとると、優れたハンマーは優れた大工をより良くすることはできませんが、悪いハンマーは彼が最善を尽くすのを妨げる可能性があります.

/ヨハン

于 2009-01-28T06:41:42.460 に答える
0

彼は少なくともある程度は正しいと思います。他の人が指摘しているように、IDE のエディターは、vim や emacs に比べて制限があります。同時に、(たとえば ssh セッションを介して) 本格的な IDE が動作する可能性がない場合は、vim と emacs の両方を使用できます。さらにもう 1 つのことは、マウスに手を伸ばす必要がないことです。これはまさにキラー機能です。少なくとも 2 倍の速さで簡単に実行できます。ただし、少なくともまともなタイピストでない限り、これの恩恵を受けることはありません (ところで、Yegge が彼のブログで明確に述べているもう 1 つのポイントは、上手に入力する必要があることです)。

于 2009-01-27T22:09:26.973 に答える
0

うーん... 私にとって、それは生産性と楽しさの問題です。

intelisense、統合デバッガーなど、あなたが言及したすべてのものをEmacsに追加できます。また、好みに応じて追加することもできます。ニーズに合わせて構築された環境が完成します。これにより、最もよく使用する機能をより簡単に利用できるようにすることもできるため、生産性が向上します。これにより、パワープロセスを変更してより良い認識を得ることができるため、楽しみも増えます。また、自分がしていることをより楽しむことができるため、生産性も向上します.

さらに、ビジュアル ツールでは利用できない機能を利用できます。適切なキーボード サポートです。私が試した中で、キーボードのサポートが適切なビジュアル IDE は 1 つもありません。マウスの操作が遅い。専門家のインターフェースが欲しい。「おばあちゃんのインターフェース」ではありません。IDE は、専門家のインターフェイスとなることを意図しています。マウスは、プログラマー向けの専門家のインターフェイスではありません。これは退廃的で時間のかかる周辺機器であり、初めて目にするプログラムと対話することができます.

emacsをもう一度試してみるべきだと思います...開始するためのヒントがいくつかあります。

Mx を使用すると、ミニバッファーにコマンドを入力できます

便利なコマンド:

  • apropos: 特定の文字列に関連するすべてのコマンドを一覧表示します
  • describe-function: コマンドの機能を説明します
  • where-is: 特定のコマンドのキーボード ショートカットを検出します
  • global-set-key: カスタム ショートカットを特定のコマンドに関連付けます

便利なキーボード ショートカット:

  • Cx b 特定のバッファを 1 つ選択する
  • C-2 バッファを水平に分割する
  • C-3 バッファを縦に分割する
  • Co 分割時に他のバッファを選択
  • C-0 バッファの分割を解除します
  • C- は、カスタム ショートカットを定義する場所です。

便利なアドイン: ctags のサポート。関数/クラス定義にジャンプできます。

  • ido-mode - ミニバッファーのオートコンプリート モードでのより良い補完
  • cua-mode - Windows ライクなカット コピー ペースト アンドゥ
  • pc-selection-mode - シフト矢印選択
于 2011-04-15T23:27:03.357 に答える
-2

所有は必要ですが、十分ではありません。「賢い」という部分は、Lisp を裏で掘り下げ、表も徹底的にマスターする必要があると私に思わせます。

他のエディターを使用する「賢い」開発者は、同じように賢いでしょうか? はい。

于 2009-01-27T20:41:53.437 に答える
-2

誰にとっても不快ではありませんが、それは私が長い間聞いた中で最も愚かなことです.

エディター/IDE は、それをうまく使用する方法を知っている場合にのみ有効であり、生産性が向上します。一部の人にとってはemacsであり、他の人にとってはVisual Studioなどです。重要なのは、エディターから何を取得するかです。

于 2009-06-16T18:05:26.160 に答える