4 ms·
Do you believe that a decent programmer can and should be able to work well enough without a text editor? If not, what do you see as the difference?
by hythloday 15y ago
Do you believe that a decent programmer can and should be able to work well enough without a text editor? If not, what do you see as the difference?
- srean 15y agoIf you claim you do not see a difference between an editor and an IDE I believe you are just trolling. Not sure if I should feed you. One is a general and a language agnostic tool and promote skills that are largely transferable across languages and platforms whereas the other is a language specific and a limited tool that is likely to be absent for new languages.
- jiggy2011 15y agoText editors are not completely language agnostic if you want to use features like syntax highlighting as somebody had to add syntax for a particular language to your editor of choice. Also IDEs like eclipse are faily language agnostic, of course the tool support is better for some languages rather than others. I use eclipse for PHP but I only really use it as a text editor (along with some of the features that help me navigate the code easily), all the debugging etc is done server-side anyway.
- hythloday 15y agoArgumentation note: claiming you have an unpopular opinion and then leaping to call people trolls so you can refuse to engage them is pretty poor form. Of course I see a difference, but it's a difference of degree, not kind. I should clarify that by "text editor" I mean something above the level of ed or nano (though I'm happy to make a similar argument for these too): language-aware features in vim or Emacs such as auto-indenting, syntax highlighting and ctags support are not "transferable across languages" unless someone does the work to implement them: witness Emacs's lack of C++11 support. Expecting e.g. auto-completion to work cross-language in vim but claiming that debugging in Eclipse in inherently language specific flies in the face both of experience (I personally have used debuggers in Eclipse for Python, Scala, and Java, and I know others exist) and also common sense; both are fully extensible via code, and while Eclipse's support for Java is better than the other languages, it's not tied to it in the way that e.g. the Python REPL is tied to Python. I think you'll find that Emacs's support for various languages differs in quality too.
- matwood 15y agoeditor and an IDE I think the problem is that unless you're talking about using nano or notepad to code versus something else then you're trying to make your IDE sound superior over someone elses choice. When most people talk about being superior using an editor over an IDE, they usually mean using vim/emacs editor. The problem is that these days vim/emacs are IDEs. They may be lighter weight versus some other IDEs, but they are IDEs in functionality, plugins, and language support.
- anonymoushn 15y agoI haven't seen a vim plugin with refactoring or debugging comparable to IntelliJ or Eclipse yet. Do you know where I could find one?
- matwood 15y agoI don't know if you're being snarky or asking a valid question. Either way, at no point did I say either had all the features of other IDEs. We also never defined IDE. Must they include refactoring and debugging tools to be considered? Debugging, depending on language, can be shelled out to the underlying tools. Refactoring is a hard one even in other modern day IDEs, so to say that vim/emacs are not IDEs because the lack refactoring means a lot of other IDEs also are not IDEs.
- anonymoushn 15y agoI meant it as a question. My normal response to people who want me to use an IDE is to ask what it does that vim does not do, and so far I have found that these two IDEs do these two things (at least, for Scala and Java. I would not expect any IDE to do correct refactoring of Python) that I have not yet made vim do. I'm particularly interested in this right now because I've just moved from a C++ project to a Scala project, which meant moving from vim to an IDE.
- timtadh 15y agoActually, I do believe this. I am not going to make the age old argument "real programmers program by toggling there OS into the front panel of the computer". However, I am going to argue good programmers can program in such an environment. A good programmer can put together a system with nothing but a stack of note cards, a pencil and a good eraser. Since good programmers can work in really archaic and restrictive environments should they? Of course not! You should give them the best tools for the job, they will work quicker. However, that doesn't mean they can't be amazingly productive with primitive tools (see the 1970s for instance).
- ajross 15y agoAbsolutely. To extend that answer: a programmer who can't work without an IDE probably: - Can't work without an integrated debugger (i.e. can't diagnose a core, doesn't know how to attach a gdb to a running process, etc...) - Can't diagnose problems outside of the development sandbox. - Will demand access to expensive debugging tools instead of throwing some logging in. - Doesn't code experimentally. Won't try things. Will ship the first version that works. - Can't generate a simple test case for a bug, instead hammering away on a giant 200-file project someone else wrote. - Often can't write a single-file, simple program from scratch AT ALL. The analogy to a crutch is very apt. Yes, you can do great work with IDEs, and I'm sure people do. But 90% of the time an IDE user is using it only because it's all they know, and they're too lazy or unskilled to learn something different.
- WildUtah 15y ago>>A good programmer can put together a system with nothing but a stack of note cards, a pencil and a good eraser.<< A real programmer uses a pen.
- jebblue 15y agoPerhaps real programmers communicate telepathically, why should you need a pen as a crutch? Perhaps the other two gentlemen who think an IDE is a crutch will know the answer.