Slashdot Mirror


Does Relying On an IDE Make You a Bad Programmer?

itwbennett writes "Writing about his career decisions, programming language choices, and regrets, Rob Conery says that as a .NET developer he became more reliant on an IDE than he would have with PHP. Blogger, and .NET developer, Matthew Mombrea picks up the thread, coming to the defense of IDEs (Visual Studio in particular). Mombrea argues that 'being a good developer isn't about memorizing the language specific calls, it's about knowing the available ways to solve a problem and solving it using the best technique or tools as you can.' Does using an IDE make you lazy with the language? Would you be better off programming with Notepad?"

400 of 627 comments (clear)

  1. No by Anonymous Coward · · Score: 3, Insightful

    It's easier to learn the language when assisted by an IDE. Qt Creator is my favorite, followed by NetBeans.

    1. Re:No by TheDarkMaster · · Score: 5, Interesting

      I agree. With a good IDE, is easier to discover all the language can do.

      --
      Religion: The greatest weapon of mass destruction of all time
    2. Re:No by XenoPhage · · Score: 5, Insightful

      Wouldn't this be more of what the API has available? IDE's don't really help you learn the language, beyond semantics, but they are extremely helpful with providing contextual information about API calls.

      --
      XenoPhage
      Technological Musings
    3. Re:No by plover · · Score: 5, Insightful

      Actually, "learning the language" is the one time that an IDE is not the best choice. That's the time you should be trotting out Notepad and developing the skills and familiarity with the language itself.

      Once you've mastered the language, the IDE serves as your reference tool, your refactoring tool, your formatting tool, your reading tool, your analysis tool, and even your testing tool. It makes simple things simpler, which is too simple for someone who doesn't understand the original simplicity.

      A good IDE is a speed enhancer for good programmers. An IDE does not make a bad programmer become a good programmer.

      Look at it this way: would you give a toddler a pair of crutches in order to teach him to walk?

      --
      John
    4. Re:No by MozeeToby · · Score: 5, Insightful

      Look at it this way: would you give a toddler a pair of crutches in order to teach him to walk?

      That is an astonishingly bad analogy given the popularity of toddler walkers and the fact that every child while learning to walk starts buy pulling themselves up next to something and scooting along it's length.

    5. Re:No by gordo3000 · · Score: 5, Informative

      I don't have experience where 100% of what I do is programming, but at times, up to 25 or 30 pct of job was coding, and without an IDE I'd be lost. I can never remember any of the semantics of a given language (and I only use VBA and Python), but I do remember roughly what a language can do and an IDE makes it a lot easier for me to find the exact wording of a call, capitalization, etc.

      I'd be miserable in notepad, getting hung up on typos, or an extra space that gums up indentation. IDEs allow a lot of folks like me who don't program full time to be able to code useful algos when we need them and walk away, not worrying about the time it takes to re-familiarize myself with a language.

    6. Re:No by Kielistic · · Score: 1

      Parents hoist their children up by the armpits and allow the children to direct themselves with the movement of their feet and legs all the time. Probably not the best example unless you actually think an IDE is literally always a crutch.

    7. Re:No by geekoid · · Score: 1

      If you understand software engineers and standard design principle, do you really need that great of knowledge of the language?

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    8. Re: No by Anonymous Coward · · Score: 5, Insightful

      Exactly. This is the way they teach the basics of the language you learn in school. This is why you also get tested on the basics of a language like variables, datatypes, and polymorphism.

      If you never learned the basics ie foundations of programming, you will never use these fundamentals in any of that IDEs you use. I've seen it happen, somebody hasn't learned how to properly separate code functionally and it's all throwing together. They would do this in notepad or they would do it in eclipse or visual studio.

      Your knowledge, skill, and experience make you the type of programmer you are. Good or bad.

    9. Re:No by fuzzyfuzzyfungus · · Score: 2

      Look at it this way: would you give a toddler a pair of crutches in order to teach him to walk?

      Is the IDE a pair of crutches, or the (massive, in neurologically unimpaired humans) amount of abstraction handled transparently and continually for you? Nobody walks by reading raw values from their inner ear and various sensory neurons and then writing values to individual muscle groups... Does that count as analogous to having an IDE remind you about standard library functions?

    10. Re: No by MightyMartian · · Score: 4, Insightful

      Frankly, I don't think what they aid with at all is learning the language (beyond perhaps hovering over core statements like for loops and the like to give you basic syntax). What they do aid with is familiarizing yourself with libraries, but before you delve too far into libraries in any language, you should understand the language itself.

      --
      The world's burning. Moped Jesus spotted on I50. Details at 11.
    11. Re:No by Polo · · Score: 4, Interesting

      I think a better analogy is that an IDE to a developer is more like a CNC machine to a carpenter.

      It's possible that a CNC machine can allow an experienced carpenter to do his work fast and efficiently.

      But for an unskilled carpenter, I see two possibilities:
      - the carpenter may limit his designs to what the CNC machine can make (no curved wood objects for one example)
      - the fundamentals of carpentry might be ignored (like the properties of natural wood, growth, shrinkage)

      In the context of an IDE maybe like:
      - only build on one platform
      - only create products the IDE way (maybe creating "apps" instead of minimal command line tools or OS internal things)
      - allow the developer to ignore corner cases that are abstracted away with IDEs (memory management? interrupts?)

    12. Re:No by ThatAblaze · · Score: 3, Insightful

      Look at it this way: would you give a toddler a pair of crutches in order to teach him to walk?

      That is an astonishingly bad analogy given the popularity of toddler walkers and the fact that every child while learning to walk starts buy pulling themselves up next to something and scooting along it's length.

      Or maybe it's a really good analogy, just a bad argument. That sounds more like it to me.

    13. Re:No by NiteTrip · · Score: 1

      It didn't take long to see someone write about clunking out code in notepad. So the best way to learn is to get overly frustrated on things that don't really matter, like what casing a developer decided to use when making his classes, instead of focusing on the actual aspects of programming like algorithm development and code syntax.

    14. Re:No by Hognoxious · · Score: 1

      True, and with autocomplete you don't have to remember how to spell words like "studio".

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    15. Re:No by Richard_at_work · · Score: 3, Insightful

      Use something like Resharper in Visual Studio and you can learn a lot about the language, as it offers loads of little "this code block can be refactored this way for this reason" hints - shows you just what can be done and why.

    16. Re:No by Hognoxious · · Score: 1

      A CNC machine? That's olden-days talk for a 3D printer, right?

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    17. Re:No by TheDarkMaster · · Score: 2

      Yes, thanks for the extra detail. Yes, it was more or less what I meant. A good ide greatly facilitates the work of exploring the api of language and thereby find out what it offers.

      --
      Religion: The greatest weapon of mass destruction of all time
    18. Re:No by Arker · · Score: 1

      "But for an unskilled carpenter, I see two possibilities:
      - the carpenter may limit his designs to what the CNC machine can make (no curved wood objects for one example)
      - the fundamentals of carpentry might be ignored (like the properties of natural wood, growth, shrinkage)"

      Very much like what you see when people trained as CAD operators try to do the job of an engineer. I remember a truly lovely staircase. Guy sure could draw nicely but he had no idea what 'tensile strength' means and if it had been built instead of caught it would have resulted in dozens of deaths.

      --
      =-=-=-=-=-=-=-=-=-=-=-=-=-=-
      Friends don't let friends enable ecmascript.
    19. Re:No by JustOK · · Score: 2

      It's psteudeo

      --
      rewriting history since 2109
    20. Re:No by Anonymous Coward · · Score: 1

      it is one of the worst IDEs out there...

      Because?

      and to make matters worse, you can basically only program in .net with it.

      .Net is a framework and runtime, not a language. You do not "program in .net" and whatever language you choose to program in using Visual Studio (and there are many) you do *not* need to utilize the .Net framework and you don't even need to use the built-in compilers. I am not quite sure why you seem to believe you can basically only do .Net development in Visual Studio but clearly that is untrue.

    21. Re:No by rev0lt · · Score: 1

      When I did some C# code, I'd actually use SharpDevelop (the UI designer has (had?) some horrible bugs) because I wasn't able to adjust to the VS workflow.

    22. Re:No by epee1221 · · Score: 4, Informative

      I do remember roughly what a language can do

      Then it seems you do remember something about the language's semantics. Maybe it's the details of syntax you're forgetting?

      --
      "The use-mention distinction" is not "enforced here."
    23. Re:No by DriedClexler · · Score: 1

      If your understanding of cutting wood has atrophied to "uh, flick the switch and push the wood into the blade", then yeah, it has worsened your expertise as a carpenter -- because you've lost the understanding that would allow you to cut wood with a plain ol' handsaw and are forced to backlog until the real experts can replace it when it breaks.

      --
      Information theory is life. The rest is just the KL divergence.
    24. Re:No by TeknoHog · · Score: 1

      This. See also http://en.wikipedia.org/wiki/Z... and http://en.wikipedia.org/wiki/I... for more general ideas in education.

      --
      Escher was the first MC and Giger invented the HR department.
    25. Re:No by HornWumpus · · Score: 1

      Once you've got four or five under your belt you can more or less fake it with similar languages.

      Klingon programmers just copy con: myprogram.exe and enter the opcodes and data with alt-keypad. Does relying on a compiler make you a bad programmer? What about an assembler?

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    26. Re:No by SerpentMage · · Score: 3, Insightful

      Learning the language with a notepad is IMO a really bad idea. I will give an analogy that I think is appropriate.

      I am renovating our houses. In the past you would use a hammer and nail to assemble the wood. These days you don't. You use a cordless power drill with screws, and glue. I was talking to my sister and in Ecuador they do as well as their areas are earthquake prone.

      My point here is, would you teach somebody to build a house with hammer and nails? Answer no, because it is a passe art. Now before you all start jumping on me on houses built with nails, that is to save costs. Anybody who wants a quality house will use screws and glue. Likewise notepad, VI, emacs are passe arts. Good at the time, but not usable anymore.

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
    27. Re:No by lgw · · Score: 1

      It's one thing to know "hey, I should use a thread-safe dictionary class for this", it's another thing entirely to remember the many subtle difference between the standard library class for that in C# and Java.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    28. Re:No by SerpentMage · · Score: 1

      Sometimes I press the submit button too quick. The exception to the rule are HurriQuake nails...

      --

      "You can't make a race horse of a pig"
      "No," said Samuel, "but you can make very fast pig"
    29. Re: No by joaommp · · Score: 2

      I don't think so. An IDE is not supposed to help you discover a language or a framework, but rather provide you with a workflow that makes you as productive as possible.

    30. Re:No by mikecase · · Score: 1

      Is that the fault of the tool or the carpenter?

    31. Re:No by imnotanumber · · Score: 1

      A CNC machine? That's olden-days talk for a 3D printer, right?

      Well... Almost.

      The mentioned CNC machine uses subtractive logic while the 3D printer uses additive logic.

    32. Re:No by fwarren · · Score: 5, Interesting

      Back in the 80's I wrote a lot of code for my Commodore 64 on paper which I would type in later when the computer was available to me. I was in college a few years ago and was required to take a class on Visual Basic. Everyone is class was new to programming or learned with a fancy IDE. We had a test where we had to write a few routines on paper for a test.

      Most students had no idea how to form a line of Visual Basic code. They would just start to type the statement and let IntelliSense give them the proper parameter list and then they would just fill in the blanks. This means they were lazy on if a statement used : or ; or if a variable was one-counter or one_counter or OneCounter. It was a disaster. out of 60 students I was the only one who passed that part of the test.

      It is not that I am against IDEs. But having worked without them, and having to do the edit-compile-execute-debug loop, I conceptually understand what the IDE is doing for me. I have done the heavy lifting and I appreciate what the IDE does.

      The best way to learn what the language can do, is to set down with a manual that has all of the commands and with simple examples, and read it whenever you are in the bathroom. It is much less boring reading something like this when the only competition is staring at the floor.

      --
      vi + /etc over regedit any day of the week.
    33. Re:No by Zero__Kelvin · · Score: 4, Funny

      " Likewise notepad, VI, emacs are passe arts."

      Comparing Notepad to vim or emacs is like comparing Mayim Bialik to Kaley Cuoco.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    34. Re:No by Krishnoid · · Score: 4, Funny

      ... it offers loads of little "this code block can be refactored this way for this reason" hints - shows you just what can be done and why.

      Oh good -- I was worried if and when Clippy would find work again, what with the husband and little staples to feed.

    35. Re:No by Greyfox · · Score: 2

      Would you need contextual information about the API calls if the API were consistently designed? I remember thinking something should work in a certain way in Java, trying it and having it work that way, back when I was learning the language. Most languages, you learn a few idioms and are basically set. If your in-house software goes off into the weeds, that's really the fault of your developers and not the language.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    36. Re:No by Greyfox · · Score: 2, Informative
      I use EMACS for all my development. The young'uns at the office are completely lost without a GUI environment and an IDE. Most of 'em probably don't even know what the link phase is. I fix shared library issues for them from time to time. I can use an IDE if I want to, but like to have more control over my build process. You really have to understand, say, maven, to hand-author a maven build file. If I don't understand my tools, how can I resolve problems when they don't work as expected?

      Perhaps knowing when and how to use a hammer and nails would make you a better craftsman than completely dismissing the tools in your toolchest. At the end of the day, that's no better than only having a hammer and thinking every problem looks like a nail.

      --

      I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

    37. Re:No by murdocj · · Score: 1

      Ah yes, it should all be "intuitive". That was what drove me nuts about ruby on rails... the constant assertion that it was all so "intuitive" that you could just type in what you expected to work, and it would work by magic. Sometimes it did... sometimes it didn't, and you then got to get up close and personal with Stackoverflow trying to find the answer to why.

    38. Re:No by Anonymous Coward · · Score: 1

      Who is Kaley Cuoco?

    39. Re: No by RabidReindeer · · Score: 5, Insightful

      I don't think so. An IDE is not supposed to help you discover a language or a framework, but rather provide you with a workflow that makes you as productive as possible.

      In fact, I've found that trying to learn a language or framework via an IDE can be a very bad thing indeed.

      First, because you don't really learn how the language/framework works, you learn how the IDE's generators and editors work. And frequently automated code generators create some really awful, unnatural code, because they're using one-size-fits-all models rather than intelligence.

      Secondly, because even with one-size-fits-all, there are a lot of features and capabilities in most languages/frameworks that won't be supported. And when someone who's used to having the IDE do all the work tries to go in and manually remedy the situation, the results can be horrible.

      An IDE in the hands of people who know what they're doing can be a tremendous productivity aid.

      An IDE in the hands of cheap untrained monkeys hired because management thought that the IDE could replace experience, skill, and talent is disaster on the hoof.

      You can tell which is which by swapping out the IDE with Windows Notepad. The skilled people will slow down and grumble about having to do everything the hard way. The monkeys will sit around idly weeping, because without the crutch that an IDE affords, they don't know what to do.

    40. Re:No by DriedClexler · · Score: 1

      The topic is "does relying on an IDE make you a bad programmer". And I say yes by analogy to the carpenter situation: *relying* on a powersaw -- being able to cut wood only that way -- makes you a bad carpenter.

      --
      Information theory is life. The rest is just the KL divergence.
    41. Re:No by Jane+Q.+Public · · Score: 2

      "That was what drove me nuts about ruby on rails... the constant assertion that it was all so "intuitive" that you could just type in what you expected to work, and it would work by magic."

      I don't know who was asserting that. I've been using it constantly for 8 years and I don't know anybody who asserts that.

      But be that as it may: please don't think this is a criticism. It isn't about you, but just in general about the subject you brought up.

      First is: many people seem to be under the impression that Ruby on Rails is a "language" for web development, something like what PHP was designed to be. Not so. The language is Ruby. Rails is just a web framework built on top of Ruby. They are not the same things at all. If you don't already have a firm grasp of Ruby, you really shouldn't be trying to use Rails. You wouldn't try to become an expert on SpringMVC or Struts without knowing Java first. But lots of people think they can jump into Rails without knowing Ruby first. I have no idea why this is so, but many people get lost that way.

      Second is: Rails is very much what they like to call "opinionated". It works according to a certain logic and mindset. If you don't care for that logic or mindset, you probably aren't going to have a good experience with Rails. That's just the way it is. Rails core developers are very open about this and not even a little apologetic about it.

      Third: as a general-purpose language, Ruby (apart from Rails) is very nice in many ways. In some ways it is more consistent than many other languages. Probably the main drawback is that it is a cross-platform dynamic language, and doesn't have close ties to any particular system APIs. So it doesn't do "native" apps very well unless you use JRuby with Java UI add-ons, or MacRuby, or the like.

    42. Re:No by Anonymous Coward · · Score: 1

      I don't think it's a perfect analogy. Using an IDE is more akin to paying a plumber to do your plumbing and an electrician to do your wiring.

      At the end of the project, is the plumbing and wiring done? Sure. Do you understand how to do the plumbing and wiring yourself? Not likely. When it breaks, will you be able to fix it? Probably not, you'll end up calling a professional.

      That said, if you already know plumbing and wiring, you're not an idiot if you want to hire someone to do it for you.

    43. Re:No by RabidReindeer · · Score: 1

      Once you've got four or five under your belt you can more or less fake it with similar languages.

      Klingon programmers just copy con: myprogram.exe and enter the opcodes and data with alt-keypad. Does relying on a compiler make you a bad programmer? What about an assembler?

      There was a time when yes, relying on a compiler could get you tagged as a bad programmer. Back when compilers were so stupid that if you didn't have some idea of what the low-level code being generated looked like you could easily create slow, memory-hungry code.

      I actually have programmed various machines in raw hex in a pinch, which is why without looking I can tell you that "47F0000C" will cause a System/360 mainframe to branch unconditionally to memory location 12 and "76" will cause a Motorola MC6000 to return from a subroutine.

      In practice, we mostly did use symbolic assemblers, but they were the type that displayed the generated hex on the lefthand side of the source listing.

      However, modern CPUs cannot be easily optimized by unassisted human effort on raw machine code, thanks to their habit of relying on multi-stage memory caches and multiple pipelining. Also modern compilers not only optimize, the optimizers are tuned to specifically optimize many common dumb programmer high-level practices.

      IDEs, however, cannot (so far) be quite that helpful. They're more likely to raise you to just high enough to be dangerous, then let you down.

    44. Re:No by Nemyst · · Score: 1

      Likewise notepad, VI, emacs are passe arts.

      Congratulations, you managed to piss off both sides of the theological argument by putting them in the same sentence as Notepad! I know they're really easy to rile up, there's a whole bunch on Slashdot, and they tend to be extremely amusing to watch grumble about "young'uns" and "newfangled", but as they say in the zoos don't feed the chimpanzees or they might fling poo at you.


      ... They do say that in zoos, don't they?

    45. Re:No by murdocj · · Score: 1

      I would be surprised if anyone who has actually used Ruby on Rails thinks it's a language. I used it for 2 years and I was aware of the separation from day 1.

      If you want to get deeper into Ruby, I'd recommend "Metaprogramming Ruby" which will give you good insight into how Ruby really operates, and how flexible it really is.

    46. Re:No by HornWumpus · · Score: 1

      Way to beat the joke up.

      I notice your memorized opcodes and entry points are as old as mine.

      Old school x86 will still run just fine. Just not keep the processor pipes as full as possible.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    47. Re:No by Nemyst · · Score: 1

      I'm not sure what sort of IDEs you've used but none of the points you've mentioned apply to the big ones out there. Qt Creator and Eclipse both support multiplatform projects very well, being multiplatform themselves. Visual Studio doesn't, but it doesn't shoehorn you into Microsoft-specific extensions either. All IDEs give you a set of project types, one of which is invariably "empty project", which throws you in a text editor with a single main file opened; command-line tools, services, etc. are all very well supported. Finally, I don't really see how an IDE could actually handle memory management or interrupts, which are purely language features.

      Basically, it seems like often people discredit IDEs without having ever really used them.

    48. Re: No by nwf · · Score: 3, Funny

      Yes, using bad analogies is like cutting a tree down with a fish.

      --
      I don't know, but it works for me.
    49. Re:No by Darinbob · · Score: 3, Funny

      She's the one on the show with Mayim Bialik.

    50. Re:No by Darinbob · · Score: 1

      I use Emacs too. And it covers many different modes; I have emacs windows open with plain text (notes and docs and scribbles), makefiles, c, assembler, perl, lua, assembler, a debugger window, a shell window, and so forth. Whereas I have seen other people with tool A for text docs, tool B for program language 1, tool C for program language 2, tool D for html docs, blah blah.

    51. Re: No by fractoid · · Score: 1

      None of that is the IDE's fault. All of that is the fault of whoever hired the untrained incompetents. An IDE is not and never has been a replacement for understanding what you're doing.

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    52. Re:No by Anonymous Coward · · Score: 1

      You have an unusually small penis, don't you...

    53. Re:No by hermitdev · · Score: 1

      Last time I had that level of machine level code knowledge, I was in college. I don't really remember any of it anymore, I haven't used any of the 3 architectures since I left college over a decade ago. But, I had a pretty good grasp of Atmel AVR & Motorola 68k machine code. In both cases, we didn't really have a debugger. Our AVR protoboard, we'd dump data, registers out to an array of 8 LEDs, So, we didn't even have hex! You had to do it in binary. For the 68k setup, our primary debugger was a toggle switch on the front that would flip the clock from continuous to single-step mode, and a push button to cycle the clock. Our only insight was a LED hex readout of the databus, so we could only see 16 bits at a time. We had no insight to register values when we were in supervisor mode. When running in user mode, we did have a custom, handwritten rudimentary debugger that ran in supervisor mode. It'd allow you to dump user-mode register state, set breakpoints in user-mode code and could display hex dumps of any block of memory, but that was it. Nothing fancy like getting a call stack. I also had a pretty good understanding of MIPS machine code, but that was for a different reason: I was developing a superscalar MIPS CPU in verilog for a graduate EE VLSI course (sadly I never finished the project, but I had completed all of the main functional units, including the instruction decoder).

    54. Re:No by hermitdev · · Score: 1

      My point here is, would you teach somebody to build a house with hammer and nails? Answer no, because it is a passe art.

      Actually, yes. There are techniques using standard nails that are just as effective as using screws. It involves hammering nails in at angles, in opposing directions (think the nails end up making an "X" in the wood) instead of straight in. There are times when screws do make more sense, though. I'm not saying you're wrong, just saying it's incomplete.

    55. Re:No by snsh · · Score: 1

      I thought it's Sussudio.

    56. Re:No by dbIII · · Score: 1

      How's this one. If all you've used is an IDE how do you know what's missing and how it could be improved?
      Do you want to be a production line person following a standard operating procedure or know enough about what you are making to be able to write a standard operating procedure? If you have only used an IDE then how do you even know what to do if something it's not designed to handle comes up?

      Maybe a better analogy would be if you've never written anything without a word processor and then someone asks you to send them a text message from a phone - or maybe even write a note on paper.

    57. Re:No by Jeremi · · Score: 1

      Qt Creator and Eclipse both support multiplatform projects very well, being multiplatform themselves.

      I believe multi platform ubiquity is in fact vi's One True selling point. vi sucks, but it sucks in exactly the same way everywhere, so there's no need to re-train your muscle memory every time you switch from one platform to another. Qt Creator and Eclipse are heading in that direction, but neither helps you much when you need to do your work over an ssh connection to a mainframe...

      Visual Studio doesn't, but it doesn't shoehorn you into Microsoft-specific extensions either.

      In principle, I think this is true, but in practice it seems like projects end up having to support two different build systems: One Makefile-based system for Unix/Linux/MacOSX, and a separate, .vcproj-file based system for Windows. And of course the two sets of build files are constantly getting out of sync with each other as the code develops... bleah.

      (Qt gets around that problem by using their own .pro format and qmake to auto-generate the appropriate "native" project file as necessary, and this works well, but even then there was about a five-year period where our Windows guy was hand-maintaining his own parallel Windows project files for his Qt software, simply because he could modify their settings from within the IDE GUI rather and therefore didn't have to learn how to use the .pro file format. And if that meant his changes regularly broke the build on all platforms besides Windows, well, that wasn't his problem.... :P )

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    58. Re:No by sonamchauhan · · Score: 1

      Not really, you give the toddler a walker. Giving a newbie a modern IDE is akin to giving a toddler a small Ferrari.

    59. Re:No by angel'o'sphere · · Score: 1

      This is not a very good analogy.

      Building a house is more or less the same regardles what tool you use, it only depends on the materials. Bring me a boar, "attach" it to the beam ... if you use a naila nd a hammer or a screw and an automatic screw driver does not matter.

      It matters what "a beam" is and what "a board" is and depending on thech you use what "a nail" or "a screw" is.

      Regarding programming that is:
      source code in files gets _compiled_ to binary code
      binary code in files gets _linked_ or _archived_ into libraries
      binary code and libraries get _linked_ into executeables

      For all that you have various PATH variables (LDPATH, CLASSPATH, PATH etc.)

      All that can easy be taught with a simpe editor and the command line ... I know Java Programmers that consider themselves competent who can not configure the CLASSPATH. I know C# programmers who bluntly claim on Windows and .Net you "don't need such a thing as CLASSPATH" ... henc the DLL hell ;D (yes, in .Net it is called different and does not use a variable but a response file ... the concept however is the same)

      --
      Cost free eBook I read (by iBook/Kobo/Amazon/ObookO/Gutenberg etc.): "The Green Odyssey" by Philip Jose Farmer.
    60. Re: No by RabidReindeer · · Score: 1

      An IDE is not and never has been a replacement for understanding what you're doing.

      Except in the minds of bean-counters who control the hiring budget.

    61. Re:No by beowulfcluster · · Score: 1

      In how many real world programming situations rather than college test situations would you be required to write your code down on paper rather than be able to use some sort of IDE? I'm sure you felt great about the test but generally being used to start typing the statement and letting IntelliSense give you a list and filling in the blanks in is not a problem and a more productive way of doing things than the non lazy way.

    62. Re:No by rioki · · Score: 1

      s/Emacs/Notepad++/ But I totally agree.

    63. Re:No by johnlcallaway · · Score: 1

      It's easier to learn the language when assisted by an IDE. Qt Creator is my favorite, followed by NetBeans.

      'Easier' rarely makes a 'better' product. I've seen all the 'next big things' come and go, and all the problems 'easier' has always prompted. Which is why one should start with the basics and learn them first. I use IDEs, but I've also been programming for over 30 years. I learned the dirty little details about assembler and COBOL and FORTRAN and C and C++ and perl and Java and who knows how many others by using text editors.

      Now .. I don't think we need to go all the way back to assembler (although it would be nice of Java programs understood memory utilization a bit better and stopped writing code that stored a bunch of useless information in memory just because it's easier .. but I digress).

      Because of that experience, when something doesn't work in Java the way I expect, I can read the generated code and understand it. I can take that code, modify it, and make it work the way I want it to instead of having to accept the way the IDE does it. I understand the consequences of misplaced parenthesis and braces, writing 'if' statements without an else, or 'try .. catch' blocks without a finally. I know when it's OK and when it's not.

      Because I've made mistakes and had to fix them instead of some machine making my code perfect every time.

      I can evaluate Groovy not just based on a reduction in the amount of written code, but because I understand why those things that make Java a little bit wordy exist and decide whether or not it's a good thing. And when I do use it, what I have to watch out for because a bunch of code is now missing.

      Go ahead, depend on your IDE. And other things that make programming easier.

      And when you can't figure something out behind the scenes, call someone who learned how to not depend on them.

      --
      I rarely read replies, it's my opinion and if you thought about your opinion a little more, I'm OK with that.
    64. Re:No by martyn1807 · · Score: 1

      A good language is easily writable without an IDE. I can do PHP in a text editor; there's no way I can do ASP.NET without an IDE like Visual Studio. Poorly-designed languages/frameworks require IDEs because they mix server-side templating and programming logic, while languages like PHP allow you to see plain as days what is going on through a single, simple-to-understand tag. Unlike ASP.NET, where ID and id mean two different things and client-side HTML is mixed with proprietary properties like runat="server".

    65. Re:No by BitZtream · · Score: 1

      Even 10 years ago AVR studio (which is free) had a built in simulator to do AVR simulation and you could have easily used JTAG on pretty much any AVR ever made except the TINYs which just don't have enough pins.

      Sounds like you were working on an STK500 dev board and just didn't have any idea what you were doing :/

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    66. Re:No by K.+S.+Kyosuke · · Score: 1

      Apparently a girl in dire need of a good text editor?

      --
      Ezekiel 23:20
    67. Re:No by coinreturn · · Score: 2

      ... it offers loads of little "this code block can be refactored this way for this reason" hints - shows you just what can be done and why.

      Oh good -- I was worried if and when Clippy would find work again, what with the husband and little staples to feed.

      Wait, Clippy is a chick?

    68. Re:No by coinreturn · · Score: 1

      You sit on the can long enough to read much? You need to eat more vegetables. I agree about reading manuals with examples, just not in your choice of locations.

    69. Re:No by OwMyBrain · · Score: 1

      Oh! Is she the one that played "Six"?

    70. Re: No by edrauh · · Score: 1

      Bons programadores devem desenvolvolver em ambos, o que acontece é que apos a universidade a maioria doa programadores não se aperfeiÃoam na linguagem e API disponÃveis, se acomodam e acabam se conformando com o pouco que sabem....

    71. Re: No by HappyPsycho · · Score: 1

      Quite true, however it can prevent non-tech people (read managers, HR) from identifying the weak members of a group (or at least how weak they are) by allowing them to at least turn out code that (hopefully) works. The code could be ugly and prone to issues but for most non-techies once it works they are good with that.

      Assuming the person hiring is unable to tell the difference means you will most likely get a 50-50 split of strong vs weak programmers hired (humor me). Now ask which one will cost more and see what happens to that split.

    72. Re:No by Jane+Q.+Public · · Score: 1

      "I would be surprised if anyone who has actually used Ruby on Rails thinks it's a language. I used it for 2 years and I was aware of the separation from day 1."

      It HAS surprised me. But I have read a lot of comments to the effect that somebody dipped their toes into "Ruby on Rails" and then went on to disparage both Ruby and Rails because of their bad experience. The only reasonable conclusion I see is that they were trying Rails without understanding Ruby first. If they already knew Ruby, they wouldn't disparage the language because of perceived failures of the web framework.

    73. Re:No by Cederic · · Score: 1

      No, I'm with him. Visual Studio is excellent once you know it, but it's a fucking nightmare if you dip in only occasionally.

      Which is the opposite of how an IDE should be helping.

    74. Re:No by vilanye · · Score: 1

      Given that Ruby is catching up to Perl in sys admin your assertion that it doesn't play well to the underlying system is odd.

      Even native desktop apps are easy in Ruby, with QT or many other cross platform UI libs.

      Ruby's object system may have come from smalltalk but that doesn't mean that it ignores to underlying system like Smalltalk.

    75. Re:No by vilanye · · Score: 1

      JetBrains makes some good IDE's

    76. Re:No by vilanye · · Score: 1

      +5

      You pretty much nailed it.

    77. Re:No by TheJMan · · Score: 1

      Not at all. It's a really good analogy, toddler walkers are forbidden in Europe due an estimated 14000 hospitalizations a year and some deaths: http://gh.elopedia.com/zijn-baby-wandelaars-veilig-te-gebruiken

      While writing bad code won't usually put you in hospital, I do agree that the analogy is a good one. A toddler walking along hanging on to tables is pretty much what "teach yourself <insert language> using Notepad" would be like. I would at least carpet the floor to make it less slippery and put some bumpers on sharp corners by suggesting Notepad++. The popularity of toddler walkers doesn't mean they are in any way good for the child

    78. Re:No by david_thornley · · Score: 1

      Bad analogy, I think. The reason you don't teach people to put houses together with hammer and nails is that you don't normally use nails because screws are better. Similarly, I wouldn't teach people to make HTTP servers in Fortran or COBOL, since there are better languages for that purpose. Just as it's useful to know how to use a screwdriver, it's useful to know how to write programs without an IDE.

      Moreover, notepad does not compare to vim or emacs, which are easily made into code editors the equal of ones in the IDE, and indeed can work as IDEs.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    79. Re:No by Krishnoid · · Score: 1

      Wait, Clippy is a chick?

      I can't provide a proper citation for that one way or the other, no :-)

    80. Re:No by Zero__Kelvin · · Score: 1

      No. You are thinking of Mayim. Kaley already gets to chose from two of the best: vim or emacs.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    81. Re: No by fractoid · · Score: 1

      True, but if your company is already run by crappy HR (and good HR would be involving the existing technical team when evaluating new technical hires) then you probably want to get out as soon as possible. Eventually the company will be almost entirely composed of cheap but useless drones, true, but long before then they'll make the place so tech-hostile that anyone half competent will have left.

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    82. Re: No by RabidReindeer · · Score: 1

      True, but if your company is already run by crappy HR (and good HR would be involving the existing technical team when evaluating new technical hires) then you probably want to get out as soon as possible. Eventually the company will be almost entirely composed of cheap but useless drones, true, but long before then they'll make the place so tech-hostile that anyone half competent will have left.

      Unfortunately, the IDE-slaves aren't going to be "useless drones". They'll be producing stuff that's actively defective.

      No "silver bullet" tool or framework has ever been developed that can anticipate all the needs (or demands, anyway) of real-world users. If a bunch of no-nothings slap together a product and then go in and ignorantly hack into the (frequently horrible) code that an IDE's wizards have produced, there's no telling what the results are going to be. Except odds are, it will be very bad.

    83. Re:No by fwarren · · Score: 1

      Used to have 3 very active childern at home. The bathroom was the only place I could sit and read for 5 minutes. And 5 minutes 3 times a day 7 days a week is almost 2 hours of distraction free time to read a manual.

      As for the state of my colon, it is better than ever. Thank you for asking.

      --
      vi + /etc over regedit any day of the week.
    84. Re:No by fwarren · · Score: 1

      There are plenty of times when I have not been near a computer and writing some code out when I had a thougth was a great thing to do. In addition to the fact it is great to do when learning a new language or construct.

      The point was that everyone brought up on intellesense did not really know the language, they had a very lose understanding of the syntax. During their larval phase in learning to program it was hindering them from learning the language better. When you understand things, then it is eaiser to undertdand the tradeoffs, when to cut corners, how much time you tools are saving you, etc.

      --
      vi + /etc over regedit any day of the week.
    85. Re: No by cwsumner · · Score: 1

      Yes, using bad analogies is like cutting a tree down with a fish.

      You have not seen the fish that I have seen! 8-)

    86. Re:No by hermitdev · · Score: 1

      That's fair. I was a college student, and it was my first exposure to the AVR. I doubt I was fully aware of what tools we had available to us. We were basically handed the board and told to run with it. We still managed to do some pretty cool stuff with it.

  2. Yes by Anonymous Coward · · Score: 5, Funny
    1. Re:Yes by Gaygirlie · · Score: 1

      Yes, it does. It leads people to rely on building the application with the IDE instead of issuing standard Makefiles or using build systems like autotools or CMake.

      Why do you assume that an IDE wouldn't be able to generate standard Makefiles? I don't know about Visual Studio, but all the IDEs I've tried have certainly been able to use autotools and standard Makefiles.

    2. Re:Yes by Sigma+7 · · Score: 5, Funny

      It leads people to rely on building the application with the IDE instead of issuing standard Makefiles

      In other words, it causes the programmer to rely on an automated build system instead of an automated build system.

    3. Re:Yes by robthebloke · · Score: 1

      No it doesn't. Good programmer != good build engineer. You can be a superb code architect without knowing anything about CMake, or you can be an expert in the build process whilst being a merely competent software engineer. Every so often you'll find someone who is superb at both. Software development is a team exercise, so it doesn't really matter if some people are better at one than the other, the only thing that is important is that your team can cover both bases.

    4. Re:Yes by Sigma+7 · · Score: 3, Informative

      Visual Studio IDE doesn't have makefile support, but it does include nmake.exe which is good enough. However, it doesn't support autotools, since that's a Unix-specific script.

      I don't like autotools myself - modern apps that use it still perform checks concerning string.h in addition to trying to detect if something is Ansi C. Anything failing those checks should be considered too outdated to be worth bothering about (especially with the software not being designed to run on ~20 year old hardware.)

    5. Re:Yes by NiteTrip · · Score: 1

      Is this a bad thing? Are IDE's going to disappear someday?

    6. Re:Yes by farble1670 · · Score: 1

      modern IDEs use the same make tools regardless. for example, Android Studio just uses for gradle build infrastructure from within the IDE to build ... the same stuff to exec from the command line.

    7. Re:Yes by epyT-R · · Score: 1

      It's one of many sanity checks. If non-ansi C is outdated, shouldn't it be checked for?

    8. Re:Yes by beelsebob · · Score: 1

      Also, why would he assume that makefiles, auto tools or cmake are the one true standard way of building a bunch of source?

    9. Re:Yes by rev0lt · · Score: 3, Interesting

      Offhand, yes, you are a less effective programmer if you rely on the IDE. I've seen many "programmers" that get completely lost if the IDE doesn't autocomplete everything for them.

      That is a broad statement. Autocomplete is awesome when you're getting your hands into an existing codebase, and quickly need to be productive. It is also awesome when you have medium to big projects (between 500K lines, hundreds of classes/interfaces/whatever, and several million, thousands of classes/interfaces/whatever). I've seen many programmers completely lost at debugging *because* they were using a debugger - they wasted time identifying specific problems in their routines, while the whole approach was unsuitable - they would usually realize it after fixing the routine the first time, instead of looking at their code and trying to understand how could/would fail. Not all languages are equally suited for it, but those that fit the pattern (usually OOP stuff), works well.
      My personal reason to use an IDE is syntax highlighting, project management features, and multi file navigation (it is common to have between 40 and 100 files open). Autocomplete is awesome, but it is a cherry on top of the cake. I could probably work without a full-blown IDE, but it wouldn't be the same thing.

    10. Re:Yes by mcl630 · · Score: 1

      How does which build tools you use make you a good or bad programmer? You're trying to answer a completely different question than what the headline is asking.

      The answer to the question in the headline is NO. A good IDE just increases a good programmer's productivity and (at best) helps a bad programmer slide by, it doesn't change good programmers to bad or vice versa. None of which has anything to do with build tools.

    11. Re:Yes by shutdown+-p+now · · Score: 1

      Visual Studio uses MSBuild for all its projects. MSBuild is a declarative make system, so any VS project file can be readily built from command line, in automated build etc.

    12. Re:Yes by Sigma+7 · · Score: 1

      Non-ansi C either means a version that has extensions, or some implementation made before it became standardized.

      The former is be trivially checked by comparing version numbers or whatever you use to detect library versions. The latter should be taken out, hung from a tree, gutted, shot and run over by a Buick.

      If one still wants to test for outdated C, it's better to do a global smoke test where you cover a series of #include files and function calls in one program, rather than calling the compiler+linker several times in a row. (I don't know where, but there's a short delay between starting gcc and the first error message that prints out - indicating at least some overhead with multiple invocations.)

    13. Re:Yes by Darinbob · · Score: 1

      Nmake is a bad parody of make. When I used Visual Studio it could export its project to a makefile that nmake could use. That's basically how you could automate building programs from within a script; especially useful when you were low on memory and having VS open would noticeably slow everything down.

      Autotools are awful also. A good concept but inflexible and nearly opaque to most Unix programmers. Useful for building a lot of GNU tools but difficult to use to actually develop on those tools conveniently (ie, try working backwards to figure out what you have to do on the configure command line to enable a define that turns on a feature).

    14. Re:Yes by pjt33 · · Score: 1

      Once you account for all of the differences. I've lost many an hour trying to work out why a project would compile in VS but not with MSBuild from the command line.

    15. Re:Yes by shutdown+-p+now · · Score: 1

      There are no differences in the build engine - VS literally uses MSBuild to run the builds. Compilers used to be invoked differently in IDE and console builds for C# (but not C++), but that's not true anymore since VS 2012. The only remaining differences are a bunch of properties that VS sets that MSBuild scripts can use to see if they're built inside or outside of IDE and behave differently in those two cases.

    16. Re:Yes by gerddie · · Score: 1

      There quite a few things that make sense to be checked: endianess, size of the long type (i.e. 64 bit/32 bit), available 3rd party libraries ...

  3. Yes it does. by Anonymous Coward · · Score: 2, Informative

    I say this knowing next to nothing about programming. So, I might be incorrect.

    1. Re:Yes it does. by pixelpusher220 · · Score: 2

      Yes. I say this as a 20 year programmer. I'm quite happy to have my competition toiling away in Notepad while I'm rolling out version 14 :)

      --
      People in cars cause accidents....accidents in cars cause people :-D
  4. No... by Anonymous Coward · · Score: 5, Insightful

    It makes you a bad programmer in the same way that using an automated spell checker on your novel makes you a bad writer.

    i.e. not at all.

    1. Re:No... by SJHillman · · Score: 4, Insightful

      I would argue that it's more like relying on Word's grammar checker. The suggested way may be technically correct, but you should still know when the IDE isn't doing it the right or best way. And sometimes something is correct in the local context but incorrect in a larger context.

    2. Re:No... by Imagix · · Score: 4, Interesting

      BTW: There was some research done a while back that did show that using spell and grammar checkers improved the bad english-skills people, but actually made the people who were already good english-skills people worse!

    3. Re:No... by abe+ferlman · · Score: 1

      That's a terrible analogy. It makes you a bad programmer in the same way that using a CD Player makes you a bad violinist.

      --
      microsoftword.mp3 - it doesn't care that they're not words...
    4. Re:No... by asmkm22 · · Score: 1

      Neither are very good analogies. Not all writers are great with the technical sides of written language, even if they are better than the average person. That's why most writers have a working relationship with at least one editor. Ultimately, it all comes down to knowing what tools are available to you, and when to use (or not use) those tools.

    5. Re:No... by MozeeToby · · Score: 1

      I think you hit closer to the truth than most people.

      Using spell check will help someone who is poor at spelling or typing put words to paper faster, but it's not going to make (or break) a great novelist.
      Similarly, using an IDE will help someone with incomplete (but really given the size and scope of modern languages that is everyone) programming knowledge, but it's not going to make or break a great software designer/engineer.

    6. Re:No... by Xphile101361 · · Score: 1

      Agreed, but lacks car analogy. Using an IDE makes you a bad programmer like pneumatic tools make you a bad mechanic.

    7. Re:No... by CCarrot · · Score: 4, Funny

      BTW: There was some research done a while back that did show that using spell and grammar checkers improved the bad english-skills people, but actually made the people who were already good english-skills people worse!

      That's it, blame the spelling and grammar checkers...

      --
      "I love animals! Some are cute, others are tasty, what's not to like?" - Betsy Schroeder, Jeopardy contestant
    8. Re:No... by rev0lt · · Score: 1

      Spell/grammar checking is an awful example. If you misspel a word, the novel will still be finished. A computer program will not - will fail (either silently or noisy) or won't compile at all. So code completion is akin to having shortcuts to predefined phrases and complex words, not spellchecking.

    9. Re:No... by idontgno · · Score: 1

      Or GPS navigation makes you a bad driver.

      Or maybe automatic transmission makes you a bad driver.

      (I've known a few driving "purists" who actually believe that latter, so that may actually be a pretty close car analogy for a change.)

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    10. Re:No... by meustrus · · Score: 1

      I would argue that it's more like relying on Word's grammar checker. The suggested way may be technically correct...

      I've got to take issue with you there. I've had Word suggest outright wrong grammar several times before. Things that would be clearly marked wrong by a grader. At least an IDE won't (usually) introduce blatant syntax errors.

      --
      I sometimes ask revealing, often ignorant-seeming questions. Maybe they're harder to answer than you think.
    11. Re:No... by Rhaban · · Score: 1

      Using an IDE doesn’t make you a bad programmer, but being unable to program without it shows that you’re not a really good one.

      If I must make a bad analogy, I’d say it’s like using a cookbook: using one doesn’t make you bad at cooking. But a good cook is able to cook without one.

    12. Re:No... by rioki · · Score: 1

      At least an IDE won't (usually) introduce blatant syntax errors.

      Except when the autocompleate function jumps out of the window and suggests similar named but different functions. I had intelisense die on me regularly on large projects, I turned it off. It "helps" weak programmers in that they can create valid but poor code and never really learn the ins and outs of an API. Reading documentation is actually a better idea than hitting CTRL+SPACE. From that point on the benefit of autocompleate is negligible.

    13. Re:No... by meustrus · · Score: 1

      Except when the autocompleate function jumps out of the window and suggests similar named but different functions.

      Using the wrong function is not a syntax error.

      However, I never intended to defend IDEs. I personally hate them. But at least they don't tell you that your good grammar is wrong and tell you to replace it with something actually is wrong.

      But hey, at least Word won't complain about your grammar until you've finished your sentence. Unlike an IDE that thinks you're never going to close that parenthesis you just opened.

      --
      I sometimes ask revealing, often ignorant-seeming questions. Maybe they're harder to answer than you think.
  5. Does using a saw make you a bad carpenter? by Anonymous Coward · · Score: 2, Insightful

    See subject.

    1. Re:Does using a saw make you a bad carpenter? by hey! · · Score: 5, Insightful

      If you're a bad carpenter, I suppose a powerful saw could make you a worse one. At least it allows you to make a bigger mess.

      I've been a programmer for over thirty years now. When I started out, programming was about figuring out how to do things. Now it's much more about figuring out how to get someone else's code to do something. This shift was probably inevitable, as we try to get systems to do more and more. Very few of us have the luxury of being able to get away with just reading section 2 and 3 of the Unix manual; now we need to work with frameworks.

      It's not like back in the day when you could code your own alternative to qsort as long as it worked; working with a framework's facilities is mandatory if you want the framework to do all the magical under-the-cover things it is supposed to do. We used to read the Unix manuals cover to cover from section 1 (commands) to section 7 (special files). Compilation and linking takes forever on a CPU running in the single digit MHz range, so we had plenty of time on our hands. That small but complete knowledge set, plus emacs, and we were cooking with gas.

      These days you'd need to have loads more *static* knowledge to really know the APIs you're working with.So having things like pop-up parameter entry and a manual for the framework integrated into the IDE is nice.

      But for me, the thing that finally got me away from emacsfor good was refactoring support in IDEs. And that's where the power saw analogy comes in. Refactoring is powerful, but it's also possible to drop down the refactoring rabbit hole and waste a lot of time frobbing around with the code. Refactoring is part of a suite of best practices that have to be implemented together (including source control, unit testing and project management). A clumsy and careless programmer can do a lot more damage with a powerful IDE, a skilled programmer can get more done.

      It takes a lot more discipline, knowledge (of the know-how variety), and professionalism to be a good programmer these days. Back in the day there were very good programmers, and *terrible* programmers, and not much in between. These days there are more programming jobs than there are people gifted at programming, so what you see is a lot of mediocrity. Consequently all those powerful tools are neither a panacea nor a plague. Mediocre programmers will produce mediocre results no matter what they use.

      --
      Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
    2. Re:Does using a saw make you a bad carpenter? by TopherC · · Score: 1

      I agree with most of this, but I still use emacs a lot.

      Sometimes an IDE can become an impediment if it keeps you from looking at hard-to-find code, makes you in any way lazy about debugging, or helps you read through code too quickly (making happy assumptions). I'm currently working on an Android system and regularly have to jump between application code, Android internal services and components, various JNI or hardware abstraction layers, and kernel code. Sometimes I need to read through standard C library implementations too. So while I like doing some things in eclipse, most of the time eclipse is not configured to let me dig deeply enough or follow calls all the way through the framework. Similarly the interactive debugging utilities are often limited and I resort to reading code and adding print/logging statements. It feels old-fashioned sometimes but on the other hand I have no excuses or reluctance to work hard enough to get a deep understanding of the whole system.

      So I'd judge an IDE by its ability to help you quickly navigate around a large and maybe unfamiliar code base. A good programmer's #1 job is probably reading code carefully and accurately. Features like auto-completion and live error checking are much less important. Also keep a tab on the amount of time it takes to keep your IDE configured correctly and able to compile independently from a more automated build system. Don't let it become a timesink, crutch or an excuse!

    3. Re:Does using a saw make you a bad carpenter? by rts008 · · Score: 1

      If you're a bad carpenter, I suppose a powerful saw could make you a worse one. At least it allows you to make a bigger mess.

      Aha!!!
      That explains why the concept of Chainsaw Surgery never really took off like it should have! ;-)

      BTW, I thought you deserved the '+5, insightful' mods for a well stated, rational, and intelligent reply to what I see as one of the more ridiculous questions to show up here lately.

      How a well a craftsman uses his tools is a bigger factor than which tools they use.

      Using the 'best' tools in the world does not turn an incompetent or mediocre craftsman into a 'world class' craftsman, but a 'world class' craftsman can still turn out quality work with less than 'best' tools.

      I know next to nothing about programming, but I can't Imagine it would be much different (in context of this discussion) than any other skill-based vocation.

      I guess my 'blue collar' background made an impression on me; I derive pleasure seeing a 'master craftsman' at work on a project they enjoy doing.

      --
      Down With Slashdot BETA!!! I've been around the corner and seen the oliphant; you can only abuse me from your perspecti
    4. Re:Does using a saw make you a bad carpenter? by Nemyst · · Score: 1

      I think I agree with this the most. The gist of it is just this: a programmer is what he knows, not what he uses. I wouldn't want to use emacs or vim even in my nightmares, but if you prefer coding with that and are proficient at it? Awesome. What I want is good programmers, not good IDE (or command-line) users.

    5. Re:Does using a saw make you a bad carpenter? by phantomfive · · Score: 2

      If you're a bad carpenter, I suppose a powerful saw could make you a worse one. At least it allows you to make a bigger mess.

      This is exactly right. When Autocomplete first came out, I thought, "wow, this is cool, it makes it easier to find functions in the code." Then it dawned on me that someday people would write code that is impossible to understand without Autocomplete.

      And that day is now. If your code is not understandable without Autocomplete, or using an IDE, then you are a mediocre programmer. You don't know how to organize your code cleanly, so work on that and improve.

      --
      "First they came for the slanderers and i said nothing."
    6. Re:Does using a saw make you a bad carpenter? by hermitdev · · Score: 1

      Using the 'best' tools in the world does not turn an incompetent or mediocre craftsman into a 'world class' craftsman, but a 'world class' craftsman can still turn out quality work with less than 'best' tools.

      You may not need the "best" tools, but you do need the right tools. "When the only tool you have is a hammer, everything looks like a nail." Seriously, at my last job, we were working overtime on a project (20 hour days, 5 days a week) and it was around 3am one night. A DBA colleague was requested to rotate some data such that data that was in a single column because a single row, multiple columns. Not hard, right? Well, his only tool was the database, and was struggling for two hours to get it done using the database. We were sharing a cab ride home. I wanted to actually get more than an hour of sleep. I had him send me the data. In 15 seconds using Python, I was able to complete what he had spent 2 hours trying to do in a database. Seriously, the S.O.B. that made the original request would have been done before he even finished typing up the request. It was a one-off request, and there was only like 20 or 30 values.

    7. Re:Does using a saw make you a bad carpenter? by T.E.D. · · Score: 1

      But for me, the thing that finally got me away from emacsfor good was refactoring support in IDEs.

      Exactly what refactoring support? I'm not being confrontational; I seriously want to know. Its a large part of what I do as well.

    8. Re:Does using a saw make you a bad carpenter? by slapout · · Score: 1

      A clumsy and careless programmer can do a lot more damage with a powerful IDE, a skilled programmer can get more done.

      I think that sentence sums this whole discussion pretty well.

      --
      Coder's Stone: The programming language quick ref for iPad
  6. does relying on a hammer make you a bad carpenter? by Anonymous Coward · · Score: 2, Insightful

    Its a tool. Used appropriately you're fine.

  7. IDEs are good. UI builders are bad. by Calavar · · Score: 5, Insightful

    Who ever said using an IDE is bad? IDEs are powerful tools that improve developer productivity. The problem with the older generation of IDEs (especially older versions of Visual Studio) was that they focused too much on graphical UI builders that produced brittle, often subtly buggy UIs and unreadable code and encouraged the writing of spaghetti code. Remove the useless UI builders, and you are left with syntax highlighting, code completion, code folding, incremental compilation, and lots of other useful tools that increase productivity.

    1. Re:IDEs are good. UI builders are bad. by Daetrin · · Score: 3, Insightful

      I'm an okay programmer (I'd estimate that i'm maybe in the 25-50th percentile, far from a star but still able to provide some value) but my memory for names is horrible. I'll often remember there's a function that does X but not remember the name. With code completion i can narrow in on the right function pretty quickly. Without it i'd have to either go check old code to see what function it was i used in the past or do some searches online to rediscover it, either of which would take much longer.

      --
      This Space Intentionally Left Blank
    2. Re:IDEs are good. UI builders are bad. by kthreadd · · Score: 1

      I would say that's true in particular for UI builders that produce code. I find UI builders that produce non-code tend to be better. Glade for GTK+ produces XML for example, just as if you had written it yourself. You can edit it if you want to, or write the XML from scratch and open it up in Glade if you want to fix something visually.

      Xcode/Gnustep has an interesting approach which is worth mentioning. The UI builder does not work like a traditional UI builder, instead you work directly with the actual objects. Back in the days the way you saved was litterally as an binary object serialization.

    3. Re:IDEs are good. UI builders are bad. by Qzukk · · Score: 1

      focused too much on graphical UI builders that produced brittle, often subtly buggy UIs

      That's funny, back in the day UI libraries were brittle, often subtly buggy. See also: every dialog box form ever, when you try to use it on a Netbook with a 600 pixel high screen and the UI fails to implement some form of scrolling.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    4. Re:IDEs are good. UI builders are bad. by MrEricSir · · Score: 1

      Glade for GTK+ produces XML for example, just as if you had written it yourself. You can edit it if you want to, or write the XML from scratch and open it up in Glade if you want to fix something visually.

      Have you ever had a job where you had to maintain a GTK-based app developed with Glade for more than a couple years?

      I'm guessing not. Severe bugs, missing features, crashes -- those aren't the worst parts of Glade. No, the nastiest part is that Glade versions are strongly tied to GTK versions. Want to use Glade version x.y with GTK version n.m? You're fucked.

      --
      There's no -1 for "I don't get it."
    5. Re:IDEs are good. UI builders are bad. by Reapy · · Score: 2

      That was the biggest thing I got out of switching to an IDE. I don't know why but I started writing java in ultraedit (have moved on to sublime text, good stuff) for a long while, but I finally got to the point where I had to refactor a mid sized program and finally got everything going in eclipse.

      I guess I've always been a bit scared of older IDEs and what they might change or move around if I don't know what all the buttons are, but I guess now a days they are great. The refactoring is huge, it feels much safer to rename something knowing the IDE also understands its scope rather than a find and replace and my brain. I used to have to judge how long it has been since I'd worked on some code, or how big it is, against whether it was worth the 'risk' of renaming a variable or function. Usually unless I had just written it that week, I let it go, but since moving to an IDE i'm able to keep past things consistent with new things much more quickly.

      Auto complete is pure awesome, I'm not sure how I lived without it. I used to copy things I had to frequently reference right in to where I was typing just to speed up typing them, much nicer now to get a drop down list that will fill it out as you type.

      But yeah as everyone has been saying, they are powerful tools, and while you should understand what is going on under the hood as much as possible, it is important to know how to be as productive as possible too.

    6. Re:IDEs are good. UI builders are bad. by tlhIngan · · Score: 1

      Who ever said using an IDE is bad? IDEs are powerful tools that improve developer productivity. The problem with the older generation of IDEs (especially older versions of Visual Studio) was that they focused too much on graphical UI builders that produced brittle, often subtly buggy UIs and unreadable code and encouraged the writing of spaghetti code. Remove the useless UI builders, and you are left with syntax highlighting, code completion, code folding, incremental compilation, and lots of other useful tools that increase productivity.

      You missed the most important aspect of an IDE - debugging!

      I dare someone to say that using gdb, xgdb, or even ddd is far better for debugging than doing it within eclipse or visual studio.

      Yes, they work, but life is just that much easier using an IDE where it kindly shows you the stack, locals, globals, code windows, etc., all in one view, rather than having to take a peek and scroll up and down in a single text box.

      Plus memory and variable displays that show you what changed, traces, and rapid switching between assembly and source and intermixing the two.

    7. Re:IDEs are good. UI builders are bad. by tttonyyy · · Score: 2

      IDEs with any form of wizard for "creating stuff" potentially take away the underlying understanding that a programmer might use to come up with something better.

      But, for code navigation, a good IDE is totally indispensable, particularly with large codebases of someone else's code. What could be more useful than hovering your mouse pointer over a structure variable and having a little window show you how it was declared and what members it has? Or telling you all the places the current function is called from?

      A good IDE shouldn't get in the way of coding, but nor should it take over the coding for you.

      --
      biopowered.co.uk - catalytically cracking triglycerides for home automotive use since 2008. Just say no to big oil!
    8. Re:IDEs are good. UI builders are bad. by skids · · Score: 1

      What could be more useful than hovering your mouse pointer over a structure variable and having a little window show you how it was declared and what members it has

      Not having distracting windows pop up on me or letters fly out from the right of my cursor or unexplained pauses while I'm trying to type because the bloat is using all my cache bandwidh, and working in a language that does full instrospection including inline documentation. But I'll have to wait for the latter.

    9. Re:IDEs are good. UI builders are bad. by Nemyst · · Score: 1

      Yes and no. There's a reason why a lot of utility programs in C# have pretty good UIs and the same sort of thing in Java is utterly horrifying (well, apart from Swing being in itself utterly horrifying), and that's how UIs are a LOT easier to create in WinForms than manually writing them. I think the new XML-based (oh, sorry, XAML) UIs are a lot better than both WinForms and Swing though, and they're also a lot more friendly to WYSIWYG UI builders.

      Just keep in mind that the F/OSS community's biggest problem has and always will be UI and that the vast majority of those are created without the use of IDEs.

    10. Re:IDEs are good. UI builders are bad. by malvcr · · Score: 1

      I don't think that the UI builders that create code, as a concept are bad.

      The problem is not there, the problem is in the framework they are based to create the code.

      In fact, if the framework is well ordered, efficient and trustworthy, they do almost nothing, very similar to create XML to run the user interface, but letting you to fill some gaps with more creative methods (when they won't destroy your own modifications when re-creating the source files).

      On the other side, sometimes the UI builders really don't help you. Once I created a very complex and flexible database library directly using the VCL Delphi's framework without the usage of the UI Builder. The framework was wonderful, but the UI Builder just did't let you to go beyond some basic limit. And as I understand they never improved this, just made the particular libraries obsolete instead of trying to improve how they used them.

    11. Re:IDEs are good. UI builders are bad. by Darinbob · · Score: 1

      However what you're describing are just code editors.

      An IDE is supposed to be more, as in Integrated Development Environment. Ties your debugger together with your source code (ok, emacs can do that too), class browser is right there if you use classes (ok, emacs can do that too), documentation lookup is right there (ok, type "man" in emacs), and so forth. But for that level all the IDEs are mostly are all alike. This is not the thing that IDE fans are talking about.

      The IDE fans generally talk about the very seldomly used features, and features that are relatively new in the last decade. Refactoring tools, static analysis tools, or deeper understanding of a language's semantics than a simple textual analysis would bring (especially for the some obtuse language features that are difficult to deal with, like C++ templates).

      The problem there I think is that many of those tools don't really have to be a part of an IDE per se. They could exist as external tools, usable either from command line or as an IDE plugin.

    12. Re:IDEs are good. UI builders are bad. by david_thornley · · Score: 1

      What could be more useful? How about an editor that doesn't pop up little windows right where I'm trying to type?

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    13. Re:IDEs are good. UI builders are bad. by Qzukk · · Score: 1

      With windows, no problem :D

      You must be using a different windows than I am. I can't move windows off the top of the screen to get to the bottom of them (they snap back), and dialog boxes are not resizable.

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
  8. Walk before you can run code by DiamondGeezer · · Score: 4, Funny

    I remember the days when all real programmers needed was a magnetized pin and a steady hand *puffs pipe*

    --
    Tubby or not tubby. Fat is the question
    1. Re:Walk before you can run code by JoeMerchant · · Score: 1

      No, no, no! This is Slashdot, we need a car analogy:

      Does relying on pre-made rubber tires make you a bad driver?

    2. Re:Walk before you can run code by bobbied · · Score: 1

      No, no, no! This is Slashdot, we need a car analogy:

      Does relying on pre-made rubber tires make you a bad driver?

      No, but it does make you a BAD mechanic.. You mean you don't make your OWN tires, mount them with a crow bar, balance them by spinning them on your finger using lead you smelted yourself? Shesh!

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    3. Re:Walk before you can run code by roman_mir · · Score: 1

      You had hands? Pffft! In our times we had to think our way into existence first, and even existence wasn't a given! Once we thought ourselves into an existence, (which we also thought up), then we had to invent hands. Most of us ended up with pinecones where hands would otherwise be though, so magnetising pins (that we had to grow ourselves) was a real bitch.

    4. Re:Walk before you can run code by pitchpipe · · Score: 1

      Yeah? Well in my day all you needed was a hole punch and some good card stock. Now get off my lawn you whipper-snapper!

      --
      Look where all this talking got us, baby.
    5. Re:Walk before you can run code by stox · · Score: 1

      Ha! We used patch panels and patch cords to write our code. I don't know about those high falutin punch cards, probably a fad.

      --
      "To those who are overly cautious, everything is impossible. "
    6. Re:Walk before you can run code by BlackHawk-666 · · Score: 1

      Toggle switches, bitches! Anything else is modern and not to be trusted. Ever see a computer programmed with toggle switches become self aware and take over the world...no, and you never will!

      --
      All those moments will be lost in time, like tears in rain.
    7. Re:Walk before you can run code by HornWumpus · · Score: 1

      3d print your tires and creative commons your tread pattern.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    8. Re:Walk before you can run code by pitchpipe · · Score: 1

      Once we thought ourselves into an existence, (which we also thought up), then we had to invent hands.

      And that my friends, is how you become a Job Creator.

      --
      Look where all this talking got us, baby.
    9. Re:Walk before you can run code by LynnwoodRooster · · Score: 1

      A REAL car mechanic would make a tire that is inherently balanced; no lead needed. I guess if you're second rate you can use the patch of weights...

      --
      Browsing at +1 - no ACs, I ignore their posts. So refreshing!
    10. Re:Walk before you can run code by tttonyyy · · Score: 1

      No, no, no! This is Slashdot, we need a car analogy:

      Does relying on pre-made rubber tires make you a bad driver?

      That's a terrible analogy.

      A better one would be saying something like "Don't use ECU diagnostic interfaces to find out what's wrong with your engine - that's cheating - a real mechanic would just take it apart to see what's wrong!"

      In a similar way to the ECU telling you what is up, you still need an underlying knowledge of engine mechanics in order to use the information it provides effectively. Sometimes it will be misleading. The same goes with IDEs and coding. Sure you can write everything in vi/emacs if that takes your fancy, but you won't be as efficient as if you use a decent IDE, but that's not to say you should trust the IDE entirely.

      --
      biopowered.co.uk - catalytically cracking triglycerides for home automotive use since 2008. Just say no to big oil!
    11. Re:Walk before you can run code by idontgno · · Score: 1

      Luxury.

      We used levers. Levers to cam geartrains in and out of drive. Levers to throttle the steam engine up. Levers to move coal into the burner. (A shovel is a lever.)

      All your fancy electric computers. Feh.

      --
      Welcome to the Panopticon. Used to be a prison, now it's your home.
    12. Re:Walk before you can run code by JoeMerchant · · Score: 1

      I'm sorry, I thought you knew, Slashdot is the place to start with bad car analogies, as bait, so people will come along and try to post better car analogies...

      Yes, making your own tires would be a better analogy for not using a library like Boost or Qt.

      I think not using an IDE would be more like rebuilding a carburetor using a a pair of channel-lock pliers (can remove any bolt), a shim (can be used for a screwdriver and a knife), and a sheet of pasteboard to make your gaskets from. You don't need a fancy rebuild kit with specialized tools and instructions that show you how to do those common tasks - you should know how the thing works, you should be able to strip it, clean it, reassemble it and tune it without any extra support beyond the most basic tools.

         

  9. No. by dmomo · · Score: 1

    Is "relying" an overstatement? Yes.

  10. No by mikecase · · Score: 5, Insightful

    An using an IDE doesn't make a bad programmer any more than using a table saw makes a bad carpenter. It's just a tool, if it can help you be more productive, why shouldn't you use it?

  11. Programming is not about rote memorization by grasshoppa · · Score: 5, Insightful

    Look, it's nice when you are well versed enough in a language to not have to lookup method/function names, nor their arguments. But let's face it, it's hardly the mark of an amazing programmer to have a photographic memory.

    Programmers solve problems. Being able to understand the problem well enough to develop a solution for it is far more important a skill. Writing well documented code using a uniform style further boosts the quality of the output by helping make it maintainable.

    An IDE is, at worst, neutral in this regard, if not beneficial for assisting in the last point.

    --
    Mod me down with all of your hatred and your journey towards the dark side will be complete!
    1. Re:Programming is not about rote memorization by HornWumpus · · Score: 3, Insightful

      Just because your degree was memorized, doesn't make memorization an objective good.

      If I can be as productive (or more) then a memorizer by using autocomplete (and knowing more or less what the necessary function calls are if not the operand order) then I've just saved the time used in memorization. Also the autocomplete guy will be productive while the memorizer is still hammering soon to be obsolete information into his brain.

      Henry Ford Sr used to ask prospective engineering hires trivial technical information. If they knew the answer he wouldn't hire them, if they told him where to look it up he did.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    2. Re:Programming is not about rote memorization by PRMan · · Score: 1

      1. Um, OK. So then why in high school could I turn the pages of the book in my head and read all the chapter headings? And now, if my memory triggers, I can recite verbatim strings that the rest of the family thinks they read differently (they're always wrong in this situation and I'm always right). I always wrote my notes in very large print so I could read them during the test. Everybody thought I was weird.

      I have horrible situational memory (everyone else is right and I am always incorrect), but my photographic memory is very good, noticeably and provably better than everyone around me. Now, my older daughter is just starting to figure out how it works and she is starting to take notes in very large print.

      --
      Peter predicted that you would "deliberately forget" creation 2000 years ago...
    3. Re:Programming is not about rote memorization by danlip · · Score: 1

      I know the API in the sense that I know such-and-such class/method exists and can usually make a good enough guess about the name to get the rest via autocomplete. Knowing that something exists is important (also important is having an intuition of "surely this must exist"). Knowing the exact name is silly, as is knowing the exact order and meaning of all the parameters - if I had to memorize all that shit it would definitely be the most taxing thing about programming. IDEs rock.

    4. Re:Programming is not about rote memorization by Amtrak · · Score: 1

      Wow, are you programming on an original Pentium or something? I mean seriously just because you can get Visual Studio to run on your 250 Character WISE terminal doesn't mean you should....

    5. Re:Programming is not about rote memorization by danlip · · Score: 1

      Try using an IDE that doesn't suck (Eclipse sucks in many ways but I rarely have to wait any noticeable time for autocomplete. I haven't used IntelliJ but have heard it is better than Eclipse, no one who switches ever seems to want to go back).

    6. Re:Programming is not about rote memorization by TeknoHog · · Score: 1

      To elaborate, having a good memory is a great skill. A powerful brain without cache/RAM is pretty useless. Of course you also need I/O.

      --
      Escher was the first MC and Giger invented the HR department.
    7. Re:Programming is not about rote memorization by HornWumpus · · Score: 1

      History fail. Not while Henry Ford Sr was alive.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    8. Re:Programming is not about rote memorization by HornWumpus · · Score: 1

      That's a silly definition of 'trivial information'. There is a ton of trivial information, most of it time sensitive and soon to be incorrect.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    9. Re:Programming is not about rote memorization by alostpacket · · Score: 1

      Not sure if trolling but that's not really what trivial means in this context.

      adjective: trivial
      1. of little value or importance.
      synonyms: unimportant, banal, trite, commonplace, insignificant, inconsequential,

      Think "the average airspeed of an unladen swallow". "The atomic weight of cobalt"

      --
      PocketPermissions Android Permission Guide
    10. Re:Programming is not about rote memorization by Malc · · Score: 1

      I don't suppose these anti-IDE people have deleted all the man pages from their system or removed their web browser to discourage looking things up online. AFAIC autocomplete is just a more efficient way to look things up, or just an advanced form of tab-completion and saves a bunch of typing.

      Pissing competitions are for people who are over-compensating for other issues. This whole discussion is ridiculous. Use the tools you like, but don't be an inconvenience to your colleagues because you run in to or cause problems through your own pig-headedness and decision to work in a different way to everybody else.

    11. Re:Programming is not about rote memorization by Nemyst · · Score: 1

      Good for you. I think one of the greatest skills a programmer has is the ability to quickly adapt. Your extensive knowledge of an API is entirely useless if you need, for whatever reason, to switch to another language for a project. All that counts is your fundamental understanding of programming and high-level concepts.

      It's how good programmers are just as good in C++ as they are in Python, Javascript or even Prolog, even if they've never touched one or many of those.

    12. Re:Programming is not about rote memorization by Wrath0fb0b · · Score: 1

      Look, it's nice when you are well versed enough in a language to not have to lookup method/function names, nor their arguments. But let's face it, it's hardly the mark of an amazing programmer to have a photographic memory.

      On the other hand, a guy that says "oh yeah, I should use one of those STL things that let's you look up values by keys" and has to go fishing for std::map doesn't inspire one with confidence. Repeated exposure to (and use) of a language (and/or framework API) naturally causes considerable memorization to happen even without trying to memorize everything. It's an indicia of experience.

      Of course, experience isn't skill and so forth. But having a decent working recall of how to get around seems to me a necessary but not sufficient condition of being an "amazing programmer".

      [ Full disclosure: I do, in fact, use an IDE for most C/C++ development. ]

    13. Re: Programming is not about rote memorization by cyber-vandal · · Score: 1

      20 minutes? What version of VS are you using on what hardware?

    14. Re:Programming is not about rote memorization by grasshoppa · · Score: 1

      Don't misunderstand me; I'm not saying that rote memorization is worthless. As you rightly pointed out, repeated exposure leads to memorization. A good programmer has strengths in many different areas.

      My overall point being that an IDE won't lead to degraded quality of programmer. You aren't atrophying skills by using an IDE, you are simply making your life easier ( which is critical when we're talking about more than personal projects ).

      --
      Mod me down with all of your hatred and your journey towards the dark side will be complete!
    15. Re:Programming is not about rote memorization by HornWumpus · · Score: 1

      Incidental memorization through use isn't bad.

      But the kind of programmer that sits down and starts memorizing is useless. Before he is done memorizing the object model there will be a new version. I'll be at market with my product while the memorizer is still hammering some feature he will never actually use into his brain.

      Just for example: I've lost count of the number of OBDC libraries I've used to connect to a database. They all work the same but differently. There is absolutely no reason to memorize the 'new way' every time. You learn each ones gotchas.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  12. "Would you be better off programming with Notepad? by Gaygirlie · · Score: 1

    Eh, I don't think so. IDEs are great and all that and what tools you use doesn't matter in the end; what matters is that your code does what it's supposed to do reasonably-efficiently and without any "misfeatures." These tools usually also allow you to reach your goal faster than if you were to do everything manually, and in many cases time is money -- hobbyist coding being a separate issue. The language, the tools and so on really matter only in cases where you're developing for very limited systems, like e.g. embedded systems.

    That said, I never found an IDE I felt at home with and I've always just typed everything away manually in Nano in a Linux-console...

  13. Anecdote by dsginter · · Score: 5, Insightful

    When I was in college, I started immediately with an IDE - largely with no development experience. This was a struggle because the IDE was doing things that I did not understand. Ultimately, one of the elder geeks (a properly bearded and pony-tailed Yoda) suggested that I start at the beginning and develop with a text editor and the command line. This worked. Once everything was properly understood, the IDE is useful for saving time and catching typos. But I still need to "go back to the beginning" in order to find out what I am missing sometimes.

    --
    More
    1. Re:Anecdote by CastrTroy · · Score: 1

      I had the exact opposite experience. For my first programming course in university, we were told to program everything in notepad, and compile using the command line (using Java btw). Now that I know how to properly use an IDE, I realize how much time I wasted trying to debug things with many calls to system.out.println. While the IDE can be a little overwhelming at first, programming without a proper step-through debugger is painful.

      --

      Anthropic principle: We see the universe the way it is because if it were different we would not be here to see it.
    2. Re:Anecdote by Anonymous Coward · · Score: 1

      (using Java btw).

      (facepalm)

      Java, more than any other language, seems to require an IDE, and is built around the idea that you will use one. I can do Fortran, Lisp, C, C++, Ada, Python, Chapel, uh, Pascal? -- just about anything! -- all through Emacs, compiling on the command line, in my sleep, no problem. I don't want an IDE, unless you count Emacs as one. "Hello, world", in Java? Give me an IDE, please!

    3. Re:Anecdote by vux984 · · Score: 4, Insightful

      I realize how much time I wasted trying to debug things with many calls to system.out.println

      The point of your university course was not to maximize your output productivity, but to teach you how to program.

      For example --
      For my first calculus course in university I had to manually evaluate derivatives and integrals. Now that I know how to use Maple, and matlab, and R I realize how much time I wasted.

      Right?

      Well, sure, but the goal of the calculus course was to teach me the math, with no eye whatsoever toward generating the answers as quickly as possible.

      Writing code manually in a text file, compiling it to object, linking it to an executable, and debugging it with println teaches you how things work under the hood. Picking up an IDE later on lets you leverage all the power that tool gives you, but still, in the back of your head, you know what's going on. That's valuable.

      While the IDE can be a little overwhelming at first, programming without a proper step-through debugger is painful.

      Ironically, a debugger "originally" is a separate thing, you can attach it to a running process, load a symbol table, set breakpoints etc. Its great that they are part of IDEs, but this invaluable skill of working with a debugger separately is frequently overlooked.

    4. Re:Anecdote by Anonymous Coward · · Score: 1

      Strangely enough, I can use the debugger associated with my IDE of choice to debug a separately running process.

      Of course, your analogy is no better. Using Maple, matlab, etc. makes you *faster* at calculus by doing the calculus for you.
      An IDE helps you develop faster by providing the information you need to develop all in one place, at your fingertips. Either way, you're still writing the code in an editor. The IDE just connects your tools to streamline the manual processes involved in writing code (looking up API documentation to figure out which methods you need to call to interface with the library you're using to do the job you want to do), compiling, linking, executing, and debugging your resulting software.

      I, too, cut my teeth in the separate-editor-compiler-and-debugger era. An IDE which doesn't require you to jump into a different paradigm to debug your code, and which provides language/API hints so that you don't have to manually dig through a printed document, speed up development by keeping you *in* the development mindset.

    5. Re:Anecdote by Reapy · · Score: 1

      I find prints still useful. If you need to check something in a loop, it is nice to get an instantaneous printing of it all in sequence, it is very easy to see it go sour, and all the sequence of it getting there is sitting on the screen to reference again later rather than having stepped past it and missed it, though I guess you can step back... just easier to print it out sometimes, but maybe that is just old habits die hard on my part.

      If it is someone else's tools, I usually go to the IDE debugger since I'm probably not going to know exactly what I have to look at.

      As for learning tools, I had the same sort of experience, except they started us with VI in a unix terminal. That was probably a little too hard core of a switch for me, I had to spend a lot of time trying to figure out how to type things in as well as learning what was going on in code. Once I figured out how to use a rich text editor to 'ftp save' up to our computer lab and compile there, life got way, way easier for me.

    6. Re:Anecdote by HornWumpus · · Score: 1

      Emacs is an operating system, not an IDE.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    7. Re:Anecdote by vux984 · · Score: 1

      Strangely enough, I can use the debugger associated with my IDE of choice to debug a separately running process.

      Mine too. The point remains that comparatively few people actually know how to do this or are comfortable with it, loading symbol tables, etc. If they didn't start the program from within the IDE they're boned.

      Of course, your analogy is no better. Using Maple, matlab, etc. makes you *faster* at calculus by doing the calculus for you.

      Nobody in the real world ever does calculus for the sake of the math itself, its always in the context of solving a problem.

      Whether you are using Maple or a notepad the hard part has always been solving the problem, not doing the arithmetic.

      An IDE which doesn't require you to jump into a different paradigm to debug your code, and which provides language/API hints so that you don't have to manually dig through a printed document, speed up development by keeping you *in* the development mindset.

      Just as using Maple/matlab/R etc lets you stay in the fluid modelling mindset or whatever it is you are really working on; rather than getting bogged down remember whether the integral of -sin(x) is cos(x) or -cos(x)...

    8. Re:Anecdote by Anonymous Coward · · Score: 1

      Yep this,

      I went through my uni (CS degree) hating it. I came out thinking I had the most useless skillset imaginable All this theory about sorting algorithms and crap, I knew some Haskell, I knew some Java (not a lot - it was Java3D that they were teaching us), I knew some C. I knew next to no c++, c# or anything I could get a job I was looking at with.

      5 years after that I had a realisation, I was taught how to solve problems, the language doesn't matter, the syntax doesn't matter. I can learn that in a week of effort. But the way I think about problems, is what I was taught.

      With functional programming they taught us logic, and it taught me about the Stack and its limitations (trying to implement Haskell style programming in C very quickly taught me that the naive approach was a bad idea, there were *things* going on that I had to learn about and take into consideration).

      Finally I read both full articles (an AC no less!).

      The guy complaining about his IDE, had pretty much my exact programming upbringing - he started a year or 2 earlier I'd estimate. But it was similar. I started on .net 2.0 (retrofitting .net 1.1 into .net2.0 website). It was pretty horrible code I was putting out, but I think I got exactly the opposite experience from it.

      While this guy was stuck dragging and dropping claiming fear of html/css/javascript I was doing the exact opposite. I would see a problem with the drag-and-dropped controls, and I would drop into the code, drop into the autogenerated CSS, build up some javascript that would complement, or fix the flaws with the built in components.

      Is what I created good? *sometimes*
      Is what I created maintainable? I would say hell no.
      Am I an idiot for the way I went about things? Absolutely.
      Am I worse off for it? Not by the metrics this guy is using - I am not afraid of javascript css or html, I am not phased by PHP (having done no development work with it since 2004 I can still raw-debug a full custom CMS built by someone else with no documentation).

      But it just goes to show, that the mindset of the programmer can change everything that a programmer gets out of it. This guy saw his IDE and the built-in tools and stopped thinking, I saw the IDE and the built-in tools and started tinkering, expanding, building.

      It came in handy when a client needed the most horrible hack in the universe - I needed to bolt the standard .net control rendering into a completely custom templating system, and it needed to be done yesterday. I probably should have said: "Nope; throw out the old work", but they were coming to me for a solution that would take less time than that option. My experience bolting stuff onto and around asp.net let me do this fairly easily. Again, I am winning various darwin special mentions for the code (both intent and implementation I am sure), but it got the job done in the time limits specified.

    9. Re:Anecdote by Tom · · Score: 1

      I wish you that one of those days you'll write for a small embedded system with a single LED for output, just so you'll understand that it wasn't a waste of time.

      Every tool has its use. A true expert knows how to use them all, and picks the one best suited for the task at hand. The $99 does-it-all powertool from the late night shopping channel is the surefire indicator of an amateur.

      That is true for photography, any craft, and programming, too.

      --
      Assorted stuff I do sometimes: Lemuria.org
    10. Re:Anecdote by dwpro · · Score: 1

      I think in this debate, it's important to separate the meat from the minutia. Learning _how_ something works is valuable, scouring code for an unclosed parenthesis or a semicolon tedious and frustrating when a decent editor could help you track it down in seconds. Some happy medium of editor for learning seems more appropriate.

      --
      Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
  14. you must be kidding by ThatsDrDangerToYou · · Score: 2
    "Does using an IDE make you lazy with the language?"

    Yes.

    "Would you be better off programming with Notepad?"

    Um, hell no. If you have to ask... Studio and other IDE's make me more productive. That's their job. If I had to fish for declarations of variables every minute and remember all the intricacies of the language, I would, well, be living in the 70's. If I couldn't use an IDE I wouldn't have time to /. QED

    1. Re:you must be kidding by loonycyborg · · Score: 1, Interesting

      It's a myth that IDEs increase productivity. Maybe they can allow you to pump out code faster, but you want to write as few code as possible anyway. Most of time you should spend thinking on how to write as few code to accomplish your objective as possible, not actually writing code.

  15. Apple by GweeDo · · Score: 3, Funny

    If only Apple has been using an IDE that looked for unreachable code...

    1. Re:Apple by geekoid · · Score: 1

      Ha, nice.

      gotos are always bad.
      goto fail;
      goto fail;

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
    2. Re:Apple by nblender · · Score: 1

      That's right. If he/she had used "return fail; return fail;" the bug would not have been present....

      oh, wait ...

      -10 points for not really understanding the bug.

    3. Re:Apple by rev0lt · · Score: 1

      Depends on the language; The direct equivalent of goto in assembly is 'jmp'; if you add the plethora of if/switch conditions most languages support, you have a list of very specialized 'gotos' that will plague your compiled/interpreted code, regardless of the starting language ;)

    4. Re:Apple by HornWumpus · · Score: 1

      You will get my Fortran calculated gotos when you pull them from my cold dead fingers. (Fortran lets you GOTO variable, where variable contains a line number). Like a pointer only much worse.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    5. Re:Apple by HornWumpus · · Score: 1

      2014 and you felt the need to point out that machine code branches are basically gotos? Is this that thread yet again?

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    6. Re:Apple by rev0lt · · Score: 1

      Yeah, I should have also pointed out that having/spreading dogmas is also bad. So using the 'always' word is also bad. And in modern x86/amd64 assembly, they are not only gotos, but they can also be if's. I suggest people should waste their time understanding how the system works instead of repeating never-old dogmas like "goto's are always bad" - specially when spewed as an universal truth.
      Instead, you should ask: why, in 2014, where we have a diversity of programming languages never seen before, people still spread old dogmas? Some languages don't even have goto's; others depend on it directly.

    7. Re:Apple by lgw · · Score: 1

      There's a whole generation of coders now who "only know Java" and have never actually debugged through object code.

      There's nothing wrong with goto in C code - it's really the cleanest approach to making sure you clean up everything that you allocated. Seeing it in more modern languages is a real warning sign, however.

      --
      Socialism: a lie told by totalitarians and believed by fools.
  16. Fly By Wire by sycodon · · Score: 3, Insightful

    IDEs are to programming as anti-lock brakes and Traction Control is to driving, as fly-by-wire is to flying, as any assistive technology is to anything else.

    If they didn't exist, someone would write one because they are so useful.

    --
    When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    1. Re:Fly By Wire by superwiz · · Score: 1

      Nah, it's not "assistive." It's enabling. By allowing you to pay attention to what a machine cannot figure out, an IDE expands the complexity of the problems one can solve. A good IDE is like a car for a good runner. The problem is not the programmers who insist on writing all code in text. It's the people who teach them to do that. The world of programming has learned how to solve problems which were common 30 years ago. Unfortunately, most educators are stuck in the past (that's why they are stuck educating). And they try to create a certain aura of merit around not using known solutions to known problems, but reinventing the bicycle. Sure, a Swiss watch is the best of its kind. But is it the best solution for the problem of knowing the time?

      --
      Any guest worker system is indistinguishable from indentured servitude.
  17. IDEs lack good editing by Anonymous Coward · · Score: 1

    All the IDEs that I have used lack good text editing features. I end up having to reach for the mouse. Fail.

    So I always end up back in Vim.

    Real programmers don't need the handholding of GUI tools.

    1. Re:IDEs lack good editing by kthreadd · · Score: 1

      I would say that given how much functionality is in Emacs that's pretty much an IDE.

    2. Re: IDEs lack good editing by Noughmad · · Score: 1

      Did you ever try Kate or KDevelop with its vi input mode? I don't use vi myself, but am interested in how that works out.

      --
      PlusFive Slashdot reader for Android. Can post comments.
    3. Re:IDEs lack good editing by Schmorgluck · · Score: 1

      You should look up Eclim.

      --
      There's nothing like $HOME
    4. Re:IDEs lack good editing by Hognoxious · · Score: 1

      As an Emacs fan, how dare you sy that?

      It's several.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    5. Re:IDEs lack good editing by HornWumpus · · Score: 1

      Emacs is not an IDE. It's an OS and an accretion being collected for future archeologists.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  18. Yes by Imagix · · Score: 3, Insightful

    Offhand, yes, you are a less effective programmer if you rely on the IDE. I've seen many "programmers" that get completely lost if the IDE doesn't autocomplete everything for them. They have no sense as to how the program as a whole hangs together. (Note the specific phrasing of "rely on the IDE". Not the same as "uses an IDE". Not using the tool is silly. Requiring the tool is the problem.)

  19. Yes, if you rely on boilerplate code it generates. by Anonymous Coward · · Score: 4, Insightful

    Also, "Would you be better off programming with Notepad?" No. A decent text editor is a must. Many programmers who "don't use IDEs" actually use text editors which are actually more powerful than many IDEs.

  20. Tools are Good by Thyamine · · Score: 1

    All tools have pros and cons. In general, yes IDEs are good. Is it possible to rely too much on a tool, and not understand enough of the language? That's possible, sure. But that's not regarding IDEs specifically, that's just in general. I'm sure there are some old school CLI geeks out there that will thump their VI totems and say the only real devs use text editors, but that's just an extreme, of which there are many. Be a good dev, and use the tools that make you efficient. Don't use them as a crutch to shore up bad practices.

    --
    I will shred my adversaries. Pull their eyes out just enough to turn them towards their mewing, mutilated faces. Illyria
  21. What the hell, is it the 90s again? by glwtta · · Score: 5, Funny

    Up next: do you really need source control?

    --
    sic transit gloria mundi
    1. Re:What the hell, is it the 90s again? by sycodon · · Score: 1

      If you don't program in assembler, you're a pussy!

      --
      When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    2. Re:What the hell, is it the 90s again? by rev0lt · · Score: 1

      You'te a pussy. If you don't know 90% of the mnemonics by heart, you're not an assembly programmer :D

    3. Re:What the hell, is it the 90s again? by rev0lt · · Score: 1

      Its "assembly". And if you don't program in hexadecimal, you're using the pussy build infrastructure (mnemonics + compiler)

    4. Re:What the hell, is it the 90s again? by HornWumpus · · Score: 1

      If you don't copy con: myprogram.exe and enter the data and opcodes using alt-keypad, you're a pussy.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    5. Re:What the hell, is it the 90s again? by sycodon · · Score: 1

      Ya. I don't, but it seemed to just as ridiculous to say that as it is to say IDEs make for poor programmers.

      --
      When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    6. Re:What the hell, is it the 90s again? by Keybounce · · Score: 1

      Yes.

      If you ever make a mistake -- and we are human -- then yes you need source control.

      A better question: Do you need the ability to do lots of cheap branches and easy merging? I find it really makes things much, much easier, but changes the nature of "spagetti code" to the process of keeping track of all the branches.

  22. Maybe the question is a bit misleading by codepigeon · · Score: 2
    It seems to me he is asking if it makes you a bad programmer to rely on auto-complete, not just relying on an IDE in general:

    Mombrea argues that 'being a good developer isn't about memorizing the language specific calls

    As a recent C# convert, I can tell you that for me, it has become quite addicting.

  23. Depends more on the developer by Anonymous Coward · · Score: 1

    Relying on a sophisticated IDE can definitely contribute to keeping someone a mediocre developer, but it doesn't do it by itself. Likewise, it's easier for someone who is a bad developer to skate by with a sophisticated IDE, because it helps them figure out the answers to problems without them always really understanding the answers.

    That said, a great IDE can maximize the efficiency of a great developer, just like a fast car will make a fast driver even faster. If you choose not to treat Visual Studio like a crutch, and use the time that it saves you to continue learning more and better methodologies, you will become a better developer.

    For me, Visual Studio saves me a lot of time that I would waste on trivialities. I can use that time to focus on writing good code, learning new techniques like extension methods and yield, and putting more energy on good use of source control like check in comments and branching.

    Are there bad developers in my field? Absolutely. I think there are more than there would be in the Java world, because Visual Studio can make it easier to "fake it" for longer than you might with another language. This can be solved by a better recruitment process to weed out people who are just looking to hop onto a contract for 6 months before their employer realizes they are useless.

    If you are in school, it's worth punching out a few small applications in Emacs or Picos or Notepad or whatever the kids are using these days ... just to prove you can. But once you have a job, and you've proven yourself a few times, you should use the best tools available to you.

    If you are really worried about being a bad developer, spend an hour a day on Codewars.com.

  24. Re:does relying on a hammer make you a bad carpent by lbmouse · · Score: 1

    Just exactly how would one use it inappropriately? Inquiring minds must know.

  25. New IDEs by snookiex · · Score: 4, Insightful

    The problem I see with IDEs like VS is that the hide a lot of complexity to programmers, which is good to boost your productivity, but the fact that you don't really know what's going on inside can back-fire if you are starting as a programmer. I've always thought that it's a good thing to do low level tasks at the beginning so you can build yourself up and don't depend on a specific tool.

    --
    Open Source Network Inventory for the masses! Kuwaiba
    1. Re:New IDEs by X10 · · Score: 1

      but the fact that you don't really know what's going on inside can back-fire if you are starting as a programmer.

      I guess this depends on the IDE and programming language you use. I use Eclipse and Java, Android, and the IDE doesn't hide anything from me. It points out errors and it makes suggestions, but in the end it's me who types all the code. That's different from a visual IDE where you don't see the code. There's some areas where I have the choice of using a visual editor, but I never do, mainly because I want to be in control of the code.

      --
      no, I don't have a sig
    2. Re:New IDEs by Alternate+Interior · · Score: 2

      Exactly. Boosting your productivity is great. But hiding what "it" is doing is not. I started developing with QBasic and soon after Visual Basic, and it took years to understand how you'd develop without a GUI builder. The IDE hid too much complexity, set me up with bad assumptions, and it took a long time to learn what it was doing underneath. Knowing now, I'd have a much better grasp of how to organize code sooner, and I'd be a better developer for it.

      TL;DR = Use them for the productivity boost, not to avoid learning or thinking.

    3. Re:New IDEs by brantondaveperson · · Score: 1

      The problem I see with IDEs like VS is that the hide a lot of complexity to programmers.

      I develop C++ using Visual Studio. What complexity is my IDE hiding from me? What stuff is 'going on inside', that I don't know about? I can break execution, examine a list of threads, the register contents, single-step over the assembly...It seems to me that all the complexity is right there, if I want to see it.

    4. Re:New IDEs by lgw · · Score: 1

      I think he's talking about UI development with drag-and-drop UI builders, a scary thing to mix with C++ now that I remember the bad old days.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    5. Re:New IDEs by snookiex · · Score: 1

      Obviously I'm not talking about C++ development. .NET development tools in VS ease significantly programmer's life, but there are a lot of things underneath you don't see.

      --
      Open Source Network Inventory for the masses! Kuwaiba
    6. Re:New IDEs by brantondaveperson · · Score: 1

      Well, ok. But it sure looked like a general comment about IDEs.

      In any case, isn't it surely the language and framework that's hiding stuff from you here, not the IDE? I don't know, I don't do any .NET.

    7. Re:New IDEs by spongman · · Score: 1

      The ui builder in vs generates (and parses) code that you would have had to write anyway. It doesn't hide anything from you any more than photoshop hides the work of setting pixel values. Does having to calculate and type in coordinate values by hand make you a better programmer?

    8. Re:New IDEs by snookiex · · Score: 1

      Sorry, as a Linux user and developer I tend to associate C/C++ development to stuff like Emacs or Qt Creator (I know, it's pure fanboism). The thing is that .NET platform and Visual Studio are very tightly integrated. VS provides the developer with tools that no other IDE provides (and I doubt they will ever do) to the point that I think that there are things that you can't do if it's not using VS, or at least not in a reasonable time frame. And it's not a rant against Microsoft because I've seen it in Java too. I'm not saying that's good or bad, I'm just stating that in modern IDEs you get to lose the control over your code sometimes and you are right, the complexity of the frameworks is also a reason for that.

      --
      Open Source Network Inventory for the masses! Kuwaiba
    9. Re:New IDEs by lgw · · Score: 1

      It strongly leads you into one design pattern, which might not be a good one. For an expert who understands each approach on its merits, and is comfortable with the approach the UI builder uses for the task at had, it's not a problem. For the new programmer who hasn't really thought about it, it creates the illusion that there is only one way to do things.

      For example, UI builders didn't used to give a way to "flow" certain design elements, wrapping them if the screen was narrow. Sometimes you want that behavior - but how do you discover it's possible if you've never thought about the work the UI builder hides from you. Another example is UI elements dynamically generated in response to user action - which can be a great tool for some cases, but if your world is limited to the toolbox the UI builder comes with, you won't have that tool.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    10. Re:New IDEs by spongman · · Score: 1

      i'm not sure what you're talking about. for vs, at least, there's no illusion - you move controls around in the designer and the code changes. or, you change the code and the controls move on the designer. nothing is hidden. you want to write custom positioning code? go ahead. you want flow layout, there are controls that provide that (usable from code or within the designer).

      crap tools are crap, yes. not all tools are crap, though.

    11. Re:New IDEs by lgw · · Score: 1

      The illusion is that "what the tools can do" == "all that can be done",

      --
      Socialism: a lie told by totalitarians and believed by fools.
    12. Re:New IDEs by spongman · · Score: 1

      Only the most ignorant would be fooled like this. And for them, until they learn otherwise, the tools at least will make them productive. For everyone else, like I said, there's no illusion, only utility.

  26. They're just tools. by wcrowe · · Score: 4, Insightful

    I'm glad somebody tagged this "idioticstory" because it is. Developers use whatever tools are available. Sometimes if the tools aren't available, they write them themselves. I've used development tools of one kind or another over the last 30+ years, and there are a few I've written myself. Frankly, I think that if you don't use development tools, and don't ever think about writing your own, you're a little like the clueless user who just knows, "I click here, then I click here," without any understanding of what they're really doing or trying to accomplish.

    The use of complex tools is what separates us from the rest of the animal kingdom.

    --
    Proverbs 21:19
  27. Yes and No by inhuman_4 · · Score: 2

    There is nothing wrong with using and IDE, that doesn't make you a bad programmer. Relying on an IDE does make you a bad programmer. Lets face it, there is a lot of boiler plate boring crap involved in programming. Using an IDE to handle the mundane stuff makes a lot of sense. But if you can't do your job without it then you are probably not very good at your job.

    Using a calculator doesn't make you bad at math. Being unable to do math without a calculator makes you bad a math.

    1. Re:Yes and No by rev0lt · · Score: 1

      Relying on an IDE does make you a bad programmer

      Not really, no. Having eg. a system that allows a diff view of two separate revisions of a file you're working on, and in an environment that also manages your project and does static analysis of the code, and highlights obvious typing mistakes (unclosed brackets; missing comas; code conformity; cyclomatic complexity, etc) and performs syntax highlighting and autocomplete is a good step to stop wasting your time fixing obvious and stupid stuff, stop wasting the code reviewer's time telling you to follow protocol, and thus creating a leaner development environment. The hability to rename a function and fix it in all the files that use it, on that *specific* project, with a couple of clicks is something you do get used to, and sometimes is not that easy to do it via command line - eg. when you use docblocks to typehint indirect references to the function, that will get properly fixed automatically on an IDE.

    2. Re:Yes and No by superwiz · · Score: 1

      You are not there, yet, grasshopper. You think that IDE is an easier way of solving the same problems. What it really does is allow one to solve problems which are impossible to solve without them. A good IDE *is* the higher level language.

      --
      Any guest worker system is indistinguishable from indentured servitude.
  28. Yes if you don't know what's behind the curtain by ffkom · · Score: 1
    It does not harm to rely on some IDE to provide a syntax reference or such. But in real life, programmers "relying" on an IDE do so on a much broader base - they often do not even know what happenes behind the curtains of that IDE when they press some "make"-button.

    And that's the real issue: Programmers who do not know what "makefiles" are, how dependencies are being tracked, what "compilation units" or "object files" are, they are completely lost when the linker stops with some cryptic error messages telling about some "PIC incompatible symbol" or alike.

    Also, programmers relying on IDEs are prone to also rely on 3rd-party code without asking questions. When their application fails, they claim its not their fault, because the crash dump shows some library function on top.

    And lastly, programmers relying on IDEs often dislike to understand concepts before using foreign code - if they are asked to "support SSL" in their application, they press some key to search for function names containing "SSL" in their name, and if the function vaguely seems to fit, they call it. They don't start by reading the generic introduction documentation part of the library they are using.

    Yeah, call the above stereotypes, but I've just seen a lot of statistical correlation.

    1. Re:Yes if you don't know what's behind the curtain by rev0lt · · Score: 1

      And that's the real issue: Programmers who do not know what "makefiles" are, how dependencies are being tracked, what "compilation units" or "object files" are, they are completely lost when the linker stops with some cryptic error messages telling about some "PIC incompatible symbol" or alike.

      That has nothing to do with IDE usage by itself. Usually when you have an external dependency problem, a modern IDE will probably warn you of it - a specialized text editor won't. That's the difference between editing a bunch of files or having a proper project management infrastructure (I know, some editors do offer project management capabilities, but you get my point).
      And while (many years ago) I've actually built custom linkers and had good knowledge of the internals of the COFF format, I would probably stare dumb at messages a modern linker would produce.

  29. Re:does relying on a hammer make you a bad carpent by BootSpooge · · Score: 1

    Hammering in a screw? :-)

  30. Would you be better off programming with Notepad? by fozzy1015 · · Score: 1

    Not if you need to actually debug it.

  31. Would you be better off programming with Notepad? by RailGunner · · Score: 1

    No, but you might be better of programming with gVim...

  32. I thought we were done with this stupid idea. by Max+Threshold · · Score: 2

    Relying on an IDE makes you a more productive programmer. Programmers who think they're elite because they use some primitive text editor are simply wasting time. If that's your attitude, why are you writing code on a computer at all? Why not go back to punched cards? Or cuneiform on clay tablets?

  33. I use Edlin, you insensitive clod! by MobyDisk · · Score: 1

    Would you be better off programming with Notepad?

    If having the most limiting tool available makes you a good programmer, then I recommend using Edlin. Or perhaps punch cards?

    1. Re:I use Edlin, you insensitive clod! by rev0lt · · Score: 1

      I will whistle to my modem a tune that will trigger a buffer overflow that will execute a disk write of a new file with the contents of what I whistle next. And that file resides in CRT storage. If 1950 don't call first and ask for its mumbo-jumbo back.

    2. Re:I use Edlin, you insensitive clod! by lgw · · Score: 1

      for compilations made desk checking a vital step

      Hah! Who else knows what "desk checking" is? Ahh, the bad old days ...

      --
      Socialism: a lie told by totalitarians and believed by fools.
  34. As a novice... by quintessentialk · · Score: 1

    My scripting/programming is exclusively in Matlab and similar tools so I can't weigh in here EXCEPT as a novice programmer. I tried in past to play around with android (which is java) and separately to relearn what little C/C++ I learned in my college days. As a novice, learning a new IDE is a sizable wall to climb. These tools are not documented with beginners in mind, and I was spending most of my time just trying to get hello world programs to build and link correctly when I wanted to learn the language instead. The IDE was an impediment at my level -- but maybe I was just learning the wrong way. When I was taught C++, it was 'learn C first, learn objects second, learn STL never'. The new strategy seems to be encourage use of standard library containers right away. Similarly, if I were to learn proper IDE use from the beginning (and I include visual interface layout tools under that heading) my experience would be different. I _have_ used tools which look like IDEs when preparing LaTeX documents (LaTeX is a typesetting markup language used in technical publication). Autocompletion of commands and previously defined labels (variables) is invaluable. I'm an inaccurate typist with a bad memory. Even if I weren't, I suspect computers are better at remembering those kinds of details than I am.

  35. Does CAD make you a worse engineer? by geekoid · · Score: 4, Insightful

    The answer is: No.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  36. Not bad, just lazy. by Earl+The+Squirrel · · Score: 1

    As one poster wrote, using a spell checker when you write a novel doesn't make you a bad writer. That's true, but it doesn't make you a better speller.

    An IDE doesn't make you a bad programmer, but it doesn't make you any better at retaining the language specifics (any more than a spell checker helps you become a better speller... people don't use it to "improve a weak skill" they use it "instead of developing the weak skill"... )

    I've seen plenty of folks who can think, but couldn't do ANYTHING without an IDE. That's like a carpenter who uses an electric circular saw, but couldn't use a hand saw if the power was out....

  37. Nice try! by geekoid · · Score: 2

    This is just the emacs/vi argument dressed up.

    --
    The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  38. Notepad?! by jones_supa · · Score: 1

    Would you be better off programming with Notepad?

    Notepad is crusty and not better than anything. Notepad has a glitchy word wrap, it does not allow different color themes and it does not show line numbers, for starters.

    1. Re:Notepad?! by rev0lt · · Score: 1

      And reads/writes files using CR/LF line termination and does not detect encoding.

  39. Go ahead.... by ArcadeNut · · Score: 1

    You can throw out the IDE and use Notepad if you want, but I'll stick with my IDE and be done in a fraction of the time, with less bugs and better quality code (thanks to all the tools I use in the IDE). Less bugs because the IDE will help with cut down on cut & paste errors with code analysis. Higher quality of code because of things like auto formatting, code analysis, etc...

    As many have said before, it's about solving problems, not memorizing the 100 overloads for a specific call. I know what the problem is, I know what I want to do to solve it, why not let the IDE help me do it faster?

    --
    Visit the Arcade Restoration Workshop @ http://www.arcaderestoration.com
  40. Tales from another Stupid Web Monkey by Nethemas+the+Great · · Score: 1

    This guy is a web monkey that spent his day playing drag and drop games in a UI editor. From his perspective, yes, the IDE made him a bad programmer. The trouble is, what he's talking about really isn't an IDE in the complete or even normal sense. An IDE is a toolbox with many tools, a saw, a hammer, a screwdriver, perhaps even a CNC machine, but ultimately writing software isn't about sitting down and George Jetsoning the CNC machine all day. If that's what you've done with your software development career that's unfortunately, but don't blame toolbox, blame the carpenter.

    --
    Two of my imaginary friends reproduced once ... with negative results.
  41. Perhaps if DICE had used an IDE by gman003 · · Score: 4, Funny

    Perhaps if DICE had used an IDE, we could have avoided Slashdot Beta.

  42. Perhaps a better question would be... by jdkc4d · · Score: 2

    Perhaps a better question might be what is the best way to teach someone how to code? With or without an IDE? The first language I learned in college was C, and we wrote C inside of pico. It was a huge pain in the ass, but it made you have to know what you were doing. If I am writing C# these days, I love the auto-complete features in Visual Studio. I wonder though, if I had learned in an IDE first, would I be less likely to use a language that maybe doesn't have an IDE? When I build UI's in Visual Studio, I just use the drag and drop system. I dislike having to go and edit those generated files when I need something to be a particular way. Assuming everyone is as lazy as me, I would wager that someone that has only used an IDE is considerably less likely to try their hand at a new language if doesn't have an IDE.

  43. Notepad has the same problem as an IDE. by Kazoo+the+Clown · · Score: 1

    Notepad is essentially what we ARE programming with using an IDE like Visual Studio. The paradigm is the same, enter with a keyboard, edit with a mouse. But you know, the last time I looked I had ten fingers, not one. And as a touch typist, taking my hands off the "home" position, is darned inefficient. Now, I'm not trying to argue that "vi" is what we should be using, but I'm way faster editing with "vi" than with either Visual Studio OR Notepad. Why is it that the IDE's have advanced development functionality in every way but one? Are all you guys hunt-and-peckers (or all the developers at Apple and Microsoft)? Even worse, with regards to editing the IDE/Notepad paradigm took a big step backwards and stayed there while the rest of the process has pushed on to better things.

    1. Re:Notepad has the same problem as an IDE. by Shados · · Score: 3, Insightful

      IDEs are 80/20 solutions.

      Typing speed is squarely in the 20. Hunt and peckers? No, but I may as well be. On a 1 month project, there's probably, what, 8 hours of typing at most? Even if you could make me type so god damn fast that I would type the entire code -instantly-, that would only save 1 day of work. The biggest part is the thinking, discussion, architecture, the stuff you don't even need a computer to do.

      Then once you sit down, its about reading the code, analyzing it, re factoring it, debugging it. For all those things, typing is almost irrelevant. If your typing efficiency actually makes a dent in your productivity in the grand scheme of things, your job is probably outsourcable.

      Now, as I mentionned in another post, in some type/size of projects, IDEs like visual studios may actually slow to a crawl to the point that non-typing-related tasks may get bogged down by performance and inefficiency. Then yeah, its time to switch editor.

      But until then? If you can type 30 character per minute and are doing something significant, you're probably not slowed down much.

      Notable exception for prototyping and testing out snippets in unfamiliar environments (like when learning a new programming language). You're likely to type/run/type/run/type/run a LOT.

    2. Re:Notepad has the same problem as an IDE. by SpeedBump0619 · · Score: 1

      Then once you sit down, its about reading the code, analyzing it, re factoring it, debugging it. For all those things, typing is almost irrelevant. If your typing efficiency actually makes a dent in your productivity in the grand scheme of things, your job is probably outsourcable.

      This, right here, is the point. I can type in text in just about any editor ever created. But navigating through a pile of code I don't know, to find how it's structured, its call chains, what data belongs to which subsections? That's where a good IDE provides true value to me.

      I use SlickEdit because it has the most functional code navigation I've found. Ctrl-/ and a sub-windows shows me every reference to a symbol, in a tagged list showing each reference, by file, and information about where it was referenced (in what scope) and how (defined, declared, called, assigned, read, other). Click on one of them and I'm taken to that reference. Ctrl-. and I'm taken to the definition of the symbol my cursor's on; Ctrl-, and I'm back where I came from (to an arbitrary depth). I use this to navigate through unfamiliar code following through call chains and data structures. 20 years ago I used grep, a text editor and a whiteboard (foo.c:782, foo.h:94, foo.c:122, bar.h:15, qux.s:343), but never again.

  44. What Language? by EMG+at+MU · · Score: 1

    The answer to this question is going to be drastically diferent for web application development in ASP.net than it would be for firmware development in C++. These guys are speaking from the web application side of the world, that context really shapes this debate.

    The question these two are discussing really is: "Is it wise to become dependent on the GUI wizzards in Visual Studio to develop ASP.net applications?"

    1. Re:What Language? by Shados · · Score: 1

      Except no one has used visual studio's GUI wizards for web apps in ages. They're barely maintained, and in the javascript heavy world, they don't even work.

      People who are "dependant on visual studio" use it for the integration tools (source control, though thats becoming less true as GIT is becoming de facto standard even in the Windows world, and its integration with Visual Studio is not so hot), its add-ons (a lot of people who use Resharper are quickly lost without it).

      Coding in a normal editor is crippling. There's a few exceptions. I'm a big fan of Visual Studio, but the application I work on right now is simply too massive (its separated in independent modules, but my particular department tends to have cross cutting responsibilities so when we debug stuff, we go through countless modules in one session and you really want them all open), at which point its just too slow.

      That only happens once your source code weights in the gigabytes though. At which point I prefer using Sublime Text. VIM and Emacs though? No real reason to use them anymore.

    2. Re:What Language? by EMG+at+MU · · Score: 1

      Except no one has used visual studio's GUI wizards for web apps in ages. They're barely maintained, and in the javascript heavy world, they don't even work.

      From TFA:

      From 2002 up to 2008 or so the Microsoft web world was (and to a large degree still is) all about "Visual Component Development". What that means is you basically do a lot of drag and drop and let the components do the work for you (write HTML, hookup server code, CSS, etc).

      One of this guy's main points is that he became a drag and drop drone and not a web developer. That is why I said this question is more about "relying on Visual Studio's GUI for ASP.net" than a general extencial question of "is relying on an IDE bad?"

    3. Re:What Language? by Shados · · Score: 2

      He's explaining it wrong and its detracting from his point. Webforms was basically the server side ancestor of the currently very popular AngularJS. Pieces of functionality (not just UI) were encapsulated in components ("web controls") that had their own life cycle, would ensure ids were unique, could contain their own css and scripts in their own DLLs.

      You'd then drop them on a design surface (or stick them in XML code), sure. But that was just a convenient way of inserting the snippet. You weren't designing your app Front Page style or anything, it just didn't work for anything meaningful.

      The issue here is with the framework providing an overly complex leaky abstraction over too many things, and the issue remains if you use Emacs to do it. Again, case in point: the problem is absolutely there with AngularJS. But since you don't drag and drop the controls there, and it has a marginally better architecture (ie: its not dog slow), people feel better about it...

      Too many people confused the IDE with the framework (TFA contrasts PHP, a language with a web framework that revolves around pure text rendering, usually wrapped with 3rd party MVC frameworks, to a heavyweight component based framework). It would be kind of like blaming a Ruby on Rail IDE for a programmer's reliance on Rail's scaffolding.

  45. A good IDE is like a good spell checker... by randomiq · · Score: 1

    It can make your life easy, but it won't write the code for you.

  46. Proprietary vs. free build system by tepples · · Score: 1

    It leads people to rely on building the application with the IDE instead of issuing standard Makefiles

    In other words, it causes the programmer to rely on an automated build system instead of an automated build system.

    Let me rephrase how I understand AC's point: It causes the programmer to rely on a proprietary automated build system instead of a free, portable automated build system. An IDE that exports to Make or another common automated build system lets people rebuild the program without having to procure and install a copy of the IDE.

    1. Re:Proprietary vs. free build system by Mike+Buddha · · Score: 1

      So how does that free vs proprietary translate to good programmer vs bad programmer? It's just a different skill set, like a new programming language or a new methodology.

      --
      by Mike Buddha -- Someday the mountain might get him, but the law never will.
    2. Re:Proprietary vs. free build system by tepples · · Score: 1

      Even if (say) Eclipse is free software, downloading hundreds of megabytes of Eclipse just to build a single project is still inconvenient, and it's expensive for people stuck on capped Internet.

    3. Re:Proprietary vs. free build system by beelsebob · · Score: 3, Insightful

      But that's a one time cost, while maintaining makefiles is a many time, extremely high cost.

    4. Re:Proprietary vs. free build system by tepples · · Score: 2

      But that's a one time cost

      It'd be a one-time cost if all projects used the same graphical IDE. It's not one-time if you have to obtain Eclipse for one project, Code Blocks for another, Visual Studio for a third, CodeWarrior for a fourth, etc. A lot of the IDEs' project file formats don't diff well either, which makes them harder to handle in version control.

    5. Re:Proprietary vs. free build system by lgw · · Score: 1

      VS makes it easy to build with the IDE, but it doesn't require it, and the easy way really doesn't scale to large projects. That being said, for anything .NET, MS has been moving away from offering a lightweight SDK toolkit for building, and I think you have to download the whole mess just to build .NET stuff these days. That's not really the IDE's fault, however.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    6. Re:Proprietary vs. free build system by shutdown+-p+now · · Score: 1

      Define "proprietary". E.g. is MSBuild (as a build description language) proprietary with the existence of xbuild?

    7. Re:Proprietary vs. free build system by tepples · · Score: 1

      The common subset of what MSBuild and xbuild support is free. And because it's XML as opposed to an opaque binary encoding, it's diffable. So as long as an IDE for a CLR language can export msbuild files that don't hit any of the known limits of xbuild, it's fine.

    8. Re:Proprietary vs. free build system by Nemyst · · Score: 1

      I'll be frank, I've never seen a project which doesn't support either Eclipse or Visual Studio, depending on the language. Some also support Xcode and Qt Creator.

      Generally, if they don't support any of those, they won't support any at all.

    9. Re:Proprietary vs. free build system by tepples · · Score: 1

      Do all projects that support Visual Studio also support Visual Studio Express? Otherwise, one is looking at dropping hundreds of dollars to recompile something.

    10. Re:Proprietary vs. free build system by Darinbob · · Score: 1

      I have definitely seen some open source projects that come with source code and a "project file" for an IDE. When that project file is binary then you're sort of stuck trying to guess about how things should be built (and 9 times out of 10 you do not just build and link all files together). Even if someone does not use a makefile it can still be useful as documentation of how things should be built.

    11. Re:Proprietary vs. free build system by Darinbob · · Score: 1

      Makefiles are not that hard to maintain. Especially if your makefile does not do anything more complicated than a basic IDE does when buildling.

    12. Re:Proprietary vs. free build system by Darinbob · · Score: 1

      Really? Have a look at linux, BSD, GNU tools, etc. I'm pretty sure many Mac OS and iphone projects use xcode.

    13. Re:Proprietary vs. free build system by phantomfive · · Score: 1

      maintaining makefiles is a many time, extremely high cost.

      This may be true for you, in which case you are doing it wrong.

      --
      "First they came for the slanderers and i said nothing."
    14. Re:Proprietary vs. free build system by swillden · · Score: 1

      Let me rephrase how I understand AC's point: It causes the programmer to rely on a proprietary automated build system instead of a free, portable automated build system.

      Meh.

      If you want to find something to complain about with respect to IDEs and integrated build systems, here's a legitimate one, at least for new programmers: it can prevent them from learning how their code is assembled into a functioning binary. With Makefiles, it's almost impossible not to understand the distinction between an editor, a compiler and a linker (and you might even get exposed to an assembler from time to time).

      That said, once you do understand how the pieces fit together and work, there's no reason to create additional work for yourself. In addition, there's plenty to be said for simplified environments for new programmers, so they can focus on the code. They can learn the nuts and bolts later. Once you're beyond that, if portability matters then you may have a good reason to stick with make or another portable build system. Or if you have concerns about being tied to a proprietary system which may not be around long enough, or may tie you to tools you might wish to replace (though, generally, switching to a new build system is the least difficult part of that process), then it might make sense.

      Otherwise, use the tool that makes you most productive.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    15. Re:Proprietary vs. free build system by tepples · · Score: 1

      For a (singular) good programmer, I can understand what you mean. But for everyone who wants to rebuild the program, such as to make and contribute a patch or even to run the program on an operating system distribution that hasn't yet included the program in the primary repository, having to buy an IDE just to run the build script can become an entry barrier.

  47. What's an IDE? by NapalmV · · Score: 1

    IIRC an IDE it is an app that provides a text editor, build/run automation and a debugger. All to be easily accessed from some menu/shortcuts system. How can any of these components, separated or integrated, impede the intellectual development of a programmer?

    Unless, of course, the programming language that the IDE implements is a retarded one..... then blame it on the language, not the text editor.

  48. No by jgotts · · Score: 4, Insightful

    Whether or not you use an IDE ought to say very little about how good of a programmer you are.

    What makes a good programmer is someone who can produce stable, maintainable code in a reasonable time frame and someone who isn't worried about getting fired in order to fight for these goals. One part of maintainability is readable code and the other part is being able to communicate what you've done through documentation, written or oral.

    Over the decades I've found that it makes no difference what tools you use, or what your age or educational or cultural background is. It doesn't matter so much whether you write few or many tests. You need to be patient, stubborn, thorough, curious, a problem solver, a voracious reader, and a great communicator to be a great programmer, and you need to have been doing it for at least 10 years. But companies should not shy away from helping to give someone those 10 years, because the best programmers will still do good work early on in their careers.

    If you write code that just works but is unmaintainable by anyone and you hole up to write your code and you have no ability to communicate what you have done then you are a horrible programmer and you should be fired. There is a myth among some people that these are actually great programmers. These types of programmers tend to be, but are not always, extremely well qualified in terms of their educational or other experience but they make life difficult for all the other programmers that have to maintain their fragile junk. Fortunately, this type of software is less common in the free software community because this type of programming is called out.

  49. Re:depends by Anonymous Coward · · Score: 1

    > Have you changed your code to make the IDE happy?

    In both java and php, IDEA leverages comments to do tricky introspection. It's largely beneficial, but in some cases a small effort. Worth the tradeoff, or I wouldn't use it.

  50. Does using an airplane make you a bad superhero? by istartedi · · Score: 2

    Yes. If you were a Real Programmer (TM) you'd focus your mind and flip bits on the motherboard.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  51. No, it doesn't, but... by demon+driver · · Score: 1

    ... there's something else that might. It's the ever-increasing percentage of functionality we implement through choosing, including, configuring and glueing together existing frameworks and libraries.

  52. Nothing has been the same since SOS and Speed. by DutchUncle · · Score: 1

    But remember, when you're programming on a DG Eclipse, Speed kills.

  53. Must we go through this every month? by mpicker0 · · Score: 1

    Does Relying On an IDE Make You a Bad Programmer?

    Oh look, it's this thread again.

  54. An IDE is often not available. by Marc_Hawke · · Score: 1

    My biggest complaint about IDE's and why I don't use them often is that I have to program all over. My home environment is not the same at work, is not the same 'on location' is not the same 'on the road,' etc.

    I program in the leanest way possible. I use the tools that will be available (or be made available) wherever. That means I use text-editors. I use 'vi' in Linux/Unix shells and I use Notepad++/Sublime on Windows. That way, where ever I am, I always have my 'tools' with me.

    If I had the luxury of a more stable 'situation' for programming...meaning I knew I'd always be at the same desk, using the same IDE every time I wanted to do something, then I'd definitely learn it and use it. However, constantly switching platforms, languages, desktops, operating system makes it a bad idea to 'get used to' or 'rely on' any tool that can't be expected to exist in the next situation.

    --
    --Welcome to the Realm of the Hawke--
    1. Re:An IDE is often not available. by Virtucon · · Score: 1

      Ever download Eclipse?

      --
      Harrison's Postulate - "For every action there is an equal and opposite criticism"
  55. Not if... by brokenin2 · · Score: 1

    ...you wrote the IDE yourself :)

  56. Probably not. by ttucker · · Score: 3, Insightful

    Being a bad programmer is a state of mind, leave the tools of the trade out of it.

  57. Please Stop. by zakkudo · · Score: 5, Insightful

    99% of the time if you hear someone questioning the utility of using an IDE, notepad was never in the running as a serious option to begin with. Just stop it. Don't say it's name. Notepad is a 24 year old joke stuck in the 90s feature-wise. The runners are programs like Sublime Text, BBedit, Text Wrangler, gedit, Jedit, notepad++, or even vim.

    Just because someone tells you that you should drive your car less doesn't mean they are forcing you to walk everywhere you go on your feet. You can bike. You can ride your motorcycle. You can ride the bus. You can ride an electric bycycle. You can rollerblade. You can ride in someone else's car. You can ride the train. You can fly in a plane.

    Anyone mentioning Notepad seriously in their comments on this article has no knowledge of what a proper text editor is and have an apathy to find out so they can actually contibute meaningfully to the conversation.

    1. Re:Please Stop. by epyT-R · · Score: 1

      I think the point was that there's something to be learned from writing code in an editor that doesn't offer any handholding whatsoever. I don't think anyone is advocating doing this in production scenarios.

    2. Re:Please Stop. by Aryden · · Score: 4, Insightful

      And there is also something to be said about an editor that helps you identify an issue, even when in another file so that you don't have to try to decipher a cryptic log message due to a variable not being instantiated correctly in a different file. Sure, I can use NotePad++, and I do quite often for really simple scripts/reading files, but when I really want to sit down and knock out something that's more complex than "Hello World!", I'll fire up netbeans and have at it. It's also helped me learn quite a few languages due to showing me where I made my mistakes (like grading a paper in school) and helping me to debug.

    3. Re:Please Stop. by TapeCutter · · Score: 1

      I don't use notepad to write code, however I do use it a lot for small jobs, reading a file, a quick eyeball for unix line endings, minor edits where I know what I'm going to change, and as a "notepad" to hold snippets of text while working on something. There's already a really good text editor in the VS IDE that understands different programming languages, why bother installing another stand alone text editor?

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    4. Re:Please Stop. by Anonymous Coward · · Score: 1

      The runners are programs like Sublime Text, BBedit, Text Wrangler, gedit, Jedit, notepad++, or even vim.

      But not emacs.

    5. Re:Please Stop. by fwarren · · Score: 1

      Well it looks like it is time to type Q in edline and switch to using notepad. I want to move up to a more powerful editor and am not sure if Sublime is right for me.

      --
      vi + /etc over regedit any day of the week.
    6. Re:Please Stop. by Jane+Q.+Public · · Score: 2

      "I think the point was that there's something to be learned from writing code in an editor that doesn't offer any handholding whatsoever. I don't think anyone is advocating doing this in production scenarios."

      Depends on what you mean by "handholding".

      Editors like Sublime Text and TextMate have macros and the like, but they are a far cry from an "IDE" in the common sense of the term (like Visual Studio for example). Generally speaking, they might have syntax highlighting, auto-indent, global search etc. but they are still just editors, not even close to IDEs. And millions of people use them for coding professionally every day.

    7. Re:Please Stop. by RabidReindeer · · Score: 4, Insightful

      Anyone mentioning Notepad seriously in their comments on this article has no knowledge of what a proper text editor is and have an apathy to find out so they can actually contibute meaningfully to the conversation.

      There's a difference between a text editor (and proper or not, Notepad is one) and a code editor.

      IDEs like Eclipse have multiple code editors for different uses such as Java, C, SQL, Python and so forth. In the case of Eclipse, they're usually plugin options.

      Emacs provides code editors but calls them "modes".

      The point is, that a text editor can do generic text, but if you want to type in API calls and generic code, you have to type it all in yourself. A code editor is sensitive to the desired product and can suggest auto-completions for API calls, plug in boilerplate and the like. Back in the Bad Old Days, all we had to create code with was text editors and a stack of manuals printed on processed dead trees. And we liked it. At least until IDEs came along and we liked that better.

      Then there are code "wizards", which are another species of skunk entirely.

      Relying on an IDE doesn't make you a bad programmer. But if you are a bad programmer, you don't just rely on an IDE, you depend on it.

    8. Re:Please Stop. by Darinbob · · Score: 1

      There is some minimum handholding you should want. Ie, auto-indenting to your local organization's standards, quick movement to start or end of functions, etc. You don't need IDEs for that though. Sure spend a few years programming with a basic things like vi (but never ever notepad) but then get a decent editor oriented towards programming.

      Though if you like IDEs that's fine. I find it bizarre though that the article points out Visual Studio, which is probably the poster child for how not to do a good IDE.

      If you've got a really ugly language; actually I mean a really ugly API and a web of frameworks; then an IDE is really useful. No language by itself is so ugly that it needs an IDE just to deal with it, it is always the cruft that goes with the language that is complicated. If I ever did Java for real then I'd want an IDE, but for doing C/C++/assembly I don't need it. And the time I could potentially save with an IDE for what I do is greatly overshadowed by using an unfamiliar editor with a backwards user interface and undoing years of muscle memory.

    9. Re:Please Stop. by Darinbob · · Score: 2

      Some of my first programming in 1981 was on an IDE, but then they went away and it was just plain old editors for awhile. When IDEs came back they were crufty animals that were worse in every way compared to good editors like emacs, vi, TPU, etc. But they were used on systems where an IDE made sense: no built in compilers, no built in text editors, no built in searching programs, no built in shell, etc. The problem though is that the IDEs were jealous, they wanted to do everything and refused to work with other tools.

      Part of this comes down to programmer style, and how they were raised possibly. Unix style of picking great tools that do specific jobs and using them together, or a picking a single all-in-one tool that does most things moderately well. Another divide is between programmers writing portable code for multiple systems, and programmers who have only ever used a single system in their careers.

    10. Re:Please Stop. by leonardluen · · Score: 1

      with it's C-x M-c M-Butterfly command, emacs just breeds lazy programmers.

    11. Re:Please Stop. by hermitdev · · Score: 1

      This. One of the reasons I don't use Visual Studio for C++ is the autocomplete sucks and interferes with productivity. When your IDE freezes for 5-10 minutes updating a feature you don't want and can't turn off, you look for something else. I really on used it for working on one C++ project, and it was an MFC GUI. All of the libraries I was working on, I'd use Vim/GVim as my primary C++ editor. I would use studio for debugging, though. Now, for C#, I primarily stick with Visual Studio and use it as a full IDE (the XAML designer in VS2008 was really buggy and would crash a lot, so I just edited XAML as raw XML). There, the autocomplete features work well, they're fast and unobtrusive. I haven't tried new VS versions for C++, but from following the Visual Studio Team blog, they are aware that intellisense has been a pain point in the past and have spent a lot of effort improving it. They claim great improvements, but I can't personally vouch for it.

    12. Re:Please Stop. by KinkyClown · · Score: 1

      I understand your frustration on the topic. But I have to say that I am one of the few that actually was forced to learn Java with notepad and a standard JDK without internet. The course was difficult but it made me a very good programmer. If I was to give a course to a newcomer I would still let him at least do one assignment this way. Back to the original subject: I think that there are a large group of programmers that know how to program but are not really aware on specifics like deployment / tuning / classpath issues / CLR configuration / IIS specifics / etc. These things are taken away from you by using a good IDE and you can still be an good developer. Personally I want to excel in development and have thought myself all others specifics as well. Just my 2 cents.

    13. Re:Please Stop. by xvan · · Score: 1

      If you started with vi, you where doing something wrong or, at the time it was the only option, no modern IDE existed.
      Either that, or you started with vim, that has all the things you say it's lacking and is the furthest you can get from a "basic thing" for programming.

    14. Re:Please Stop. by pjt33 · · Score: 1

      The ability to undo more than one change is the kind of hand-holding which is always beneficial.

    15. Re:Please Stop. by T.E.D. · · Score: 1

      The runners are programs like Sublime Text, BBedit, Text Wrangler, gedit, Jedit, notepad++, or even vim.

      But not emacs.

      Of course not. Emacs is an IDE (just not a very graphical one).

    16. Re:Please Stop. by zakkudo · · Score: 1

      I was out of Windows-land by the time XP landed. Apparently Notepad had only gotten the save (ctrl-s) keyboard shortcut in 1999 with Windows 2000. That was one of my largest issues with the program. It was just waiting to lose your work for you.

      After Windows, I was using Macs for about 5 years, and nowadays I mostly use Linux boxes. What I have found over time is that Notepad is the only basic text editor included with a modern OS that refuses to support other types of line endings.

      What's worse is that everyone on Windows seems to start learning programming on Notepad, and the confusion it causes because of the line-ending issue is a waste of my professional time. It strongly reminds me of having to support IE6 back in the day.

      On a less cynical note, Notepad looks like it was designed primarily as a mechanism to read windows README.TXT files. Secondarily, it was designed for basic editing of batch files and config files where not having a ctrl-s shortcut is not an issues. Third, if you are using notepad outside of that scope, you are likely abusing the tool for purposes it wasn't originally designed for.

      I may seem bitter, but notepad irritates me in about exactly the same spot as IE6.

    17. Re:Please Stop. by Zordak · · Score: 1

      Pshaw! Edlin or nothing!

      You get Edlin? I have to use a magnet and a magnifying glass to manually align bits in raw binary you insensitive clod!

      --

      Today's Sesame Street was brought to you by the number e.
  58. Got a hammer? Well everything looks like a nail... by recharged95 · · Score: 1

    Use the right tool for the right job.

    IDE == application and UI programming. Usually lots of business logic or use cases.
    text editor == optimization or network programming. Usually non-UI graphics, socket stuff, bit banging.

    oh and lastly (flamesuit ON)....

    vi == everything else.

  59. Who cares? by avandesande · · Score: 3, Insightful

    If you can get the job done and get a paycheck what difference does it make?

    --
    love is just extroverted narcissism
    1. Re:Who cares? by Jeremi · · Score: 1

      If you can get the job done and get a paycheck what difference does it make?

      Better tools let you work more efficiently. Working more efficiently means you can either get more done, or spend fewer hours at the office.

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
  60. I prefer the command line and a text editor by pouar · · Score: 1

    It's actually easier and quicker for me to use than an IDE. I usually use Bash as my shell and Kate as my text editor (Kate is similar to Notepad++ in functionality which is what I used before my switch to GNU/Linux). when I compile projects I either use a simple Makefile or CMake depending on the size of the project. I've done OS detection and resolution with Makefiles before.

    --
    while :;do if windows sucks;then mv windows /dev/null;pacman -Sy linux;fi;done
  61. Relying on a spellchecker makes you a bad writer by ArcadeMan · · Score: 1

    Visual Stuidio?

  62. Re:Not notepad... by CWCheese · · Score: 1
    --
    Have a Day!
  63. Let the IDE holy wars begin. by Virtucon · · Score: 2

    I can tell you from experience from the development side of things that having a good IDE and proficient knowledge of it's features can greatly improve productivity of a team. You still need to know how to compile at a low level and what the various link and compiler options are and you should know how to use a native debugger but if you want to be productive and not worry about the minutia of details then use one. An IDE doesn't make you a better programmer but it does make you more productive and you can focus on learning those nuances and skills within the chosen programming language more easily, allowing you to gain more proficiency.

    The whole "you don't need an IDE" may be true but it's like hunting bears without a rifle. Sure, you can hunt bears without a rifle but if you have one it's much easier and you get less bloody.

    --
    Harrison's Postulate - "For every action there is an equal and opposite criticism"
  64. Code-completion by phorm · · Score: 1

    Code completion is great. Trying to remember the exact syntax of internal libraries is one thing, but trying to remember how all the functions are overloaded when dealing with custom libraries is even worse.

    Err... did it have an "int" here and a "char *", or was that a String... damn.

  65. IDE for search, refactoring, etc by Brian_Ellenberger · · Score: 2

    I'm surprised that so many of the comments for IDEs are restricted to things like autocomplete. IDEs do far more than that. Things like smart refactoring (beyond GREP/Replace), code searches and navigation (find references, go up and down the object hierarchy, find impls), and debugging (attach to remote process, breakpoints, etc).

  66. No, it makes you a great programmer by Anonymous Coward · · Score: 2, Insightful

    This is a perfect article for the 80's. You know, when computers had less computing power, less space, well less of everything. Yeah, in those days you could know a whole API of some library. Hell, you could know everything about programming the IBM PC (or any of its compatible clones). Secondly, you didn't have to write that much code because you couldn't write that much code. Remember, computers paled in comparison to today's machines. Your application fitted on a floppy. It does not require a DVD to install. Sure, in those days, you had no excuse if you couldn't cut it with vi (or your favorite text editor of choice).

    IT'S 2014 FOR CHRIST'S SAKE! With the tremendous computing power we have today software has grown leaps and bounds. There are many APIs to know, and some APIs are large (like they have mini-APIs hiding inside). The programs we write are very large in size because they are feature rich. Maybe we aren't writing each line of code, but we construct programs module by module and they end up becoming very large because today's users take for granted a minimal set of features that would be considered Star Trek advanced back in the 80's. IDEs are not a crutch for dealing with millions and millions and millions of lines of code, it is a necessity. I'd really like to know how anyone could manage today's software with vi. Yeah, it could be done if you didn't value your time and had nothing better to do in life.

    I look forward to tomorrow's article titled "Does relying on the web for reference material make you a bad programmer?"

    I can't wait for next week's "Does relying on industrial equipment make you a bad skyscraper builder?" And here are some comment's from next week's article:

    "My daddy used a hammer and a saw. Why can't today's construction workers do the same thing when building the Burj Khalifa?"

    "Yeah, I second that. They build the pyramids with sand, water, and good ol' elbow grease. Technology makes us weak and unskilled."

    "Guys, it took a long, long time to build the pyramids. It takes less than a decade to build a modern skyscraper. This is not exactly an apt comparison"

    "Shut up, idiot! No true construction worker needs heavy machinery. You must be gay."

    1. Re:No, it makes you a great programmer by ray-auch · · Score: 1

      Mod parent up.

      Oh, and FFS - if you can't toggle your program in on the front panel switches you aren't a real programmer at all. That's barefoot in 6ft of snow and up hill both ways, obviously. Punched cards are for wimps with poor memory - will never catch on.

    2. Re:No, it makes you a great programmer by david_thornley · · Score: 1

      Actually, back in the very early 80s, I had a CP/M box and a C compiler. To use the C compiler, I'd use an editor to write or change a program. Then I'd save it and pull the editor disk and replace it with the compiler disk. Then I'd write a fairly complicated command line to compile the program, and then I'd link it. Finally, I could run it. There was a lot of disk-swapping and typing fiddly things in by hand. I eventually figured out a way to automate the typing, but not the disk swapping.

      Then I got Turbo Pascal. It had an editor and compiler on one disk, and using it I could write or change a program, compile it (I believe it linked invisibly), and run it without disk swapping or complicated commands. I didn't really care that I didn't like Pascal all that much, or that the editor was primitive (beat ed, though), or did nonstandard Pascal. The sheer convenience was liberating.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  67. Never turned back. by nblender · · Score: 1

    I started writing code on a VT102 with a line editor (edt)... I progressed to 'vi' on a vt320... That was paradise... Until I switched to an IDE and have never looked back...

    Xterm and vi FTW!

  68. ide by JohnVanVliet · · Score: 1

    just use VI and solve the problem

    --
    "I don't pitch OpenSUSE Linux to my friends, i let Microsoft do it for me
  69. Not if the IDE is Emacs by Coeurderoy · · Score: 1

    Obviously, of course vi(m) is almost acceptable too ...
    or teco, but only if you need to write assembly code (or lisp)

    all other IDEs are of course for sisis....

  70. IDEs can be used as artifical life support. by periodic · · Score: 1

    I agree with that an IDE should be used as a productivity enhancer. But only after you have understood what it means to compile and how it all fits together.

    Personally I use Emacs for most C/C++ development and Eclipse for Java (with emacs key-bindings)

    However I have seen occasions where the support given by an IDE makes an organization get away with a rather smelly code base. Where the IDE becomes more of artificial life support then a true productivity enhancer. This is what I see as the greatest risk of an IDE, that you can get away with bad code for far longer then if you did not use an IDE. Which will cause you to hit the inevitable complexity wall much later and with more severe consequences.

    While when using non or less helpful IDEs (like emacs or vi) you have to structure you code much better to keep it maintainable and understandable. You will hit the complexity wall sooner, which will make it more natural to refactor and rework code that has become too complex at a point where it is not very costly to do so. In my opinion you will get more intimate with your code and build system, which gives you a better understanding of what really is going on.

    Personally I would not trust a programmer that can not use a text editor and a command line to build at least simple applications.

  71. Re:Using it? No. Relying on it? Yes. by Yunzil · · Score: 1

    Yeah. Plus someday you'll be stuck trying to debug something remotely and all you'll have available is vi. Where's your IDE God now?

  72. Re:Forget Autocomplete by Todd+Knarr · · Score: 1

    Problem with remote debugging is that it depends on the IDE or at least parts of it being on the server, and having the firewall open. Installing the IDE on the server wasn't possible. Whether you could or not, it was Not Allowed because of administrative dictates. And the firewall could only be opened if you could specify the exact ports, and they couldn't be on the list of forbidden ports (which included the standard DCOM ports and the IPSEC VPN ports, opening those allowed too much through beyond just remote debugging).

    TBH all that was why I preferred working on the Unix side of things. SSH was allowed, and once I had an SSH terminal window I could do pretty much anything I needed. Going into the Windows development environment was like walking into a briar patch: always snagging yourself on things that had nothing to do with the job at hand but couldn't be ignored.

  73. It depends. by DdJ · · Score: 4, Insightful

    If the IDE is helping you catch typos and quickly dig out references like method names, that's one thing.

    If the IDE is providing so much scaffolding for your project, "wizards" and such, that you don't actually understand what's going on, that's another thing.

    (I've seen both.)

    1. Re:It depends. by Anonymous Coward · · Score: 1

      IDE can also give you refactoring tools that allow you to factor out a function call in a few keystrokes.

      I'm sure some people think it's a fun challenge to write regexen to factor out common code, but I'd rather hit a keyboard shortcut, type the name of the new function, review the change, verify that it still works as intended, and then commit it -- all in less than one minute. That way I can spend my time doing more important things.

    2. Re:It depends. by hibiki_r · · Score: 1

      If your IDE is producing much scaffolding, the problem is not the IDE, but writing in a technology where said scaffolding could be seen as desirable to anyone. For instance, look at the state of Java circa 2002. You have EJB 2.0, full of boilerplate. Then there's Spring's ginormous xml configuration files, which you have to get exactly right, and in line with the code. Talking to a database? There's this tool called hibernate, which reads this finely crafted xml files, that have to exactly match both your classes on one hand, and your database on the other. In that environment, you'd be NUTS not to use and IDE, but you could argue that you'd also have to be nuts to subject people to such a development environment, full of finely crafted configuration for applications that, in 99 percent of cases, only change a few database connection strings in the configuration, while the rest is just code written in XML.

      More modern version of the same technologies minimize the use of that silly boilerplate. Completely newer technologies just cut the boilerplate down to so much, IDE scaffolding doesn't even exist, because there is no boilerplate for the IDE to generate. Who thought having to explicitly create all getters and setters was a good idea anyway? Why create rituals where, to make a change, I need to change 3 files in unison, or the whole thing will break?

      If I am writing library, and I am even tempted to write some little IDE extension for it, it means I did something wrong with my library design.

  74. Re:does relying on a hammer make you a bad carpent by Anonymous Coward · · Score: 3, Insightful

    Using it to help you do a task you cannot do without it.

    I.E. when the IDE fails to help you can you still do the job?

    I'd liken it to a surgery robot. I as a non-medically trained person should not assume this will let me perform surgeries.

    But it may help a skilled surgeon quite well but he can take over if the robot crashes where as I cannot.

    Sadly I see most using the IDE as a normal person trying to code like a developer.....

    Personally I use a combination of Vim+Nerdtree+tagbar for C/C++/Python and eclipse when forced to deal with Java. I'm also a believer that Java nearly requires the IDE purely because it's grown into a bloated mess that can barely be managed without one.

    But real languages and such.... nah just use Vim and properly open the documentation for whatever class you are using instead of typing SomeClass(DOT) and waiting for the IDE to tell you what's there.

    When doing C++ coding for instance you cannot just be happy "knowing" what functions are available... You need to know return codes, what headers those are found in, are they typed or enums, etc. Then all the quirks like if this function is thread safe, signal safe, block/wait free, etc.

    If you are just blowing through using the IDE without knowing all those things I'd say it's hurting you more than helping. Cannot tell you how many bugs I've fixed where I was just being a tard and expecting some function to do A when clearly in the documentation is some text saying not to pass a B into it... and surely enough I've passed B.

    I'd bet that moving to Vim for C/C++ development did more for my actual programming chops than any "shortcuts" eclipse provided. That an learning command line git after years of cvs/svn. That too really helped.

  75. Yes by mosb1000 · · Score: 1

    It means you're a bad developer because you're using .net to make webpages. You should always use the right tool for the job.

  76. Visual Studio by SeanBlader · · Score: 1

    Last time I tried to use Visual Studio, the startup time was taking longer than it did to install, so I dumped it in favor of anything else.

  77. Re:depends by rev0lt · · Score: 1

    Almost all "smart" IDEs do this. In addition to that, in PHP you're actually making both the IDE and the piss-poor-excuse-of-a-reflection-engine that PHP has happy :)

  78. Yes, according to my coworkers by Anonymous Coward · · Score: 1

    Over the past few years, I have been modernizing the literal development of a lot of the software where I work. A lot of the developers came straight out of college to interact with a lot of older, anti-IDE developers. Additionally, I have been strongly pushing (but not so singlehandedly) using recent, open source/standard build tools rather than ones written inhouse.

    Naturally, they decided that that must be the best thing for them because real programmers do not use IDEs. Fortunately, this was not my first job, so I came here and refused to switch to vi or emacs, and I have constantly pressed developers (particularly younger ones) to use IDEs to be more productive as well as to spot errors sooner.

    With a lot of our software being written in Java (the rest being C++), we have a hodgepodge number of developers sporting Eclipse, but the recent majority has been IntelliJ. The quality of code has gone up significantly amongst the people that have adopted IDEs, and this has been pushing the bar up for the rest that do not as code reviewers are starting to spot the issues that their IDE warns them about, which they otherwise had no idea about. In the case of Java, there is a lot of abuse of generics by people not aware of how to use them, but IDEs catch issues earlier than the compilation step for beginners--and those that simply don't get it.

    Personally, it's my opinion that not using an IDE makes you a bad developer excluding a few exceptional cases (e.g., areas where IDEs are not allowed, which is a good reason to know how to use tools like vi at--at least--a basic level). And, unfortunately, time only keeps proving me right with very few exceptions.

  79. IDEs can help learn language by SuperKendall · · Score: 3, Informative

    in XCode the extensive LLVM warnings can reveal a lot of issues that pertain to incorrect usage of the computer language, not just the APIs.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  80. Rockstar programmers and egos by Anonymous Coward · · Score: 1

    To admit that you've an IDE helping you is too hard for rockstar programmers.

  81. Yes. No. maybe. by MouseTheLuckyDog · · Score: 1

    Shame that I cam in so late because I think I have the definitive answer.

    First of all, if writing the code for a GUI, then a WYSIWYG IDE is a must. Something like Delphi.

    Second, for everything else using an IDE does not make you a bad programmer. Relying on an IDE does.

  82. Re:Got a hammer? Well everything looks like a nail by Shados · · Score: 1

    That makes no sense.

    You're basically saying:

    Toolbox: application and UI programming
    Screwdriver: optimization and network programming...

    An IDE is just a bunch of tools grouped together., including a text editor.

  83. meh by kcmastrpc · · Score: 2

    probably too late to jump into the discussion but I work with several developers who shun the use of IDEs, they're all 'VIM or die' mentality. The funny thing is their code is full of problems, from undeclared objects to undefined variables - all over the place. Much of the code is completely untestable and I'm constantly cleaning things up because my IDE picks up the stuff they missed because they are all gungho hacker devs. Bad developers exist regardless of what they write code with. I like my IDE personally, integrated debugging tools, code hint/completion and built in stuff like LINT make it easier for me to get actual work done.

  84. Troll food by TapeCutter · · Score: 3, Informative

    I have been using visual studio professionally since version 1.5 on windows 3.1, ie: 20yrs. I do not write (serious) .net programs and never have, VS is not the only IDE I am familiar with, but it is my favourite with "eclipse" a close second.

    You sound like someone who tried it once, found it was different to the QT you love and gave up. If you want a job coding you would be wise to explore it a bit deeper than you have. Not suggesting you give up QT but in my (considerable) experience you often don't get a choice of IDE when you take up a programming job. For example: The large code base I currently manage and help maintain is cross-platform C/C++ which aside from running on win32/64 and windows itanium, is also expected to build and run on various flavours of linux, sun, hp, and aix. I'm not going to change all my build scripts just so the new guy can build a private development version with QT, nor will I pay for a commercial QT license when the department already has an MSDN subscription that comes with the defacto industry standard IDE for windows.

    --
    And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    1. Re:Troll food by Darinbob · · Score: 1

      Except that VS is not available on many platforms (really, it's only on a single platform unless you use a virtual machine). I have used VS for embedded development, and it was a nightmare. Ie, it used VS for managing the project, which it kept screwing up and I had to keep editing by hand to fix (seriously, you delete a file using the GUI and it would corrupt the project files). Then for compiling it called an external cross compiler. Thus it was pointless for debugging, it was only there as a project manager and editor. Everyone except the boss hated it, and only the boss had a Windows background. Replaced with gcc/make/cygwin and the team was much happier; some people even pulled up Eclipse and were happier with that than VS.

      Granted it is fair to criticize that example since it was using VS in the worst possible way, it was designed for building and debugging native Windows programs.
      Still we did have a simulator project using the same code base that used Windows so it was a bit nicer in that situation, but it still had many problems.

    2. Re:Troll food by TapeCutter · · Score: 1

      Yes, the right tool for the right job. I would not dream of using VS on unix of any flavour, our (automated) build scripts are more than just make or .sln files, there are other tools involved in the process not the least of which is the source control tool and installer tools. The actual build for any of the approximately 30 cross-platform projects and their many legacy branches, be it on unix via make, windows via msdev.exe, or windows via nmake, is just a one line call in a higher level py or sh script.

      --
      And did you exchange a walk on part in the war for a lead role in a cage? - Pink Floyd.
    3. Re:Troll food by coinreturn · · Score: 1

      One cannot "use visual studio professionally". Such is a contradiction in terms. One can unprofessionally use visual studio. Or one can professionally not use visual studio. But other options are absent.

      User posted in monospaced font - irony meter pegged at max.

  85. Hammer screw with IDE by fleebait · · Score: 1

    Hammering a screw with an IDE means job security in government work.

  86. Re:does relying on a hammer make you a bad carpent by Jmc23 · · Score: 1

    Actually, a hammer does make you a bad carpenter. It's the least skillful and least effective method for joining pieces of wood together.

    --
    Don't complain about syntax, grammar, or spelling. There is no.hell like input on android.
  87. Real Programmers Don't Use and IDE by jacobsm · · Score: 1

    Real Programmers don't need an IDE to get their jobs done-- they are perfectly happy with a keypunch, a Fortran IV compiler, and a beer.

  88. Re:Isn't the real proof by skids · · Score: 1

    Argue anything you want but the one who earn the most obviously do the better thing vs the one who do the worst regardless.

    Huh? That's retarded. Many of the greatest works of mankind were not remunerated.

  89. No. by Greyfox · · Score: 1

    If you're a bad programmer, your code with an IDE will be bad. If you're a good programmer, it won't. Stop blaming the tools.

    --

    I'm trying to teach myself to set people on fire with my mind... Is it hot in here?

  90. I think... by JustNiz · · Score: 1

    Its OK to use an IDE to help you, but its not OK to need one in order to do your job.

  91. The IDE is not the problem by bhopki3 · · Score: 1

    Lack of fundamental software development skills and knowledge of the underlying environment is the true issue. Perhaps I'm a bit crusty, but I think that all new programmers should spend the first 2 years of their careers coding from the command line.. a shell of their choice (bash/ksh/etc), vim or emacs, a build tool (ant/make), using scripts to start, stop, and deploy your own services, knowing how to configure and actually use a remote debugger instead of splattering code with unnecessary print statements, learning how to trigger stack traces and interpret them, merging code by hand, etc. After this "apprenticeship", they would graduate on to "journeyman" status and allowed to use an IDE if they want to, but they would always have the strong foundation to fall back on in times of need. More importantly they could train new generations of programmers.

  92. IDEs can make you reliant upon them by Anonymous Coward · · Score: 1

    My department has standardized .NET as our platform of choice. Before this standardization, we had used a variety of technologies, including perl, which didn't require an IDE to use.

    Later, we hired a bunch of .NET programmers, and most of them are totally reliant on an IDE. We showed them how to maintain our perl programs using vim as the interface. Most of them didn't get it. It reminded me of how we talk to non-techie types, where once we start using techie words, their eyes gloss over and they can't comprehend it. These .NET programmers had that same reaction. They didn't feel comfortable working in that environment and made excuses like, "that is old technology" and "nobody uses it anymore". But, there are advantages to using perl (less memory, fast text parsing, etc.) that .NET doesn't have, so we continue to use it.

  93. Not since the adoption of refactoring. by ndykman · · Score: 1

    Refactoring changed the IDE equation. Now, using a tool that understands that code is code, not text is needed to support Refactoring. Given that, you might as well throw in auto completion (Intellsense) for objects, classes, namespaces, etc. Part of the value of the Java, C++ and .Net ecosystems is great tools. And, my hats of to IntelliJ, which brings some IDE tools to Ruby and Python and even JavaScript. Worth the license fees to me.

    One can become too dependent on anything. But there's no reason to use a better tool. I'm developing in .Net land now, and VS + Resharper makes me more productive without question. It presents me the information I need in context, quickly and effectively. Nothing wrong with that.

  94. In the end, potentially yes by Lawrence_Bird · · Score: 2

    From personal use/observation - they are helpful to get you up and running on a new language or one you have not had much exposure. They catch errors, help with syntax and api calls. But after a certain point they start to become more of a crutch.. almost training wheels. On reason for taking the training wheels off is to prove you actually can ride the bike. The same might be said of an IDE - after some period of time (months? years?) are you able to code without it? Do you really know what it is you are doing? Is the IDE holding back your own creativity?

    Every each case is different, there is no black and white on this but I do think it may be worth stepping away from an IDE from time to time just to make sure you've not become over reliant.

  95. better off programming with Notepad? by guygo · · Score: 1

    You will pry my syntax-highlighting from my cold, dead hands.

  96. Readability First! by Tablizer · · Score: 1

    The most important characteristic of code is readability by future maintainers (after running). Maintenance of existing code is typically about 2/3 of the long-term cost of software such that emphasizing the writing stage is the wrong target.

    If IDE's generate verbose (bloated wind-bag) code, then it's counter to maintenance because it generally slows readability.

    Code bloat should be reduced, not automated.

    For example, good code will do something like this:

    humidRef = services.weather.local.humidity;
    humidRef.requestData();
    humidRef.requestMap();
    humidRef.queueProductionRequest();
    humidRef.setNotifyer(myNotifyEvent);
    ...

    However, many IDE's make it too easy to create this instead (and/or don't recognize the shorter version):

    services.weather.local.humidity.requestData();
    services.weather.local.humidity.requestMap();
    services.weather.local.humidity.queueProductionRequest();
    services.weather.local.humidity.setNotifyer(myNotifyEvent);
    ...

    Plus, the service object "path" often changes over time, and if we hard-wire the full path, we have more to change, which may also risk more errors.

  97. Re:Forget Autocomplete by Todd+Knarr · · Score: 1

    The problem is that with Windows everything runs over those ports. If you open those ports you don't just allow remote debugging, you allow everything that's multiplexed onto those ports: access to file shares, remote registry access, the works. And that stuff isn't supposed to cross the boundary between the office desktop network and the data center. If it were all separated out with every service running on it's own port we'd be golden, but with all those services multiplexed onto the same few ports it's an all-or-nothing choice and "all" isn't acceptable.

  98. Binary by fizzer06 · · Score: 1

    Program via the toggle switches on the front panel or go home. Paper tape is for wusses. (IMSIA 8080)

  99. Re:Forget Autocomplete by Todd+Knarr · · Score: 1

    Not production. The servers exist in a data center that's separate from the office network the developers work on (it's not even in the same state). The Windows networking ports are blocked because most of the services that use them aren't supposed to cross the boundary between the office network and the data center. The development and test servers aren't supposed to have the build tools on them, to make sure that when we create a build it's not going to accidentally depend on something that won't be present after the development stage. On the Unix side it's never been a problem, it's easy to install the libraries and debugger and editor without installing the header files or Makefiles or lexx/yacc and the like. On the Windows side the IDEs are so monolithic that the admins can't (or won't) figure out how to install just specific bits of them and have it work (installing just bits is easy, but getting the right bits to satisfy all the dependencies without pulling in the bits that we don't want is another matter entirely) and so they're forbidden entirely. It's an utter mess, and I'd be more sympathetic to the idea that it's the process and organization rather than the tooling except for the fact that we can and do do exactly what we want with tooling that's not based around an IDE so it obviously is readily doable.

  100. The same argument has probably been made by melted · · Score: 1

    The same argument has probably been made back when engineers were switching from punch cards to text editors. All of it has happened before, and all of it will happen again. To me, it's not what you use, it's what you do with it. I work in an environment where most people use vi or emacs to program in C++. I can code circles around them in Eclipse, even though it's not "cool", with less effort, and better code in the end (thanks to refactoring features and code tooltips). I do use vi as well, for smaller, simpler changelists. But for something a couple hundred lines or more - forget about it.

  101. What a stupid question! by mtthwbrnd · · Score: 2

    Does driving your car make you less able to walk?
    Does turning on the tap make you less able to dig a well?

    What do you want? Do you want us to only write 1's and 0's to prove how "pure" and "clever" we are!

    Of course IDE's are better. They are designed to make us more productive. Yes, some people are very happy with vi or emacs. Good luck to them.

    But IDE makes better programmers because they can focus on the problem they are trying to solve rather than truing to remember the exact syntax and semantics of how to do it.

  102. Proof Things Have Gone Downhill by crywalt · · Score: 1

    If /. were still true to itself there'd be an argument between vi zealots, emacs fanatics, and ed enthusiasts, with one lone guy crying out about EDT.

  103. Re:Isn't the real proof by Darinbob · · Score: 1

    And many of the worst pieces of code in the world have made their authors rich.

  104. Re:Yes, if you rely on boilerplate code it generat by Gavagai80 · · Score: 1

    I use kate. The syntax highlighting lets me see at a glance when I've made a mistake, there's some useful tools, but it's still lightweight enough to stay out of the way. When I've used IDEs it feels like they're getting in the way throwing unnecessary distracting stuff at me and second guessing everything I type.

    --
    This space intentionally left blank
  105. It depends on what you mean by an IDE by Casandro · · Score: 1

    I've recently tried both Visual Studio and Eclipse for C. I have to say they are both where Pascal IDEs used to be in the 1990s, though Eclipse is a few years ahead.

    However all that is just a part of the environment you develop in. It's more than the editor and compiler. It's also the operating system (in a wider sense) you are developing and deploying in.

    It makes a difference whether you have a well structured system in front of you, where you can reach your goal by a series of orthogonal steps, or you have some knocked together system which barely works and is missing essential tools.

  106. Nickles... by speedplane · · Score: 1

    If I had a nickle for every slashdot post with the title "Using an IDE makes you a faster/slower/dumber/smarter/sexier/thinner/holier/racist/terrorist programmer", I'd be a richer man

    --
    Fast Federal Court and I.T.C. updates
  107. there are stupid questions by Tom · · Score: 1

    I get the impression we've discussed this particular question at least twice before on /. but I'm too lazy to search.

    Like every tool, an IDE per se does not make you anything. It doesn't make you better if you're crap and it doesn't make you worse if you're good.

    Overreliance however, does make you worse. If you are a good programmer, you can work with or without an IDE and depending on your style and habbits, it might or might not make you a bit faster or productive or reduce errors or whatever. Basically, it comes down to personal preferences - whatever works for you.

    However, if you cannot program without using an IDE, then you are a crappy programmer. If you use a tool, that's one thing. If you require a tool (that's not required by the task per se) then your skills are lacking.

    --
    Assorted stuff I do sometimes: Lemuria.org
  108. Pedant point by colinrichardday · · Score: 1

    from a /bin folder

    Wouldn't that be a \bin folder?

  109. I've found... by unwesen · · Score: 1

    ... that all the work other programmers do in the IDE, I do by hand whilst my mind solves the next problem.

    So far I haven't encountered an IDE that lets me habituate these tasks as easily as my plain old text editor does. That means no IDE so far lets me parallelize my efforts in the same way as my text editor. Though I would be the first to admit that habituation is also - but not exclusively - a question of how long one tries.

    It's not that IDEs are bad, it's that in my experience they're in the way of my being effective. In part, it's because they rely on the use of a gesture device so heavily - anything that lets me use the keyboard tends to be better for me. Insert obligatory personal/anecdotal evidence warning here.

    I think there is an argument to be made that IDEs with fairly complex UIs will resist habituation, and many IDEs fall into that trap. Whether or not that's true should be examined carefully rather than debated aimlessly, though - and even if it's found to be true, then an entirely different question would be whether better habituation *generally* leads people to parallelize tasks, as I described above.

  110. Let the developer choose their tools by themself by koinu · · Score: 1

    I am quite experienced in developing software (daily job for over a decade) and I wrote millions of lines of code. I don't use an IDE because I don't like to depend on much software while developing. It also helps to be portable (which is quite important!) and helps to hop to other workstations without headaches. And lastly an IDE does not have the power of a decent text editor (which is quite obvious, because such a decent text editor has been optimized for many years to support programmers and it can never compete with this massive crowd of people steadily improving things).

    BUT...

    ... I don't like to tell people what they should use. Many people feel comfortable with an IDE because of the alternative form of completion and code navigation. This is ok, if they are efficient. If I was forced to use an IDE-based editor which does not integrate my favorite editor, I would miss about 95% actions which I use very intensively to get my work done quick. It's like some took away my hammer (tool) and gave me a shoe (wrong tool) to put a nail into a wall. I always say: it will work, but it will take longer, because it slows me down.

    Fortunately, most people respect my choices because I am one of the more important developers in our company, but I can see that many companies actually force tools upon developers, which is quite bad in my opinion. Tools are always to be selected for a specific problem. Programming happens in the brain. Tools are just supporting the output. Consequently it does not depend on what tools you use to decide if you are a good developer (I admit, it can be a hint) but on the way you approach problems.

  111. Many programmers seem to treat it like it is by Sycraft-fu · · Score: 1

    I think part of that is because for many of the programmers who aren't very good, that is mostly what it is. Like those programmers you find that can only do Java, because that's what they were taught in university. They didn't actually learn how to solve problems, they memorized Java syntax and grammar and can now, poorly, apply it to attempting to solve problems.

    Also you seem to see some programmers who think it is at least part of what makes it mysterious, difficult, or "hardcore" or whatever. You see them on Slashdot hating on IDEs as various kinds of crutches and saying that only by programming in a good text editor do you REALLY understand what you are doing. They seem to worry that if what they do is accessible, then anyone can do ti and they'll be worthless.

    Of course as you point out that isn't what good programming is about. It is about problem solving, a very particular kind of problem solving at that. However there are plenty of programmers who aren't very good, and for a number of them I think memorization is how they try to convince themselves they are useful.

  112. The right tool for the job by NoEvidenZ · · Score: 1

    Being a good programmer is as much about using the right solution for a problem as it is using the right language or system for a solution. .Net isn't the right tool for every job, neither is PHP.

  113. Re:Yes, if you rely on boilerplate code it generat by coolmadsi · · Score: 1

    The most common type of code I get an IDE to generate (for Java) is hashcode and equals. I could write it myself, but it is very important that they are done correctly, and an IDE will do it quicker than I could anyway.

  114. Non IDE == Amish programming by Anonymous Coward · · Score: 1

    Programming in a text editor is like carpentry without power tools. Sure you can do it but why lower your productivity.

    You should use the proper tools available for the appropriate job.

  115. Is this a serious question? by Digital+Vomit · · Score: 1

    "Does using a word processor make you lazy with the language? Would you be better off programming with punch cards?"

    --
    Modern copyright is theft of culture from everyone and it retards the progress of the useful arts and sciences.
  116. Who are "most people" by cyber-vandal · · Score: 1

    I copy the debugging symbols file to the web site directory, open up the equivalent source in Visual Studio, select the server it's running on and Attach to the process. Not exactly difficult and I didn't start the program from the IDE.

  117. Same answer to any headline that ends in a "?" by slapout · · Score: 1

    No.

    Craftsman use tools.

    --
    Coder's Stone: The programming language quick ref for iPad
  118. Do not let your IDE take control of building by Daniel+Hoffmann · · Score: 1

    Really, the IDE Fx (replace x with 1 to 12) key is not a build tool. You can have the ide call your build tool, but you need to have a proper build tool. Be it make, imake, ant, maven, .sh script, .bat script, just have a properly maintained and documented build process for gods sake.

  119. Depends by yalos · · Score: 1

    It is silly to think about somebody that programs in these days using Notepad. It is possible in theory but, come on! A programmer should not struggle to do her work. I think it was Joel (on Software) that mentioned some very important rules about programming: 1. A programmer should always be able to step into her code. 2. A programmer should always be able to inspect the state of the program (variables/registers/memory/...) However, it is very questionable to rely on a particular IDE/tool To a serious extent it is even questionable to rely on a particular language. Being a programmer is about developing programs. About algorithms. The ability to develop algorithms that address one problem or another is the trademark of a professional programmer (and sometimes it is hard to get). I have seen in my professional live wonderful IDE-s raising and even dying (take Delphi for example). I have seen the advent of plenty of new programming languages. And, while understanding that there is a time and a place for everything (yes, I did program using Notepad at some point in my live and yes, I do use Visual Studio/Eclipse/XCode today) one thing never changes: I always develop algorithms.

  120. "using" is not "relying upon" by mr_mischief · · Score: 1

    Using an IDE doesn't hurt you as a programmer. Relying upon one when coming up to speed with a new language may not hurt you either. Continually relying upon one surely hurts. Using one as a productivity enhancement while being able to program without it should be the goal.

  121. Use the best tools available to you by Aaden42 · · Score: 1

    Eschewing useful tools out of fear of being a “bad” programmer makes you a bad programmer.

    It doesn’t matter how deep your knowledge of the language or environment is. A well configured IDE will allow you to complete your job more quickly. It makes research navigating around a codebase much more straight forward. There’s no reason to do textual searches in a simple text editor when an IDE can parse the language and show you actual references to a symbol, not just things that happen to be named similarly.

    All of the “uber” programmers I’ve known who avoid IDE’s are universally less effective than even mediocre programmers who use tools to make their jobs easier. The type of programmer who avoids tools out of the belief that doing it “by hand” is better generally waste more time tweaking their environment, going on architecture astronaut treks, and generally doing everything they can that isn’t actually writing code that gets the job at hand done.

    Car analogy: You can change a tire with a wrench, and maybe a long piece of pipe to use for leverage. Or you can use a pneumatic impact driver and get the job done quicker, with less damage to the bolts, and put back together tighter (less chance of bolts loosening, tires rolling down the road without you). Any mechanic who tried to hold themselves up as a hero for doing it the hard way would be laughed out of the shop (and probably out of a job).

    Be a Software Simian. Not using tools just makes you a dumb code monkey.

  122. The Gospel Accodring to VI by carrier+lost · · Score: 1

    Nowadays I only write scripts (PHP, Perl, Python, Bash, sh) and I debug with print, error_log, echo and exit/quit().

  123. No, but... by Chelloveck · · Score: 1

    An IDE doesn't make one a bad programmer. However, it does provide enough of a crutch to fool bad programmers into thinking they're good programmers.

    --
    Chelloveck
    I give up on debugging. From now on, SIGSEGV is a feature.
  124. Re:Isn't the real proof by Keybounce · · Score: 1

    In what you earn from doing what you do?

    That is the business man approach. "Your value, your contribution to society, the quality of what you do is determined entirely by your ability to make money from what you do".

    No.

    Skill at an art is not the same as skill at marketing that art. And it's different yet from skill at making a profit from marketing something that someone else did.

    Skill at business isn't the same as skill at _blank_
    Skill at marketing isn't the same as skill at _blank_

    When did Einstein's paper on the photoelectic effect, or his paper on random walk of atoms (sorry, the name eludes me this morning) become "skill"? He got his Nobel for some other paper he wrote, where all he did was point out that the three basic assumptions of physics that people used were contradictory, and what happened when you only assumed two and let the third go by the wayside.

    Well, in fairness, pointing out that common assumptions are contradictory probably is Nobel worthy. I'm sure Godel got a Nobel for doing that to math and logic, right?

    (actually, I don't know if Godel got a Nobel for his incompleteness work.)

    ---
    Side note: How do you get angle brackets in this text? I had to change those to "_blank_" because I could not use angle brackets around the word "blank".

  125. Re:Isn't the real proof by Keybounce · · Score: 1

    EDIT: Brownian motion. Brownian motion. I can't actually find an "edit post" button.

  126. Yes. by whitroth · · Score: 1

    Notepad, though? Seriously? At least you might be able to run Brief, if you can find an old copy, the best programmer's editor ever.

    Meanwhile, excuse me, I need to go vi that file here at work.

                    mark

  127. Re:Forget Autocomplete by Todd+Knarr · · Score: 1

    Simple: file shares on machines in the data center may not be accessible to users on machines in the office network and vice versa. Personally I consider that a sensible thing, people are going to use weak passwords and vulnerabilities are going to exist (and they're particularly rampant in the Windows services multiplexed over the NetBIOS and related ports) and the best defense is to simply not have those services accessible where access to them isn't needed. If anything, you'll find me arguing that this just highlights the desirability of environments and platforms that have less of an all-or-nothing approach to services and tools so that we don't have the problem in the first place.

  128. IDEs allow both good and bad programmers to work by servant · · Score: 1
    Nothing against IDE use, but it is my observation that since going to languages that obfuscate the hardware, we have all become lazy in how our code actually runs.

    I used to whine to friends that didn't care they were using more cycles than needed to get a problem done. They would just make the minimum user requirements to include a faster computer. Yes, with enough power pigs can fly.

    IDEs have their place, but so does vi and assembler (it has been ages since I really wrote a program in binary, but yes, I have done that too).

    So in conclusion, I think it takes more vigilance on the part of the programmer to write good code using IDEs. But so does OO languages, and interpreted and pseudo-interpreted languages to keep the program workable, maintainable, tight, and reduce code and data bloat.

    --
    ... "When you pry the source from my cold dead hands."
  129. Re:Forget Autocomplete by Todd+Knarr · · Score: 1

    That would've been my thought, but if you open up the NetBIOS ports through the VPN it still allows access to services that access to is forbidden so they'd have to block those ports over the VPN and we're right back where we started. And I gave up arguing the point with them because I could still get my work done and I had higher-priority things on my to-do list to spend my time on.

  130. It depends by vilanye · · Score: 1

    If you need an IDE to be able to do anything at all, yes you are a bad programmer.

    Sure, it makes you more productive and helps with testing and building, but it also hides the details that you really do need to know.

    If you can write good code without auto-complete and refactoring tools and test them manually and manually build the software, you are good to go.

    IDE's are all too often used as crutches by people who treat programming as a black box.

  131. IDEs by Xylene2301 · · Score: 1

    I was taught in my Theory of Programming Languages class that the effectiveness of available IDEs for a language was one measure of a language's useability and I wholeheartedly agree.

  132. Re:Isn't the real proof by mpeskett · · Score: 1

    I can't actually find an "edit post" button.

    There isn't one. I've never been 100% sure whether this is deliberate and intended to promote careful checking before pressing submit, or if it's just because something in the code has been broken since forever.

  133. Reliability vs Choice by Jmac217 · · Score: 1

    You can know how to use a terminal on a headless server, write your C code in VIM or EMACS, and compile your code with GCC, and be totally content and remove any overhead, but as long as you understand these tools I don't see any harm in using a program that links your libraries and throws you right onto the starting line with the click of a button. You can only write the same 20 lines of code and manually set paths so often before you're writing your own templates and doing the same thing the IDE would do for you anyway. It's typically natural to start programming in an IDE, but those who rely on it, rather than choose to use it, and never eventually venture down to the command line to build their program from scratch are only seeing half of the picture and will never fully grasp the basic concepts of what they're doing.

  134. Re:hah php programmer by vilanye · · Score: 1

    +1

    Anyone who uses PHP can be safely ignored.

  135. Ummm no. by VirtualJWN · · Score: 1

    Whether you code in notepad, vi, or whatever in text, or use an IDE, that has absolutely nothing to do with being a good or bad programmer. Having been a programmer for over 20 years, IMHO what makes bad programmers is "object oriented languages". First, I'm sorry C# is not a language, anymore than VB.NET, JavaScript, or PHP is. They are methods of scripting using major parts of other peoples code. When complete, the script can in some cases be converted to binary and used sort of like a real language module, but NO C# is not a language. the fact that Microsoft chose to use "C" in the name is a fraudulent attempt at best to give stature to a scripting tool that falls very short of the mark. Scripting languages are a way to make programming "more accessible" to the masses, but they are not a good way to build applications. C# and VB.NET are SO heavily separated form the "programming" that a new word should be defined (just like all the terminology that was altered to match up with the "hipster" object oriented stuff. Won't see robots programmed with Object oriented code (at least not important ones) nor nuclear reactors, space craft, airplanes, or even cars. WAY too bloated and slow to be of use for anything other than transaction processing. Don't know why someone would dis IDE's and not see how sloppy and frankly unskilled coders today actually are. Borland had IDEs for "C", so did IBM and even Microsoft (though Programmer sWorkbench was more of hammer than a scalpel. There were IDEs for Pascal before that was cool as well. Trouble was people who wanted to be programmers wouldn't or couldn't work with pointers, arrays, structures, and other complex aspects of programming. That is what game us Visual Basic in the early 1990s. Arguably the first wide spread object oriented language (albiet one that didn't do much useful). then of course C++ (essentially extra headers and classes to "C") riding ":C"s popularity as well. I could live with C++, as you could still do "real programming" with it. C++ compiled down to reasonable size, yet still provided hardware interaction. All the "new scripting tools" like C# and VB.NET are is fancied up ASP. SO PLEASE don't go making fun of how others "code" before you understand why most of the "coders" today really aren't coders at all but actually scriptwriters, copying other peoples work (good or bad).

    --
    "Any sufficiently advanced technology is indistinguishable from magic." - Arthur C. Clarke
  136. IDE just a tool by dev.yauri · · Score: 1

    I don't think if IDE can make you a bad programmer but otherwise it can helps you to be a better programmer. I think IDE is just a tool to help you finish your task. IDE tells your mistake, help you to write better code, in short words IDE save your time and let you focus on problem you have to finish. I agree with "being a good developer isn't about memorizing the language specific calls, it's about knowing the available ways to solve a problem and solving it using the best technique or tools as you can." Can you imagine if there's no IDE at all? Think about present situation not in the past where there were not many programming languages.

  137. Re:Forget Autocomplete by vilanye · · Score: 1

    You guys are getting off track.

    If you can't debug without an IDE, you should not be programming.

  138. Hollerith cards make lazy programmers by Dabido · · Score: 1

    All those young whipper snappers running around with shoe boxes full of punched cards! Lazy bastards! Just toggle it in like a real programmer!!!!

    --
    Sure enough, the cow costume was hanging up next to the superhero outfit and sailors uniform. (S,Spud)
  139. Yes, unless it's Emacs by descubes · · Score: 1

    Emacs is complicated enough that it makes you a better programmer just to use it.

    --
    -- Did you try Tao3D? http://tao3d.sourceforge.net
  140. Re: by RabidReindeer · · Score: 1

    I am new to programming and I'm using Bluefish running on Linux. It's a great way to learn using an IDE, that's for sure!

    But you didn't mention whether it was a great way to learn programming.

    That's what all the excitement is about. I often have to point out to the inexperienced that when they come for advice, I don't care what their IDE setup is, because the IDE won't be there when the app runs in production.

  141. Yes and No by jafwatt · · Score: 1

    Relying on IDE alone will give you problems when your IDE lets you down. An IDE is still a piece of software with bugs and feature gaps. If you can't fall back to a non-IDE dev process then you are too reliant on a single tool and not a prepared programmer. That said, modern IDEs have so many productivity aids that you would be extremely unwise not to use one as your 'primary' tool.

  142. It all depends on the IDE by cwsumner · · Score: 1

    The answer is different for different IDEs. Some are made to be stupidly easy, for beginners. Some are made to fill in gaps in professional systems. Most are just stopgaps.
    As said here, an IDE can help both beginners and professionals. But they can hurt people trying to get from the former to the latter.

    To work for both, IDEs need this:

    Help the programmer to make modules quickly, as generating with templates.
    The generation should be driven by setups such as dictionary definitions.
    Allow the programmer to modify the modules as necessary, using the method they prefer.
    Help the programmer to find the defined symbols and structures and cross check for errors.
    Be able to repeat the generation many times over the life of the app, without loosing the mods.
    Be able to link in modules generated in other ways, as in external source, DLLs or APIs.
    Use modules in more than one language.
    Use different databases and file types in the same app.
    Generate fully linked native code, as well as other scripts.
    Allow the programmer to write new template scrips to generate specialized modules, and derive them from existing templates.
    Have robust third-party add-ons available to expand capabilities.
    Have a Debugger that can show you what is happening from source level down to assembler and Hex level.

    I use the Clarion rapid application development system. It is not perfect, but it at least makes a start at all of these.

    It keeps the application information in specialized databases for the app modules and the dictionary.
    It has an embed editor that shows you the source but enters your new code into the app database, so it is included on the next make. Or the next edit.
    But it also has a text editor for looking at the generated (or external) source.
    The proprietary Clarion language has native types for tables, queues and dynamically assigned strings.
    But it also has compilers for small modules in C/C++, Modula-2 and Assembler.
    And it re-generates changed modules on every make before the compile and link. Fast.