4 ms·
For anyone who's worked extensively in both worlds, I think it should be obvious that a great IDE is better than a just a text editor. Yes, Emacs and Vim are a
by akeefer 18y ago
For anyone who's worked extensively in both worlds, I think it should be obvious that a great IDE is better than a just a text editor. Yes, Emacs and Vim are amazing tools, but no, I'd never go back to Emacs after having used IntelliJ IDEA. There are a lot of hardcore Unix guys that I work with and even the most stubborn Vi/Emacs fans have been converted; it's just that good. VS for C and C++ was never worth giving up Emacs for, in my opinion.
My perspective is that Java and C# have really amazing, helpful IDEs because the languages have really been designed with that sort of tooling in mind. You just can't have that same level of tooling support with dynamic typing; I've read arguments from people like Steve Yegge but I'll believe it when I see it.
So sure, Java is more verbose and the IDE is the only thing that makes it more tolerable. And yes, I'd rather use a text editor for Ruby or Python. But that's not because text editors are inherently better than IDEs, or that the IDE is only useful for Java because it helps you manage the verbosity; it's just because the IDEs for those other languages aren't that good yet, and it's unclear if they really can be that good.
- apotheon 18y ago> that's not because text editors are inherently better than IDEs Who said they are inherently better? They're better for some languages, and not for others -- and that (alone) doesn't make either set of languages inherently better than the other, either. That's sorta the point in the original essay. > it's just because the IDEs for those other languages aren't that good yet, and it's unclear if they really can be that good. Those other languages are designed for people to actually enter a state of "flow" with the language, while IDE-oriented languages like C# are designed for people to actually enter a state of "flow" with the IDE. This does not mean that the only reason to use Vim instead of VS to write Ruby is the fact that VS doesn't support Ruby. Instead, it means that one can be at least as productive with Ruby/Vim as with C#/VS, because Ruby is designed to be highly productive under those conditions, while C# is designed to be highly productive under IDE conditions. That's the whole point -- and it looks to me like you missed half of it in your eagerness to decide that the reason people use Vim to write Ruby is that the clear superiority of IDEs cannot be achieved by a shitty language like Ruby.
- akeefer 18y agoI think you read too much into that . . . I think Ruby is a fantastic language, and my point is merely that people don't use IDEs for languages like Ruby and Python because the IDEs for those languages are comparatively poor. If there was an IDE for Ruby that reliably did refactorings like "rename method", found usages, had auto-complete, and could pull up documentation for the particular type/method in question, I honestly think it would be helpful and that it would make people more productive than they already are with Ruby. To me the author is incorrect in essentially arguing that people don't use IDEs with Ruby because they're too limiting: it's just that the IDEs for Ruby aren't good enough to make it worthwhile to deal with those limitations. For technical reasons I don't really think that's possible, but if it was possible to craft an IDE for Ruby that was as good as IntelliJ IDEA, I really do think it would improve people's productivity.
- apotheon 18y ago> I think Ruby is a fantastic language, and my point is merely that people don't use IDEs for languages like Ruby and Python because the IDEs for those languages are comparatively poor. Translation: "I think Ruby is a fantastic language, except that it can't be used effectively with an IDE as good as VS, which is a glaring flaw in the language." My point: "I think Ruby is a fantastic language, and the fact it may not be usable with an IDE like VS is not a flaw -- it is the result of design decisions based on a different approach to programming than that mandated by use of a VS-like IDE." > If there was an IDE for Ruby that reliably did refactorings like "rename method" That sort of thing is trivially accomplished by very simple tools that are present in every full Unix environment implementation. You don't need an IDE for that. The same is true for other IDE features you mentioned. I don't need all that stuff integrated into a single monolithic application to be able to use them effectively. > To me the author is incorrect in essentially arguing that people don't use IDEs with Ruby because they're too limiting They're too limiting for Ruby. > IDEs for Ruby aren't good enough to make it worthwhile to deal with those limitations More accurately, what an IDE provides over the tools people tend to use with Ruby isn't enough to offset the limitations, because what an IDE provides is for the most part superfluous for Ruby, and the IDE way of approaching programming isn't very compatible with the characteristics of the language that make common IDE "benefits" superfluous. It seems our main point of disagreement is something like this: 1. You think the fact Ruby doesn't have good IDEs is that it's designed in a way that prevents it from benefiting from them, because it just wasn't planned out well enough to take advantage of IDEs. As a result, Ruby will always lack the benefits of IDEs. 2. I think the fact Ruby doesn't have good IDEs is that it's designed in a way that ensures it doesn't need IDEs, and IDE functionality wouldn't really be a benefit because it's superfluous to a language like Ruby. As a result, Ruby will never need the benefits of IDEs. Instead, it's more geared to taking advantage of the benefits of powerful text processing applications like Vim and Emacs.