Will Emacs make me a better programmer? [closed]

2019-03-07 09:34发布

Steve Yegge wrote a comment on his blog:

All of the greatest engineers in the world use Emacs. The world-changer types. Not the great gal in the cube next to you. Not Fred, the amazing guy down the hall. I'm talking about the greatest software developers of our profession, the ones who changed the face of the industry. The James Goslings, the Donald Knuths, the Paul Grahams, the Jamie Zawinskis, the Eric Bensons. Real engineers use Emacs. You have to be way smart to use it well, and it makes you incredibly powerful if you can master it. Go look over Paul Nordstrom's shoulder while he works sometime, if you don't believe me. It's a real eye-opener for someone who's used Visual Blub .NET-like IDEs their whole career.

Emacs is the 100-year editor.

The last time I used a text editor for writing code was back when I was still writing HTML in Notepad about 1000 years ago. Since then, I've been more or less IDE dependent, having used Visual Studio, NetBeans, IntelliJ, Borland/Codegear Studio, and Eclipse for my entire career.

For what it's worth, I have tried Emacs, and my experience was a frustrating one because of its complete lack of out-of-the-box discoverable features. (Apparently there's an Emacs command for discovering other Emacs commands, which I couldn't find by the way -- it's like living your own cruel Zen-like joke.) I tried to make myself like the program for a good month, but eventually decided that I'd rather have drag-and-drop GUI designers, IntelliSense, and interactive debugging instead.

It's hard to separate fact from fanboyism, so I'm not willing to take Yegge's comments at face value just yet.

Is there a measurable difference in skill, productivity, or programming enjoyment between people who depend on IDEs and those who don't, or is it all just fanboyism?

30条回答
我命由我不由天
2楼-- · 2019-03-07 10:09

For me the main reason I would choose Emacs over an IDE is because it allows me to do everything from just my keyboard. This is nice in that it saves some time for when I would normally use a mouse. Also since I find myself very mobile I have a tendency of having my programming "groove" interrupted due to using my slow touch pad. In addition its customization makes it shine over some IDEs for me. However if you find yourself programming fast enough with an IDE then I would say the learning curve of Emacs is not worth the trouble.

查看更多
太酷不给撩
3楼-- · 2019-03-07 10:10

The best programmers use vi or emacs, because the most experienced programmers are the best, and 20 years ago, there wasn't much choice except vi and emacs.

After having started with vi (ca. 1987) on a machine with a very slow text terminal, I converted to (GNU) Emacs after a few years (on a faster machine), and used it almost exclusively for nearly 10 years.

Emacs was the first truly integrated development environment - the whole edit/link/compile cycle could be controlled in emacs, and you could roll your own for whatever compiler you used.

Nowadays, IDEs such as eclipse are even better integrated (to be honest: emacs sucks at graphics), but Emacs is still one of the best environments for "pure" text editing.

查看更多
smile是对你的礼貌
4楼-- · 2019-03-07 10:10

Improving your clear thinking and problem solving will make you a better programmer. No program can do that.

Using a better hammer won't help me build a nicer house unless I know how and why. ;)

查看更多
够拽才男人
5楼-- · 2019-03-07 10:11

I don't believe there's a difference, it's more a matter of preference.

However what I've noticed is that the longer you've coded, or the lower-level you've coded, the higher the chances are that you've used emacs or vi.

查看更多
一夜七次
6楼-- · 2019-03-07 10:11

I've used IDEs from the very beginning (arguably; having started with QBASIC), and for many, many years. I've now switched almost completely to VIM (in diverse flavours) for all my development work and I don't regret it. My productivtity has definitely increased.

Of course, nothing will replace the Windows Forms designer from Visual Studio. But compared to VIM (and Emacs, I'm sure) the text editor inside Visual Studio is really lousy. Once you harness the raw power of the console and the GNU developer tools (by which I mean make, GCC, binutils and gdb, and then some) you'll notice that these tools may look primitive but they're just the opposite, and actually offer all the tools that an IDE provides (well, except for the forms designer).

It's just that you've got a very steep climb ahead of you when you first start using these tools and the incentive may be small. I was lucky enough (?) to be forced to use these tools so I didn't have a choice that I could weasel out of.

查看更多
Viruses.
7楼-- · 2019-03-07 10:15

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.

查看更多
登录 后发表回答