>And unix was originally written on a machine with less than 144 kilobytes of RAM using a teletypewriter...

> What amazing contributions to the world's software have these enormous screens allowed you to make?

A tool is a tool, and is different than a person. When it comes to programming, the person is more important than the tool, but the tool does affect the person. You can theoretically do roughly the same work on any computer with any equivalent application, but certain computers and editors allow you to do such work more quickly.

Just because you can do something using the "wrong tools" doesn't mean that you should. Most of the original Unix was written using ed, too.[1] That doesn't mean that ed ought to be used today unless it is the tool that happens to make you the most productive. A real hacker using ed can program better than a newbie with a modern editor, obviously. That doesn't mean that real hackers should use ed.

ed was used out of necessity. So were teletypes and 144 KB of RAM. Good hackers could still do work with such tools. However, they themselves think that they're more productive with modern tools or else the hackers who used ed back in the day would still be using ed.

I actually do use ed for some quick/light editing because it doesn't get in the way. It's the perfect editor if you never make any mistakes. When you do make mistakes, something like emacs is immensely more useful because of all the ways you can correct your program from within the editor. If I used ed for everything, I would probably have to write dozens of helper scripts (in sh, of course!) to help me edit my source code. In something like emacs, those scripts have already been written and integrated into the editor and this is a good thing. After all, one should not reinvent the wheel unnecessarily.

-----

I hope you understand what I was getting at in my analogy to ed. You can make amazing contributions using any weak tool, and you can make no contribution at all using a strong tool. This doesn't mean that one should willingly use weak tools unless they have a pretty good reason to do so. People did great things on weak tools in the old days because they had no other choice, not because those tools somehow make someone great. Using ed isn't going to allow me to create the next great operating system.

You can have a powerful computer, or lots of screen space and have those tools be wasted, obviously. The specs of your hardware do not make you more capable of a programmer. On the other hand, to willingly suffer weak tools for ideology shows that rms puts his ideology ahead of his hacking. Otherwise, he would have a setup that is designed to optimize hacking productivity, so that he could do more things in less time. Sure, he could hack great things using just about any device with a Unix terminal and a keyboard, but he could hack in a more productive manner using proper tools.

Using roughly equivalent tools is a matter of taste (e.g. vi and emacs), but he's using a rather weak machine simply out of a desire to have a totally 'free' machine. Ironically, he's limiting his own freedom of choice in hardware for what he believes is total software freedom.

rms is a great hacker. In the domain of programming, he's better, smarter, and more experienced than me. That being said, his uncompromising commitment to his ideology is not getting in the way of me, it's getting in the way of him. There are other groups that inconvenience themselves greatly due to their philosophical beliefs. For instance, the Amish. They don't harm me or even affect me, but they do miss out on a lot of cool stuff by shunning technology. I probably can't persuade someone who is already Amish to go get an awesome smartphone, but if the Amish were actively evangelizing, I would try to discourage other people from giving up the conveniences of modern technology.

Perhaps I should ask what amazing contributions to the world's software rms has done in the last decade as opposed to, say, the 1980s?

-----

[1] http://catb.org/~esr/writings/taoup/html/ch13s02.html