4 ms·
Are powerful editors really that much of a force multiplier? My career path has pulled me from a CS degree into loosely related fields so I mostly only code as
by pedrocr 6y ago
Are powerful editors really that much of a force multiplier? My career path has pulled me from a CS degree into loosely related fields so I mostly only code as a hobby. I end up using basic editors (e.g., gedit) and reaching for grep/sed/etc when I need something fancy. Is having that power in the editor versus the command line that much of an advantage?
- johannes1234321 6y agoAs always: It depends. Better be proficient in command line tools and a simple editor than not being proficient in an fancy editor. But once you are used to the fancy editor it can be very efficient to be able to lookup a definition, do some refactorings, get an code outline view, auto completion, editing helps (text templates or the automatic } and indention) etc.
- aprdm 6y agoI believe so, looking for definitions of functions you’re using and being able to jump to their implementation is great, starting a debugger, getting errors as you type... it all saves time. Being able from the same interface to visualize your database and state of the program is also good !
- antonvs 6y agoYou can't achieve what a modern IDE can do using a simple editor and the command line. Autocomplete, hinting, type checking, navigation, documentation display, automated refactoring, interactive debugging, and integration with other tools like test runners and databases, are some of the major features which yes, are indeed force multipliers. This all becomes even more important when working on large codebases, and/or code you didn't write all yourself.
- intarga 6y agoYou can do all of those things in all four of the editors discussed.
- antonvs 6y agoThe comment I replied to was asking about comparing those kinds of editor to "basic editors (e.g., gedit) and reaching for grep/sed/etc when I need something fancy." You certainly can't reasonably do most of those things with that toolset.
- Datenstrom 6y agoMy vim configuration, environment, and screen splitting using tmux giving me CLI tools in other windows together gives me every single feature you listed and more. My shell and environment being Turing complete not counting vimscript I imagine it would be hard to find anything a IDE could do that I can not. For reference: https://gitlab.com/datenstrom/home https://gitlab.com/datenstrom/home Edit: just saw your response to the sibling reply didn't realize you included (enhanced) Vim in IDEs as I haven't heard of it referred to as one before, quite the opposite usually.
- antonvs 6y agoIt's not so much that I include Vim as an IDE, as that it's not a "basic editor" like gedit. Although I will say that I've been using Vim a lot less since I started using VScode. That looks like an awesome Vim environment though!
- acdha 6y agoYes. Switching context is expensive for humans and modern editors mean you do it less frequently and with fewer conventions to learn. A big one for general editors is that they work for everything: you can build, lint, debug, refactor, etc. using the same UI for every language which reduces the frictional cost significantly in fields like web development. Having code-aware auto completion, function signatures, and type validation is especially good here since you waste a fraction of the time realizing that you were omitting an argument by mistake or passing the wrong type – especially when that isn’t something which a quick compile check will tell you. Refactoring is a good example: I’ve noticed that most programmers who don’t use advanced editors avoid fixing things which require analysis because it’s tedious to do right. That leads to accumulated technical debt over time with variables or methods having now-inaccurate names, etc. Nothing critical but a frictional cost which goes down when you have easy tools to perform language-aware refactoring (e.g. replacing a name in a function but not the same name used elsewhere in the same file).
- atarian 6y agoJohn Carmack admitted a while back that he's not much of a power user when it comes to text editors. https://twitter.com/ID_AA_Carmack/status/1302651878065475584 https://twitter.com/ID_AA_Carmack/status/1302651878065475584
- bjoli 6y agoI don't believe so. I am an Emacs user and I wouldn't trade it for the world, but I know people that are increadible productive using just about anything. When writing well-contained code where I can easily understand external dependencies I could just as well use notepad. Emacs shines when I want macros or multiple cursors, interactive development (I am a schemer) at just general code navigation. When doing things that are not scheme I could probably edit code just fine in just about any editor. The only things I really miss in other editors (probably because I never looked) are the features for jumping around. I can jump to a definition (across files) in 1s which sets a "mark" from the place I left. Jumping back takes less than a second. I could of course do it, but it was more involved and I couldn't do it without having to think and let go of what was in my mind at the time. Anyway, you grow into your editing style. A friend told me he would likely get seizures by developing like me.