10 ms·
The best developers I've found are the ones who know how to work without an IDE, even if their preference is to use one. Contrastingly, the worst, slowest deve
by drunkpotato 5y ago
The best developers I've found are the ones who know how to work without an IDE, even if their preference is to use one.
Contrastingly, the worst, slowest developers I've worked with rely on their IDE without understanding what it's doing for them, and are helpless in new/unsupported situations. They also, 100% of the time, screw up their git repositories on a regular basis, and need someone who knows what they're doing to help them out, costing their colleagues time and frustration helping them when they won't help themselves.
Some people from the first group find they prefer not using an IDE. It's rather the opposite of laziness, it's choosing the workflow they find most productive, even if it differs from your preferred workflow.
- irrational 5y agoThat sounds more like a problem with git than a problem with the IDE. Why does git allow you to screw up your repository?
- slim 5y agoBacause git is powerful
- moron4hire 5y agoBeing able to do the wrong thing should not be confused with power. It's just a broken tool, that is broken so often, it needs this so-called "power" to clean up after it when it shits the bed.
- Akronymus 5y agoThe very power that allows you to screw up is the power thar makes the tool worth using in the first place.
- aoms 5y agoGit simply gives you the power to do 'things', if that results in a state you didn't want.. well.. go figure
- thrower123 5y agoThe worst developers I've worked with have been sado-masochists who refuse to use IDEs. People take pride in being less productive and making things harder than they need to be.
- tester756 5y agoIt's not about IDE or not, it's about curiosity how do things work under the hood.
- lultimouomo 5y ago> The best developers I've found are the ones who know how to work without an IDE, even if their preference is to use one. The best swimmers can stay afloat with pounds and pounds of weight dragging the down; the worst swimmers will drown. Doesn't mean weighing you down makes you a better swimmer.
- falcolas 5y agoIronically, it would make you a better swimmer - it will help you build up strength, stamina, and technique. An excellent choice in analogies.
- cwyers 5y agoI mean, assuming you don't drown.
- bryanrasmussen 5y agoHarrison Bergeron would never have ascended so high, were he not so greatly weighed down first.
- wokwokwok 5y ago...this is actually a great analogy. Yes, it does; but when you're trying to set a record swimming the English Channel, or escaping from a sinking ship you'd be an idiot to do it deliberately weighing yourself down with weights. I suppose there's something to be said for both ways of doing things ultimately, depending on what situation you're in, and what your goal is. ...but unconditionally advising people to swim with weights, is simply bad advice.
- orwin 5y agoSo the best case is learning without an IDE, and working with one?
- falcolas 5y ago> when you're trying to set a record swimming the English Channel Your training time to competition time is about 99:1 (on the high side for the competition time). The record attempts (or the emergencies) are a poor continuation of this analogy when it comes to programming. > unconditionally advising people to swim with weights, is simply bad advice So we should advise them to use floats instead, since it makes swimming so much easier?
- bccdee 5y agoThe thing I hate most about IDEs is when they insinuate themselves into a project's development workflow so deeply that you can't make do without them. Do I have to spin up a whole session of the IDE just to run my test suite? Do I have to dig through eleven nested GUI settings dialogues to find out what the command to build the damn project is, just so I can tweak a build parameter? Is there so much boilerplate or XML or whatever within the frameworks we're using that writing or changing code is impossible without automation? These are bad things. An IDE can be a powerful abstraction, but when the underlying layer it's abstracting over becomes inaccessible, then all it's doing is adding more complexity by obscuring concrete details.
- tester756 5y ago>An IDE can be a powerful abstraction how IDE "can" be an abstraction? It's tool, it's wrapper (e.g button over commandline commands), but abstraction?
- xxpor 5y agoThe line between the two isn't very clear, nor is it productive to really argue about it, IMO
- tester756 5y ago>nor is it productive to really argue about it I do agree
- Nevermark 5y agoIt was still a good question! There is a line between a tool: A) that makes managing relevant information more efficient, while not hiding any of that information. B) vs. a tool that hides some details, providing a tradeoff of higher productivity MOST of the time, but at the cost of requiring a fall back tool on other (rare?) occasions. I would say, once a tool stops providing access to any (even rarely) relevant details, it has become an abstraction.
- 5y ago
- oldsecondhand 5y agoBut you don't use git to write your code. Code autocompletion and cross referencing are pretty big productivity boosters that won't prevent you from learning command line git. Also I bet you don't use the command line for diffing files. Also the problems is that most IDEs half ass their git client. When I was using Sourcetree, I rarely ever felt the need to go to the command line.
- dmurray 5y ago> Also I bet you don't use the command line for diffing files. Wait, isn't this normal? I run "diff" and "git diff" all the time (I think I have those both set up to invoke colordiff, but it's still a command line program). Also vim -d. Occasionally I browse diffs on Github or Bitbucket instead. I don't find it an improvement. I do favour editors over IDEs, but I don't think I'm an extremist on this one.
- hactually 5y agoAnother git diff/diff user here. Being able to pipe my code changes is a huge win. Maybe I'm old - my whole os/shell is my ide
- orwin 5y agoFor my sibling using `git diff`, can i introduce you to tig[0]? I think it is inferior to magit, but you can install and test it with `apt install tig` and then `tig` in a git directory. [0] http://jonas.github.io/tig/ http://jonas.github.io/tig/
- CharlesW 5y ago> The best developers I've found are the ones who know how to work without an IDE, even if their preference is to use one. "Best" is a marketing term. How do you mean it as it applies to software quality or productivity? I'm trying to understand if you're serious, since the author (who notes "I myself use IntelliJ, CLion and MySQL workbench almost everyday") doesn't even seem to believe what he's writing.
- rzwitserloot 5y agoThis is a bit of a cargo cult argument. Specifically: "The best developers" indeed know how to work without an IDE. They also know 5 programming languages, 50 libraries, and know a whole bevy of esoteric randomness, such as difference between a Thompson-NFA style regex engine and the limitations thereof, or something like that. There is no such thing as a 'the best developer' that doesn't know much. The 'knows many things and has lots of experience' is a tautologic argument. In the mean time, bad programmers 'use an IDE a lot and are lost without it'. That's also tautologic. In other words, your observation proves absolutely nothing, in regards to whether it is wise to use an IDE or not. You're not going to magically turn a bad programmer into a good one by uninstalling their IDE. You're not going to ensure a new programmer is going to turn into a good one if you advise them to forego an IDE, nor will you ruin a potentially good one if you install an IDE on their computer. It says nothing.
- dimgl 5y agoI'm not even sure what to make of this. No sane developer I know will work without an IDE, much less prefer not using an IDE. Sure, we can probably write code without an IDE but in what way does that mean I'm a better developer? I feel myself cringing whenever I hear that a developer is going to reach for TextEdit or Notepad++ to write code.
- deltasixeight 5y agoThose editors aren't really part of the conversation anymore. I would say they were maybe over 12 years ago. Not so nowadays. People are referring to SublimeText, Vim, Emacs, VSCode as Programming Text editors. VSCode is currently the most popular with vim as purist second and Emacs for "elite" hackers.
- orwin 5y agoI'm really just asking, do you think VSCode is a text editor? I used to put it in the same categories as IDE (and thought that it was really better than Netbeans and Eclipse)
- deltasixeight 5y agoThe lines have blurred. I would put it more in the editor category. You really need to download plugins for it to come close to an IDE and it's not as feature complete as say pycharm or Clion. I would say VSCode is more in the code editor category, but as I said before the lines are blurring. With enough plugins and configuration even vim and emacs can straddle that line. In general IDE's tend to have more features less bugs, and have all of these features out of the box.
- jeffterns8 5y agoThat's just confusing big-brand mature IDE suites as the definition for IDE though. Any dev working on an actual project is going to be using those tools with plugins/extensions, configured as an IDE. A dev would require completely separate tools that provide that functionality to say otherwise.
- deltasixeight 5y agoNah if you ever used a modern IDE from the jetbrains line. In order to even get the IDE working with a project you need to configure it to work. That absolutely necessitates understanding of the details of what's going on. You are literally building automation by using additional tooling. It doesn't build it for you. Also screwing up a git repo, what does that even mean? A bad commit?
- h4x0r12345 5y agoIf you have a Maven project, IntelliJ will open it and configure itself automatically. The IDE user doesn't need to know anything about Maven build configurations. It just works.
- deltasixeight 5y agoTotally Wrong. The Maven Project IS the configuration. Intellij is only a shortcut. It let's you access configurations via click rather than via a command line expression. In the end if you want to create a Maven Project configuration or edit the configuration it's on you to do it. At most intellij will just generate boilerplate for you.
- deleted 5y ago[deleted]
- h4x0r12345 5y agoNo that's not how it works. IDEA has its own project files (*.iml, .idea), separate from Maven. We are talking about IDE projects which are separate from Maven.
- deltasixeight 5y agoYes that's configuration for the IDE. But the project itself is configured off of Maven, the project files for the IDE are ADDITIONAL settings for the IDE itself. For example in CLion you can't create a new target from the IDE, you have to edit the cmake file.
- kristjansson 5y agoExactly this. Productive use of IDEs (or vim, or emacs, or vsc, or …) is the opposite of cargo-culting: one knows exactly how to decompose the abstractions presented by the IDE. Should they fail, or prove limited, one grumbles a bit and then goes and does it by hand. Using or not using an IDE because good developers use but don’t need an IDE misses the point. It’s never the choice of tool, it’s knowing how to use it.
- temporallobe 5y agoThe Git tools built into IDEs are indeed very convenient, but I often warn junior (and even mid) developers to NOT use them unless you understand exactly what they’re doing.
- paulddraper 5y ago...But in either case, the programmer is better with the IDE