4 ms·
This is why I consider IDE-dependence to be a programmer-smell. If you have to have an IDE to function, you're really more of a team liability than an asset.
by fit2rule 9y ago
This is why I consider IDE-dependence to be a programmer-smell. If you have to have an IDE to function, you're really more of a team liability than an asset. Same goes with the language - if it has to have an IDE or else you get into some sort of hellish mess, then its really not designed as a language to make you productive - more, just to sell tools.
- vertex-four 9y agoWould you consider an engineer who is significantly more productive with CAD software than manual drafting to be a liability? Sure, you want your engineers to know the basics of what they're doing, but why would you choose to throw away that productivity?
- fit2rule 9y agoIts never acceptable as a developer to say "I can't do it, because the IDE is broken" - this is a programmer-smell. Re: CAD software, I would consider them more productive, but only if they actually knew what the basics were and didn't just depend on the GUI doing all the work. If you can't get underneath the tooling and fix it, then I don't want to work with you, period.
- vertex-four 9y agoNo, but it's plenty acceptable to say "I'll be less productive because the IDE is broken". Even the diehard Java enterprise developers I know can jot down code with a pen and paper if they were absolutely forced to - that doesn't make it a good idea to tell them not to use an IDE in their day-to-day job, nor a language without good IDE support.
- _pmf_ 9y ago> then I don't want to work with you, period. Are you one of those adorable persons who think search and replace is a suitable replacement for refactoring support?
- fit2rule 9y agoIf you can't refactor with just search and replace, you don't really know the depths of your project, and yes - I would be uncomfortable working with you.
- orbifold 9y agoThat just means you've never worked on a big project, where the component you are responsible for is used by >10 different other components. One very quickly reaches a limit where manual refactoring is an option.
- fit2rule 9y agoOh, I've worked on plenty of big projects - in fact, your life is probably being protected by my software right now. Its just that I don't believe in succumbing to the crutch of tools. If the IDE is getting in the way, get the IDE out of the way - too many projects are incapable of doing this.
- coldtea 9y ago>Oh, I've worked on plenty of big projects - in fact, your life is probably being protected by my software right now. Those two are orthogonal concepts. There is e.g. car or medical embedded software that's tiny in scope compared to a big enterprise project.
- fit2rule 9y agoYeah, try taking a train in any one of 38 different countries around the world .. that big enough for you? No, you really don't need the IDE to make big software.
- coldtea 9y agoYou don't need computers to ride trains either. Programming, as most technologies, is not about what you basically need. We are not cavemen. It's about what enhances what you can do.
- klibertp 9y agoOn the other hand, not knowing and not using the tools for your language is also a problem, assuming that such tools are improving productivity (which many of them do). You should be able to get by without them if necessary, but you should also strive to use the most powerful tools you can whenever possible. Powerful tools also have non-trivial learning curves, so you should train to become proficient with them too. Being tied to a single effective tool is not always bad. If the tool is indeed powerful, the need for other tools may not arise. Emacs and Vim users use their editors to work on a lot of different things, for example, and have enormous libraries of plugins and features at their disposal, ready to use no matter the language. If someone asked me whether to learn an IDE for a specific language or Emacs, I'd say both. The larger your selection of tools, the better - with more tools the number of things you can do faster/better also increases, which leads to higher productivity. In other words - don't try to code in Notepad forever and be prepared to spend some time on learning new tools.
- indemnity 9y agoArguably, using Xcode for Swift is akin to coding in Notepad. I basically have to have the documentation open in a separate window at all times, because Command-Click hardly works, and syntax highlighting/completion is never long for this world. At least Notepad doesn't have pretensions to being a programmer tool.
- alexasmyths 9y ago"On the other hand, not knowing and not using the tools for your language is also a problem," To be fair - XCode is a problem. iPhone Apps are not rocket science. There is no reason for the massive bureaucracy and confusion of XCode - or even Swift. Not only does Swift try to do too much as a language - dealing with XCode is like dealing with the California DMV. My god, man the compiler options. Pages and pages of options. As far as I'm concerned, the biggest failure of the 'Swift' decision, was to be so tied to the old language standard, and to XCode. The only possible advantage of XCode from a developer perspective is maybe the UI designer, but even then. Obviously there's a huge investment in Xcode But ... Has anyone tried VSCode lately, or Atom? I mean it's possibly to have a 'light' editor and basic compile chain in which we can do powerful things. Or none at all. I personally loathe using Android Studio or XCode - it feels like working for the government, on a team of 3000 people building a web-site for the local library that never gets into production. Anyhow, I jest. I think there is rationality in wanting to be able to have a language work without an IDE.
- orbitur 9y agoI obviously know what I'm doing, the IDE isn't going to write the code itself. But if I can "write" an 80 character line of code by pressing around 10 keys, I think that's pretty useful. If I can write a method, a class, faster than I would by manually typing and referring to docs all the time, why wouldn't I? And clearly I'm still getting the work done. I'm complaining about the dissonance of trying to type a method name while the autocomplete dialog wants me to finish the name of a random C macro or an image name. It's frustrating and worth complaining about. Syntax highlighting is useful, the reason it exists is to help you differentiate tokens quickly.
- imtringued 9y agoSuppose we have a datatype called "User" and it has an attribute called "username". How do you distinguish between User and username with a text only search for just "user"? Also nobody is saying that the tool is required to make you productive. The entire point is that it makes you more productive. I consider things like "What file is this datatype defined in?" to be menial work. It's merely a waste of time that requires no skills.