6 ms·
IDE dependency? Perhaps, but that isn’t necessarily a bad thing since that is representative of the tools they will be using in the office. Mine is perhaps
by srean 15y ago
IDE dependency? Perhaps, but that isn’t necessarily a bad
thing since that is representative of the tools they will
be using in the office.
Mine is perhaps an unpopular view.
I have come to believe that a decent programmer can and should be able to work well enough without an IDE. Presence of an IDE should be a sufficient condition not a necessary condition and I see so much of the latter.
IDEs are a crutch and there is a minimum level of "walking" that I expect from you without a crutch. If you have to reach for a crutch even for the simplest tasks you will earn my suspicion that you are not as comfortable as the other guy in more complicated operations. As for the claim that IDEs are a representative tool, it need not be true, more for a start up pushing the envelope. Who knows which new or non mainstream language/technology will be most suited for the job. There may not be any mature tooling available yet. I would want my co-hacker to be able to cope.
To give an example, there was this guy who claims he knows scala, but loathes working on a scala project because apparently there are no mature debugger for scala in eclipse. For him a eclipse plugin is a necessary condition.
I have seen too many programmers who program in the following mode - let me type something in the IDE. No errors detected ?, good. Let me test it on a few cases. Didn't work ? let me bump up the loop bound by one, no cookie ? let me decrement it by 2, didnt work, let me change the sign of this expression from positive to negative -...ad infinitum. I am more scared when such a code passes a few half assed test cases and the author cannot explain why the fix works.
I am not saying IDE are universally bad, quite the contrary. I advocate IDEs, but under two scenarios - (i) you are learning a new language (ii) you are an expert in that language. It is the overly populated middle ground, where it is used as a substitute for (a) thinking about your code or (b) knowing the language, that worries me.
- pnathan 15y agoIf you have to use an IDE to program, you're not programming in the language, you're programming the IDE. There are many times I have to log into remote systems and all I have are nano or vi. Not even emacs. If I have IDE-dependancy, I'm up a creek without a paddle.
- eropple 15y agoIf you're hot-patching code in a remote environment, you have much bigger problems than "I don't have an IDE!". I use an IDE--and for many languages, ex. Java, Scala, and C#, would say I have to--because my time is worth something to me.
- kamaal 15y agoI use an IDE--and for many languages, ex. Java, Scala, and C#, would say I have to--because my time is worth something to me. For the languages you've mentioned. Java and C# do you really have any other option, but to use an IDE? Its like, goes without saying and assumed that you are and every body is programming with an IDE. In case of Java. You must know eclipse today is nearly a part of the language and not a separate tool.
- eropple 15y agoI can write Java without an IDE. It's not that hard--it just takes additional time. Valuable time that I could spend writing other code or sleeping or drinking beer. The assumption that it would be Eclipse, however, is hilarious.
- jiggy2011 15y agoYou aren't really "programming the IDE" since you are using the same language as you would be if you used something more like vim. You may be used to a workflow that a particular IDE emphasizes but that doesn't mean that they couldn't muddle through with an editor + command line tools if required. Sure you might have to read some more documentation but I would argue that you are still using what is in essence an "IDE" just without the "I" since you are using a more loosely coupled set of tools. At it's core an IDE is usually just a text editor with a few buttons that run scripts anyway. Whether you happen to call them from BASH or a GUI is largely inconsequential. There may be people who are hopelessly lost without an IDE but more than likely it's just that it's that IDE they learned at school/their last job because they were focusing more on learning the code than learning Unix commands. People are naturally afraid of things that are unfamiliar but given time and a push in the right direction anybody capable of writing a program should be able to pick up these skills.
- hythloday 15y agoDo 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.
- evilbit 15y ago> I have come to believe that a decent programmer can and should be able to work well enough without an IDE. Let me help you understand how absurd your statement is: "I have come to believe that a decent builder can and should be able to work well enough without power tools."
- jebblue 15y ago+1 (I hope +1 is ok as a response here.)
- georgieporgie 15y agoYou're perpetuating a silly myth which is along the same lines as the "language X sucks because it attracts Y-type programmers." Don't hate a valuable tool just because you've seen it misused. Also, don't assume that because a person uses or even prefers one development environment, that he or she is incapable of working outside that. claims he knows scala .. there are no mature debugger for scala in eclipse. For him a eclipse plugin is a necessary condition. What's wrong with that? If your favorite editor is vim with a host of preferred customization and plugins, and I tell you that at my company we only allow the use of TextPad, are you going to be happy about that? How is it wrong for a developer to prefer working from within a particular environment? I hear people talk about muscle memory and the power of vim, yet when the table is turned they cry about crutches and ineptitude.
- srean 15y agoAnd then I claim that you are indulging in a "silly" refutation of things that I have not said and you are conflating concepts of necessity and sufficiency. I guess we all have our trigger happy moments. Also keep in mind that optimal decision making requires that prior probabilities be taken into account together with the costs of false posotives, cost of false negatives and the cost of acquiring evidence. Evidence does change posterior beliefs but but Bayes' rule essentially dictates that stronger claims (i.e. low prior) require stronger evidence.
- georgieporgie 15y agorefutation of things that I have not said How's that? You're a technology bigot, plain and simple.
- srean 15y agoThis is getting beyond silly, and I dislike long threads, but if you insist this is how: I dont hate an IDE I advocate it. Circumstances matter. I do not assume, I verify and learn from past experience. You may find this helpful http://en.wikipedia.org/wiki/Posterior_probability http://en.wikipedia.org/wiki/Posterior_probability I have no problems about users preferring one tool over another. I re-iterate , "preference" is different from necessity. I am not sure why I am re-repeating myself. Apparently it does not make a difference and dont expect that it would even now. Perhaps an integrated reading/comprehension environment is called for.
- kamaal 15y agoI have come to believe that a decent programmer can and should be able to work well enough without an IDE. Presence of an IDE should be a sufficient condition not a necessary condition and I see so much of the latter. I have come to believe that a decent marathon runner can and should be able run well enough without shoes. Presence of shoes should be a sufficient condition not a necessary condition and I see so much of the latter. You can run for like 50 meters without shoes. But you need shoes to run a marathon. It makes zero sense to be developing a very big Java application without IDE's. And any one who is doing is simply for no reason under going self punishment.
- InclinedPlane 15y agoYou chose a poor analogy, barefoot long distance running is becoming rather popular lately. Many runners have completed marathons and clocked competitive times without shoes.
- kamaal 15y agoJust like how many programmers manage to program Java on Emacs today... I mean does anybody have to bear that kind of a pain for no reason? And what you are going to accomplish doing that by the way? I don't understand this self punishment and I don't see why this is even needed.
- pjmlp 15y agoThis only goes to show that you never worked in multi-site projects with millions of lines of code, which are integrated into enterprise processes and build infrastructures. Trying to navigate or refactor code without the help on an IDE is just plain insane, regardless of the language being used.