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?"

627 comments

  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 Anonymous Coward · · Score: 0

      I probably should also add that IDE generally having debugging tools built in that programs like notepad don't really support.

      Now being a PHP programmer and not having debug tools, I could just dump what I want to see to the screen however not all .Net applications can do this easily. Yeah building a .Net site might be able to easily enough but building a Windows form application, not so much.

      Obviously, there are pros and cons to using various IDEs with various ones costing a small fortune (Visual Studio - unless you want the express edition which is actually does everything I need and is allowed in a commercial environment) or the ones that don't need a bunch of configuration.

      Visual Studio comes with the compiler already configured and ready to go when it's installed. Geany, my text editor of choice for PHP, could let me do .Net development IF I configure it for debugging and compiling. Not a terrible thing, just that extra thing I need to do.

      I will admit though, I am also biased to the default syntax highlighting colours. I like programming C# in Visual Studio because it's default syntax highlighting is awesome for the dark theme (in the latest versions of Visual Studio). I like programming PHP in Geany because it is such a simple editor and I like it's default syntax highlighting.

      I can change it's syntax highlighting but I have no real reason to, I'm quite comfortable with my tools and happy to keep on programming with them.

    5. 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.

    6. 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.

    7. 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.

    8. 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
    9. 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.

    10. 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?

    11. 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.
    12. 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?)

    13. 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.

    14. 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.

    15. 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."
    16. Re:No by Anonymous Coward · · Score: 0

      Would you want your software developer developing airplane/bridge software without an IDE

    17. 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.

    18. Re:No by Xicor · · Score: 0

      i love QT, but anyone who uses visual studio is silly. it is one of the worst IDEs out there... and to make matters worse, you can basically only program in .net with it.

    19. 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."
    20. 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
    21. 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.
    22. Re: No by Anonymous Coward · · Score: 0

      Only if you have a rubbish IDE. I spend a lot of time in PyCharm and that provides hints when it detects that I've written something non-Pythonic and then suggests fixes.

    23. Re:No by JustOK · · Score: 2

      It's psteudeo

      --
      rewriting history since 2109
    24. 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.

    25. 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.

    26. 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."
    27. Re: No by Anonymous Coward · · Score: 0

      "i love QT, but anyone who uses visual studio is silly. it is one of the worst IDEs out there... and to make matters worse, you can basically only program in .net with it."

      Nonesense. I write perfectly functional code in Visual Studio. And I don't need to use the features of .NET. I can if I want, but I don't have to. I've written c and c++ code, including modifying code written in Visual Studio 6 (way before .NET). I've never done anything useful in Qt, but I don't think you're silly just because you love it. Kindly show me the same respect.

    28. 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.
    29. 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.
    30. 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'
    31. 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"
    32. 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.
    33. Re:No by Anonymous Coward · · Score: 0

      It's more like giving a functional illiterate a spellchecker. It might point out the really obvious stuff, but it's not going to tell him that he misspelled "by."

    34. 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"
    35. 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.

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

      Is that the fault of the tool or the carpenter?

    37. 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.

    38. 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.
    39. 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
    40. 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.

    41. 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?

    42. 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?

    43. 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.

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

      Who is Kaley Cuoco?

    45. 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.

    46. 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.
    47. 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.

    48. 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.

    49. 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.

    50. Re:No by Anonymous Coward · · Score: 0

      Likewise notepad, VI, emacs are passe arts.

      While I'm not going to disagree with you on notepad, calling vi (well, vim) and emacs "passe" is taking it too far. There are a large number of very productive people (and good coders) who use vim and emacs to do their coding.

      The reason, though, that using vim and emacs allows people to be very productive (and good coders) is that vim and emacs aren't just text editors. Modern emacs and vim *are* IDEs. (Integrated Development Environments). Basically, every snazzy feature that supporters of modern IDEs tout (code completion, call graph lookup, debugger integration, etc.) has been implemented in vim and emacs - either in the default package, or as an easily installable add-on. The only thing that they really don't have is GUI builders, and when people say "IDEs make you a bad programmer", what they're usually referring to is GUI builders anyway.

      That said, the learning curve for such use of vim and emacs (hell, the learning curve for *basic* use of vim and emacs) is so severe that I wouldn't necessarily recommend it to beginning language learners, unless "learning to program X with emacs/vim" is their explicit goal. Trying to learn basic language rules while simultaneously trying to remember that you press ctrl-meta-shift-vox dei stop-c to start a compile is a little much.

    51. 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?

    52. 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.

    53. 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'
    54. Re: No by Anonymous Coward · · Score: 0

      I think throwing around random analogies isn't helping, and people should stay on target... however, an IDE DOES seem akin to an xwings torpedo guidance system. Too bad not all of us have the programmer force.

    55. 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.

    56. Re:No by Anonymous Coward · · Score: 0

      I love Qt Creator. It's the only IDE I've ever liked. Visual Studio* is primitive, awful, and slow.

      * Speaking as a C++ developer who has only used 2010 and earlier.

    57. 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.
    58. Re:No by Anonymous Coward · · Score: 0

      Using screws instead of nails in house framing earthquake-prone areas is stupid, and is rarely up to code in the US (there are some places like CA that allow specialized screws for the purpose, but only in certain zones that are less earthquake-prone). Screws resist pulling out very well, but they are also more brittle than nails - in an earthquake where shear forces are prevalent, they may fail entirely (snapping under the stress) rather than simply flexing a little as a nail would. In an earthquake, you WANT some flex because the brittleness of rigid structures exposed to shear forces is a danger (see also masonry construction).

    59. Re:No by Darinbob · · Score: 3, Funny

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

    60. 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.

    61. 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.
    62. Re:No by Anonymous Coward · · Score: 1

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

    63. Re:No by Anonymous Coward · · Score: 0

      I Emacs as well. A few of my coworkers use Netbeans and it seems to really slow them down when it's busy scanning files for code completion or they have to use their mouse to open files.

    64. 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).

    65. 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.

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

      I thought it's Sussudio.

    67. 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.

    68. 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.
    69. Re:No by Anonymous Coward · · Score: 0

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

      Yes.

      A former coworker of mine once wanted to reference something with a pointer to avoid copying it. Sadly he didn't understand the syntax of the language which led to not only the entire object was passed as an argument to the function, it was also copied into a temporary storage area before usage.

      I can't blame the IDE entirely on it but it was the tool that enabled him to "try until it works".
      He knew what he wanted to do but the IDE made it easier for him to not read up on the syntax and just do what worked.

    70. Re: No by Anonymous Coward · · Score: 0

      So you like an IDE that prefers replacing readable code with barely-understandable Pythonic crap? :-)

    71. Re:No by Anonymous Coward · · Score: 0

      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.

      I'm not so sure. You'll be teaching them to depend on the tool, and you end up with people who look at alternatives think they're crap because they aren't exactly like their IDE of preference.

      I personally do a lot of work where IDE's don't really exist, aka: embedded system development. I imagine you could configure some IDE's for it, but vim is excellent, and much faster to use than gui popup menu-hell editors.

    72. Re:No by Anonymous Coward · · Score: 0

      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.

      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

    73. Re:No by Anonymous Coward · · Score: 0

      No, anybody who wants a quality house will use bricks and mortar!

    74. 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.

    75. 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.
    76. Re:No by Anonymous Coward · · Score: 0

      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.

      More like he proved the point he was trying to disprove.

      All toddlers use aids to get upright until they build the muscles required to no longer need the aid. As such, he attempted to show that IDEs were aids to assist the infirm, implying that developers who used them were deficient. Then he used an example were aids are required to learn the task, due to lack of developed muscles and coordination which the aid mitigates.

      In other words, he argued with the skill of a Slashdotter, and will probably take offense now. I can nearly hear the explanation on how this argument really makes sense once one smears petroleum jelly on their glasses and views it through a polarized lens at 37 degrees from the horizontal.

      If one wanted to be smart instead of right, they'd notice that criticism is a sign of a mistake made, which is an opportunity to learn. Then after finding the lesson and learning it, future mistakes of this kind would come less frequently. Unfortunately, we tend to live in a society where error is tantamount to failure, and learning opportunities are squandered by people attempting to avoid failure at any cost to future learning.

      Yes, I'm annoyed, a bit bitter, and being a grouch. But I'm right on this one.

    77. 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.

    78. Re:No by Anonymous Coward · · Score: 0

      Anybody who wants a quality house will use screws and glue.

      I'd use bricks and mortar.

    79. 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.

    80. Re:No by Anonymous Coward · · Score: 0

      Exactly where do you find a GOOD IDE? Visual studio is a disaster. Example: Yesterday I had to spend 5 minutes figuring out how to turn on line numbers in my code. Where would you look? Under View? (That is where I initially looked). Nope. It is 3 levels deeps somewhere else (I forget where). I imported a project file. It listed some .c files, which it couldn't find. You think it would be easy to find out where it was looking? Good luck with that. Good luck figuring out how to add a new library in to compile with, too.
      And though I pick on Visual Studio, it isn't as if any of them were good.
      Yes, I can get color coding of my code to help me if I make any basic errors. I have been able to do that for 30 years. When is someone going to develop and IDE that can take care of the rest of the stuff?

    81. Re:No by Anonymous Coward · · Score: 0

      IDE with good debugger is a valuable tool when you are learning.

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

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

    83. 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.
    84. Re:No by BitZtream · · Score: 0

      Your first sentence makes you unqualified to continue speaking on the subject.

      Sorry, but everyone on all sides of the fence who isn't just a biased fanboy recognize that VS is one of if not THE best IDE in existence.

      I say this as someone who doesn't have a single Windows machine anywhere in his home or business.

      If it took you 5 minutes to turn on line numbers, you're a moron. Even if it was that hard to find (it isn't), you should have googled for the answer before you ended the first minute.

      Click on the file, look at its properties, where it shows the full path, and has since visual studio 6 (15 fucking years ago at least)

      Add a new library to compile? As in a project? You add the library to your solution and make it a dependency of the project that depends on it. Done. It'll be built when changed and linked in. Or you could do it the old way and just manually link the library instead.

      Your problem isn't the IDE, its you.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    85. 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".

    86. 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
    87. Re:No by K.+S.+Kyosuke · · Score: 1

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

      --
      Ezekiel 23:20
    88. 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?

    89. 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.

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

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

    91. Re:No by Anonymous Coward · · Score: 0

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

      ===
      In my view, an IDE enforces a style. Java, Python, C++, C , Assembly Language and even shell scripting have styles of coding.

      A style of coding, to me is about indention, white space, brace management etc.

      Now for clarity, an IDE can and does contribute to design clarity and to improved time to development. The fact that you can hide functions that work, so that your window of view is uncluttered is a great plus.

      But, there are diehards, who will not give up on VI (VIM).
      What is there to say.

      Leslie in Montreal

    92. Re: No by Anonymous Coward · · Score: 0

      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....

    93. 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....

    94. Re:No by Anonymous Coward · · Score: 0

      I don't even think it's a question of "knowing" the language. Of course you must. It's laughable that anyone using Notepad++, or something like that can match the PRODUCTIVITY of an IDE. Using various frameworks in Java (my LOC), is extremely labor intensive, but not impossible. Try managing your build scripts, conf files, and code for anything but the smallest project by hand and you'll be tearing your hair out in a couple of days. Not to mention collaboration, source control, daily builds, etc.

    95. 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.

    96. 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.

    97. 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.

    98. Re: No by Anonymous Coward · · Score: 0

      I agree. Going back to notepad can also make sure you can work through the syntax; it's like a workout or refreshing jog. I imagine most programmers see their choice of IDE as hugely time-saving.

    99. 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.

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

      JetBrains makes some good IDE's

    101. Re: No by Anonymous Coward · · Score: 0

      Barely understandable crap? You're thinking of Perl. It's possible to write obfuscated code in any language (as the Obfuscated X Contests show), but Python isn't particularly worse in forcing an obfuscated style than most other languages. Perl on the other hand...

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

      +5

      You pretty much nailed it.

    103. 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

    104. 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
    105. 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 :-)

    106. 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
    107. 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.
    108. Re: No by Anonymous Coward · · Score: 0

      "Cut down the largest tree in the forest ... with a herring!"

    109. Re: No by Anonymous Coward · · Score: 0

      I would rather know enough about a language, to be able to write an IDE for those who want to buy one. I use vi..., not because it is easy (notepad), because it is a good programming editor for those that code - BUT - you have to learn how to leverage those things, plus it was designed to work over a comm port at slow speeds. I think an IDE shelters you from not knowing enough to do what you say you can do. No, not thinking IDEs do a programmer make. Not only that, some of the code generation that some of these paste in there for you, is too general, and often far from optimal. So they generate the same bad code over and over, the one thing they do well, is generate questionable code consistently. It may make your development time shorter and get possibly to a proof of concept. That is prototype coding, to get to a plan of action - or to sell an idea to a non-programmer, your prototype is almost never optimal, So, no, not real fond of IDEs.

    110. 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.

    111. 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.
    112. 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.
    113. 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-)

    114. 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.

    115. Re:No by Anonymous Coward · · Score: 0

      Not at all, in fact it may make you a better programmer. Rapid prototyping, saving compiler settings (thus ensuring everything is compiled correctly), availability of simultaneous editing (with some IDE's), etc... Using IDE's does not make you a bad programmer, just more efficient. Just make sure you know what the IDE is doing, if the IDE is the magical thing that turns code into a program for you, then the IDE isn't making you a bad programmer you already are a bad programmer.

  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 Anonymous Coward · · Score: 0

      > all the IDEs I've tried have certainly been able to use autotools
      You say that like it's a good thing.

    3. 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.

    4. 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.

    5. 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.)

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

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

    7. 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.

    8. 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?

    9. 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?

    10. 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.

    11. 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.

    12. Re:Yes by Anonymous Coward · · Score: 0

      I imagine you think carpenters should scratch the wood away with their fingernails, that doctors should gnaw into you with their teeth, and farmers should plow a field with their bare hands too.

    13. 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.

    14. 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.)

    15. Re:Yes by Anonymous Coward · · Score: 0

      (it is common to have between 40 and 100 files open)

      Yeah, and it is "common" to have 40 to 100 tabs open in browser windows too. Seriously, if you have more than a handful files open at once, give up, you are lost anyway.

    16. Re:Yes by Anonymous Coward · · Score: 0

      The others have been doing the same things for so many years that they don't need no IDE nor API doc?

    17. 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).

    18. Re:Yes by Darinbob · · Score: 0

      Sometimes that autocomplete gets in your way too (not that autocomplete is IDE specific). I've seen a lot of cases where a name of a variable or function is obviously a typo, and yet it is used with that mispelling everywhere. It seems that people just keep using the autocomplete and the typo keeps replicating.

      I was working on a medical device for over a year before I realized that "saclingFactor" was a typo, I thought it was some sort of medical terminology.

    19. Re:Yes by Anonymous Coward · · Score: 0

      CTRL-SHIFT-Cokebottle

    20. Re: Yes by Anonymous Coward · · Score: 0

      Even not knowing all the ins and outs of a program does not necassarily make you a bad programmer.

      I ended up working as a programmer for a few years, my only prior experience was from university (java with basic text editors). The amount of code and frameworks in a multi-million line distributed java application can be quite overwhelming, and ide or not I could not set anything like that up years later without spending days investigating each framework. But the ide made code navigation a breeze, finding where a class is used, suggesting a better way to define a loop, telling me how much of my code is covered by the unittests and highlighting uncovered parts etc.

      Not knowing how to do something without an ide is usually a problem if you cant figure it out when you actually need it.

    21. 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.

    22. Re:Yes by Anonymous Coward · · Score: 0

      Or use magnets to edit the inodes (somewhere on userfriendly.org, but can't find link right now)

    23. 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.

    24. 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 ...

    25. Re:Yes by Anonymous Coward · · Score: 0

      I work in environments which are complex and poorly documented, where the dev who wrote the code left four years ago or is on another team now.
      I am expected to chase down defects in applications I haven't ever worked with before, I am expected to do it TODAY; either I can spend a week familiarising myself with the code base, or I can use autocomplete and feel my way through.
      I work with large existing code bases, without autocomplete how am I supposed to know there is already an extension method (for example) or class to do what I want to do?

      There are two options; either I read through every bit of code (say 10,000 lines), or every time I prepare to write a new function on a class I search to see if there is 'something' which already does what I want (I wonder what keywords I should use, what did the previous dev call it?) AND then rely on my memory three, six or twelve months down the track to ensure that next time I run into a similar problem I don't reinvent the wheel OR autocomplete can tell me the extension method exists instantly.

      And I use Entity Framework, are people seriously suggesting I should waste my time writing boilerplate property bags hooked up to ADO when there is a tool which does it for me? And I use LINQ, there are dozens of extensions with loads of weird and wonderful overloads and parameters. None of which would be an efficient use of my time to memorise if it were even possible.

      If you aren't using autocomplete you are either; working on a toy hello world system, working on code from the 80's, a genius, wasting your time .

      The exception was during college, as a previous poster mentioned it was really useful to get under the hood writing C++ and Java long hand, but completely impractical for a modern app.

  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
    2. Re:Yes it does. by Anonymous Coward · · Score: 0

      Notepad? What kind of Window-Icon-Mouse-Person (WIMP) uses that?

      I input all my programs though the power cord. After 40 years I have mastered the art of loosening the plug from the wall socket and glitching the power just right so as to scramble all the memory into exactly the desired pattern.

  4. Yes by Anonymous Coward · · Score: 0

    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.

  5. 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 Anonymous Coward · · Score: 0

      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.

      Serious answer: That all depends on what IDE you're using. An IDE can be anything from a simple syntax highlighter to a whole lot more.
      Real answer: REAL programmers code in raw machine language, manually writing each bit to the storage medium using direct controller access, so an IDE is simply not even part of the equation!

    9. Re:No... by Anonymous Coward · · Score: 0

      Do you have a link to said research?

    10. 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.

    11. Re:No... by Anonymous Coward · · Score: 0

      A better comparison is that using an automated spell checker on your novel makes you a bad speller.

    12. 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.
    13. 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.
    14. Re:No... by Anonymous Coward · · Score: 0

      But the grammar checker is the compiler not the IDE. Its just that the IDE shows you your errors before the compile run. So its more like having the green lines show up in word directly vs. Having to run the checker yourself.

    15. Re:No... by Anonymous Coward · · Score: 0
    16. 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.

    17. Re:No... by Anonymous Coward · · Score: 0

      bad english kills people

      FTFY.

    18. Re:No... by Anonymous Coward · · Score: 0

      Well.. If you just add a spell checker to your set of tools and keep everything else equal, it obviously doesn't hurt. However, everything else will not be equal as it doesn't anymore make sense to spend as much effort at looking at your language. Thus, you likely end up trading one class of errors to another, subtler kind (plus some extra free time). From your own point you end up being more efficient but as the change isn't strictly positive on every aspect, there will be people who see your quality go down if they value sufficiently different parts of writing.

    19. 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.

    20. 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.
  6. 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 Anonymous Coward · · Score: 0

      I write C/C++ from vim.... with a documentation window open in another monitor.

      Vim is about being fast with the keyboard and avoiding carpal tunnel.

      Vim is great for quickly tearing apart a text file.... hell even deleting is faster using it.

      d (press home) instantly deletes from cursor to beginning of line.
      d (press end) instantly deletes from cursor to end of line.
      dd instantly deletes the entire current line.
      d (up) deletes current line and one above
      d (down) deletes current line and one below

      %s/TextToFind/ReplaceItWithThis/g (replace all "TextToFind" with "ReplaceItWithThis" in the entire file)

      I love the quickdiff plugin where I select one snippet of text and press \m, then select another and press \m again.... now I'm viewing a diff of those snippets with color in a live side-by-side view. \L to exit that and go back.

      It's just fast to do what you want without touching the mouse. Once you learn the whole "press i before you type" and press ":cq" to exit all open files or whatever without confirmation, it's not bad really.

      I like how I can customize it to the Nth degree....Anything I need it to do can be hacked into a .vimrc or worse a plugin. Without trying to sound like a ricer (even though I do own a Lancer Evolution pushing 400 ponies out of a 2.0 liter 4 banger) my vim is quite snazzy with auto-find, a basic form of completion, outline of functions/members/hierarchies....

      Vim rocks if you know what you're doing. Thanks for at least appreciating that some of us like it..... For me after coding long days my hands would hurt... then I switched to vim and a dual mouse setup. Pain no more :)

    6. 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."
    7. 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.

    8. 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.

    9. 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
  7. Maybe by Anonymous Coward · · Score: 0

    But we'd definitely be better off without Beta.

    1. Re:Maybe by Anonymous Coward · · Score: 0

      Wait, why are you bringing fish into this?

  8. does relying on a hammer make you a bad carpenter? by Anonymous Coward · · Score: 2, Insightful

    Its a tool. Used appropriately you're fine.

  9. 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 Anonymous Coward · · Score: 0

      Don't forget the uselessly inflexible "project files" and associated build systems.

    3. 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.

    4. 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.
    5. Re:IDEs are good. UI builders are bad. by Anonymous Coward · · Score: 0

      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.

      Syntax highlighting and folding are editor features (vim ftw!), not features of an IDE. Code completion is imo detrimental to code quality - it will make sure the code compiles, however if you the programmer routinely forget which control structures are in use, you very likely make mistakes. Compiling those only makes them worse. Nothing wrong with autocompletion of strings, though.
      Incremental compilation is not particularily useful in my experience - it will catch typos instantly, but that is counterproductive, it disrupts the flow. When I'm done thinking, I'll worry about typos (or rather, just correct them in one go).

    6. 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."
    7. Re: IDEs are good. UI builders are bad. by Anonymous Coward · · Score: 0

      I bet you know public static void main. Bad programmers will had the IDE create these and have no clue of the syntax on their own.

    8. Re:IDEs are good. UI builders are bad. by Anonymous Coward · · Score: 0

      > That's funny, back in the day UI libraries were brittle, often subtly buggy.

      Largely, they still are.

    9. 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.

    10. Re:IDEs are good. UI builders are bad. by Anonymous Coward · · Score: 0

      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.

      In X/Xorg, sure. In Windows, not so much. I had a 901 netbook with linux (and sometimes freebsd, and sometimes opensolaris), and this kind of issues almost drove me mad. With windows, no problem :D

    11. Re:IDEs are good. UI builders are bad. by Anonymous Coward · · Score: 0

      Go write some C++.

      Fixed pretty much everything you said.

      Now it's wrong.

    12. 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.

    13. 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!
    14. 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.

    15. 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.

    16. 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.

    17. 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.

    18. Re:IDEs are good. UI builders are bad. by Anonymous Coward · · Score: 0

      "#define MAGIC_NUMBER 42" ":%s/name_one/name_two/g" "C-n"

    19. 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
    20. 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.
  10. The core is other thing by Anonymous Coward · · Score: 0

    As a programmer i use in the past, for years, Visual Basic 6.0 and then change to php / objective-c c. I must admit the auto-complete and IDE of VB 6.0 was part of the boom around VB related products, but, the matter is other.

    Is not the goodness of VB ide, the core is the painful no availability in PHP with the same quality.

    1. Re:The core is other thing by Anonymous Coward · · Score: 0

      Have you tried PHPStorm, from JetBrains?

  11. 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 Anonymous Coward · · Score: 0

      (slaps pipe out of hand) Der machine ist nicht fur der fingerpoken, mittengraben, or rachenmachen!

    4. 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.

    5. 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.
    6. Re:Walk before you can run code by Anonymous Coward · · Score: 0

      Shesh!

      WTF? You are not supposed to say "Shesh." This is slashdot. You are supposed to call him a "NOOB," you . . . NOOB.

    7. 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. "
    8. 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.
    9. 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'
    10. 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.
    11. Re:Walk before you can run code by Anonymous Coward · · Score: 0

      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.

      goddamn kids with their new-fangeled bread boards! Back in my day we chewed dried plant material to make our own boards, hand-rolled our own wire and caps, and blew our own vacuum tubes!

    12. 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!
    13. Re:Walk before you can run code by roman_mir · · Score: 0

      You mean hand job creator...

    14. 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!
    15. 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.
    16. Re:Walk before you can run code by Anonymous Coward · · Score: 0

      You didn't manufacture your own tire-fitting tool (from open source design) and used an off the shelf Crowbar sold by some giant crowbar manufacturing corporation?

    17. 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.

         

    18. Re:Walk before you can run code by Anonymous Coward · · Score: 0

      I once actually watched a guy take the wheel off a car sans jack, remove the tire with the tire iron, put a new tire on, pump it with a hand pump, and put it back on the car. It was fascinating.

  12. No. by dmomo · · Score: 1

    Is "relying" an overstatement? Yes.

  13. 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?

  14. .NET in Notepad by Anonymous Coward · · Score: 0

    Good luck with that...

    1. Re:.NET in Notepad by Anonymous Coward · · Score: 0

      perhaps thats the point

  15. Not notepad... by Anonymous Coward · · Score: 0

    ... vi you insensitive clod!

    1. Re:Not notepad... by bobbied · · Score: 0

      ... vi you insensitive clod!

      Only as necessary to get EMACS running!

      So Now we have a CLASSIC flame war!

      Viva La Unix! & FLAME ON!

      --
      "File to fit, pound to insert, paint to match" - Aircraft Maintenance 101
    2. Re:Not notepad... by CWCheese · · Score: 1
      --
      Have a Day!
  16. 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 Anonymous Coward · · Score: 0

      If it's a trivial information anyone would know it.
      So basically you're then hiring people who haven't had any training in engineering.

      Next you're going to tell me you don't hire people who can add 2+2, but you will hire people who tell you to just google it.

    3. Re:Programming is not about rote memorization by Anonymous Coward · · Score: 0

      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.

      Consequently, Ford produced such reliable automobiles that foreign manufacturers were never able to gain a foothold in the U.S. marketplace.

    4. Re:Programming is not about rote memorization by Anonymous Coward · · Score: 0

      > to not have to lookup method/function names

      But IDEs don't really help with that since their autocompletion is so slow. NetBeans can churn for hours doing the "Please wait, classpath scanning in progress..." thing, and VisualStudio rarely takes less than twenty minutes to complete even on a small project. Admittedly subsequent look-ups can be faster, but autocomplete still wastes a ton of time. It sucks to waste so many hours a week waiting on the autocomplete.

    5. 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...
    6. Re:Programming is not about rote memorization by Anonymous Coward · · Score: 0

      Next you're going to tell me you like to use ridiculous comparisons in an effort to 'prove' your nonsensical point. Oh... that's already been established.

      Someone who can't add 2 and 2 probably can't do much of anything, and certainly wouldn't have the logical deduction skills necessary to do anything useful. Quit defending useless rote memorization and vanish.

    7. 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.

    8. 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....

    9. 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).

    10. 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.
    11. 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'
    12. 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'
    13. Re:Programming is not about rote memorization by Anonymous Coward · · Score: 0

      I've used plenty of IDEs with slow auto complete, but Visual Studio isn't one of them.

    14. 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
    15. 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.

    16. Re:Programming is not about rote memorization by Anonymous Coward · · Score: 0

      > 250 Character WISE terminal doesn't mean you should....

      You Microsoft shills are so stupid. It's Wyse, and most terminals are 80 characters wide, not the 250 that your lie claims.

      VisualStudio's autocomplete is too slow to use on a nontrivial project. Most professionals I work with turn it off.

    17. 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.

    18. Re:Programming is not about rote memorization by Anonymous Coward · · Score: 0

      I see this fairly often, and that disturbs me. Of course needless memorization is bad, but it is always better to err on the side of knowledge. With that in mind, I have two points to make:

      First, programming (like many other mental disciplines) is reliant upon making systems that tie a lot of things together, and you cannot use things that you don't know about. Even with the ability to google and easily look things up, if you don't know something exists that would be useful, it is unlikely you would try to find it. Furthermore, if you have passing knowledge of something, even if you don't know the exact specs, the time spent trying to find that thing will be eliminated.

      Second, if you use something enough, you will memorize it, regardless of how "trivial" it may be. Memorization does not have to be- and often is not- the result of painstaking reading documentation and committing it to memory. It is doing something so many times that you no longer need to look up how to do it.

      The point I am trying to make is that good programmers don't believe this "memorization is worthless" bullshit. They go out of their way to learn the systems they are working with, so they know what is available to them, even if they don't commit to memory every last detail of every system.

    19. Re:Programming is not about rote memorization by Anonymous Coward · · Score: 0

      Ironically, the captcha for the above post was "memorize".

    20. 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. ]

    21. Re:Programming is not about rote memorization by Anonymous Coward · · Score: 0

      You just answered my question without me googling it. Does this mean I listen to you?

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

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

    23. Re: Programming is not about rote memorization by Anonymous Coward · · Score: 0

      2008 on a Core2 Duo E8500 @ 3.16GHz with 8Gbytes of RAM. The project has about 100k files, and the biggest problems are the autogenerated WSDL files that are over 250k lines. The version of WCF we're using doesn't work on 2010 or newer so we can't upgrade. I spend hours a day waiting on VisualStudio.

    24. 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!
    25. 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'
    26. Re: Programming is not about rote memorization by cyber-vandal · · Score: 0

      And that's a small project?

  17. Its like picking a language by Neruocomp · · Score: 0

    Its all about whats needed to get the job done. If it works, great. If not, move on to the next thing. The job is whats important, the philosophy can come second.

    --
    Physics is like sex. Sure, it may give some practical results, but that's not why we do it
  18. "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...

  19. sometimes you ONLY get to use an IDE... by Anonymous Coward · · Score: 0

    OpenWRT for example. There's almost no way to be able to compile and package it without their "IDE".

  20. Of course by Anonymous Coward · · Score: 0

    Much in the same way power tools make you a bad carpenter or scalpels and anesthesia make you a bad surgeon.

  21. Efficient by Anonymous Coward · · Score: 0

    It makes coding much more efficient and less error prone. Being a good programmer is knowing how to solve the problems and translate the solutions into easy to read well structured code that works (has been tested) and is maintainable.

  22. 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 Anonymous Coward · · Score: 0

      Emacs is an operating system, not an IDE.

      Yea, haha, funny. As far as I know, some people actually looked into doing that, but the project to run Emacs as an OS was abandoned -- or has there been progress on this front?

    8. 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)...

    9. 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.

    10. Re:Anecdote by Anonymous Coward · · Score: 0

      this, a thousand times.
      I oft go back to formula to hone my knowledge.

    11. 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
    12. 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
  23. 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.

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

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

    1. Re:Apple by Anonymous Coward · · Score: 0

      Presumably code coverage should have caught that, so I guess they don't unit test either.

    2. 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
    3. Re:Apple by Anonymous Coward · · Score: 0

      A code error like that is almost certainly an unnoticed branch merge error.

      There are certainly tools that could/should have caught it if they were used, but it is unlikely to have been code sitting on someone's screen at the time of a dev build.

    4. 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.

    5. Re:Apple by a_n_d_e_r_s · · Score: 0

      "Go To Statement Considered Harmful" was a text written 45 years ago.

      Still many who think they are programmers uses goto today.

      They should have learned by now.

      Sadly some bad book teach people to use goto.

      --
      Just saying it like it are.
    6. 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 ;)

    7. 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'
    8. 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'
    9. 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.

    10. 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.
    11. Re:Apple by Anonymous Coward · · Score: 0

      I thought Clang had an -Wunreachable-code flag?

    12. Re:Apple by Anonymous Coward · · Score: 0

      Put that paper into context of the times and compare goto's then to goto's in a language that didn't exist at that time, say C.

      Then realize what a fucking moron you are.

  25. 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.
  26. 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 Anonymous Coward · · Score: 0

      You should have seen it... I had to move a mouse and click on something. Oh momma, it was awful! Hold me...

    2. 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.

    3. 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.
    4. Re:IDEs lack good editing by Schmorgluck · · Score: 1

      You should look up Eclim.

      --
      There's nothing like $HOME
    5. 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."
    6. 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'
  27. 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.)

  28. No by Anonymous Coward · · Score: 0

    Using an IDE doesn't make you a bad programmer. Solely depending on a single IDE however isn't great.

    I'm a .Net and PHP programmer. Yes, I use Visual Studio for .Net but I use a fairly simple text editor for PHP (specifically Geany).

    With my .Net programming, I know where a vast amount of the APIs I will be requiring are (eg. if I need to read/write to a file it's under System.IO, if I need threading it's under System.Threading). I know generally what I will need to use to get the job done and if I don't, I am generally searching the internet for my problem. I don't need to remember the full API for every single one of the classes I will be using, every method they expose and every argument for those methods.

    The IDE for me allows for simple things like auto complete the methods and members that are set, lets me know straight up but syntax errors (after several years, it is still easy to forget a semicolon occasionally) and provides me syntax highlighting (though most more advanced "notepad" like programs do this).

    Is that a crime against programming? No, I don't think so. Can I still code without an IDE? Yeah, just a little less efficient.

    The problem would come if the person couldn't program and was relying that the IDE would magically fix the issue. I don't know any developers that actually think like that.

  29. 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.

  30. 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
  31. Of course! by Anonymous Coward · · Score: 0

    I'll only hire Electricians who don't use tools! They best be making their wire using rocks to scrape together copper shavings! I'd rather them punch a hole through my wall bare fisted than use a drill. Drills make you weak!

  32. No, in fact, hell no by Anonymous Coward · · Score: 0

    >Does using an IDE make you lazy with the language? Would you be better off programming with Notepad?

    No, in fact, hell no. Leverage the tools available to you. Notepad should only be used in dire emergencies, it's undo function only goes back 1 step.

    There is no way I can memorize every overloaded call of every object in a framework, nor would I want to. Using notepad is the equivalent of not using Google to look stuff up.

  33. 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 Anonymous Coward · · Score: 0

      Up next: do you really need source code?

      FTFY

    2. 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.
    3. Re:What the hell, is it the 90s again? by Anonymous Coward · · Score: 0

      What if I program in Assemby (not assembler!), but I have to look up the mnemonics?

    4. Re:What the hell, is it the 90s again? by Anonymous Coward · · Score: 0

      I prefer email for backups and version management.

    5. Re:What the hell, is it the 90s again? by Anonymous Coward · · Score: 0

      That's still source code.

      You need to code in raw machine language to avoid source code.

    6. 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

    7. 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)

    8. 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'
    9. Re:What the hell, is it the 90s again? by Anonymous Coward · · Score: 0

      No, Production is your source of truth..... well.. it is..

    10. 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.
    11. Re:What the hell, is it the 90s again? by Anonymous Coward · · Score: 0

      No, assign each component to an employee and have him/her handle things.

    12. 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.

  34. 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.

  35. WTF by Anonymous Coward · · Score: 0

    It is a shame that vim and emacs are still mostly uncontested as editors for programming. Program analysis and transformation should be integrated into the IDE. If it was available every programmer would use it. If you disagree, read this book: http://i.imgur.com/INBvStO.png

    Take the current SSL debacle on Mac for example. The duplicated goto statement clearly caused several lines of code to become unreachable. Obviously, not a single tool in the toolchain informed the user about it (although the optimizing compiler certainly took advantage of it). It there was proper IDE support, the bug would have been shallow.

    Many Java IDEs have toy examples of what future IDEs should provide: Eclipse, for example, allows refactoring. However, this is not standard. In fact, renaming a class in an industrial C++ project probably requires human intervention.

  36. 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.

  37. 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.

  38. 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 Anonymous Coward · · Score: 0

      > Android, and the IDE doesn't hide anything from me.

      I find that hard to believe. Android is exactly they one that wants you to use their build system, exactly the way they intended it, and of course they change what that means every few months.
      I see a lot of Android developers who have _no clue_ how their application actually is built, and they the struggle and waste days to integrate even the most trivial third-party libraries.

    4. 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.

    5. 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.
    6. 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
    7. 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.

    8. Re:New IDEs by Anonymous Coward · · Score: 0

      I haven't used VS for several versions, but it used to be that MS didn't consider C++ to be a "primary" language for GUIs. For those, you were supposed to use C# or VB.Net, which had first-class GUI builders. For VS C++, IIRC you used to be stuck with a dialog resource generator combined with MFC boilerplate. It was fairly ugly, but maybe recent versions have a first-class C++ GUI builder with a straightforward PME model. That's what C++Builder has had since before .Net existed - easy GUI building with very little scaffolding, though at the expense of some non-standard language extensions. It's essentially just like building a GUI in Delphi.

      There was a product like what you might be remembering for Borland C++, which predated C++Builder. I think it was called ProtoGen or something similar. It was horrid; limited GUI builder which generated lots of opaque boilerplate, where you had to be very prescient in your GUI design, because moving something or changing a widget would cause the generator to overwrite your code that actually did the work. Nightmarish stuff. I think there were similar tools for older MS C/C++ compilers, but I didn't use them then.

      - T

    9. Re:New IDEs by Anonymous Coward · · Score: 0

      VS doesn't hide all that much that you need to know.

      The article that spawned this particular /. story is from someone who tried to use the visual drag-and-drop tools as much as possible.
      This is a guy that admits to being "intimidated by Html/CSS/Javascript" after doing ASP.NET development (since what sounds like .net 1.1 through to today).

      I had exactly this experience, and got exactly the opposite knowledge and skills. I've been using .net since the transition to ASP.NET2.0 building websites like this guy. Except if anything the way I used the IDE and the limitations of the built in components forced me to learn more about how asp.net works, forced me to build my own javascript libraries to do what I needed and forced me to learn CSS/HTML to build websites that actually looked how they were supposed to across all browsers (this period is also known as the Internet Dark Ages brought on by ie6).

      VS2005/08/10/12 helped me every single step of the way, and hid nothing from me that I needed to know. But I didn't hide behind the drag and drop controls.

    10. 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?

    11. 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
    12. 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.
    13. 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.

    14. 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.
    15. 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.

  39. 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
  40. Using it? No. Relying on it? Yes. by Anonymous Coward · · Score: 0

    IDEs are great, and obviously can increase productivity, especially if you use all of their features. That said, I think all programmers should know how to do things in the backend, using nothing more than Notepad and a CLI and build-scripts. Once you can do this, you'll have more appreciation for an IDE and also be able to use it more effectively.

    On a related note, I cannot stand projects where the build is tied to the IDE. Everything should be scripted and buildable without the first step being "start the IDE". The IDE should be a front end only, decoupled completely from the back-end build system and tools. If you can't write IDE-less build scripts, I would say that yes, you are a poor programmer.

    1. 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?

  41. Short answer: No by Anonymous Coward · · Score: 0

    If anything, using an IDE will nearly always make you a better programmer through efficiency and discovery. Watching people work without IDE's is excruciatingly painful.

  42. 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 Anonymous Coward · · Score: 0

      If the only benefit you get from an IDE is adding boilerplate code then:
      1.) you're using the wrong language or frameworks - find ones that don't need boilerplate.
      2.) You're not really _using_ the IDE, or it's not really an IDE.

    2. 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.

    3. 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.
    4. Re:Yes and No by Anonymous Coward · · Score: 0

      Name a problem that can only be solved by an IDE.

      You just outed yourself as a shitty programmer.

    5. Re:Yes and No by Anonymous Coward · · Score: 0

      Umm no; being bad at math makes you unable to do it without a calculator. You have cause and effect reversed.

  43. 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 Anonymous Coward · · Score: 0

      Good trick to those using ides is to ask them to change the ide to something else. preferably something that responds to key presses in a 5 second delay, and watch them start complaining, Real programmers can do their job without complaing in situation where the ides and environments change and you can't go fixing every performance problem in the ides.

    2. Re:Yes if you don't know what's behind the curtain by Anonymous Coward · · Score: 0

      Yeah, sure. The real way to judge the quality of the craftsman is to deliberately sabotage his tools to the point where they actively interfere with his ability to perform his craft, and watch how he responds to said sabotage. Right...

      Let's see how that holds up in a broader analysis (spelling and grammar errors kept from parent post):

      "Good trick to those using deciated text editors is to ask them to change the deciated text editor to something else. preferably something that responds to key presses in a 5 second delay, and watch them start complaining, Real programmers can do their job without complaing in situation where the deciated text editors and environments change and you can't go fixing every performance problem in the deciated text editors."

      "Good trick to those using race cars is to ask them to change the race car to something else. preferably something that responds to control inputs in a 5 second delay, and watch them start complaining, Real race car drivers can do their job without complaing in situation where the race cars and environments change and you can't go fixing every performance problem in the race cars."

    3. 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.

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

    Hammering in a screw? :-)

  45. depends by Anonymous Coward · · Score: 0

    Have you changed your code to make the IDE happy? Do you find yourself not writing a four liner to verify syntax with the compiler cause it's not worth the trouble to go through the project creation wizard, or do you even still know how to run cl, gcc, etc.? Is your file and directory layout a complete mess but you don't care cause you always look at things through class view? If "intellisense" fails to pull up the name of a method do you disbelieve in its existence? Do you read API documentation or do you only read what intellisense tells you? Do you write what should be done in Perl or Python in C# or Java because your IDE can't handle Perl syntax or do Python whitespace correctly?

    1. 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.

    2. 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 :)

  46. Yes it does make you a bad programmer. by Anonymous Coward · · Score: 0

    The most pessimal, unscalable, problematic code I've seen was wrought by IDE monkeys who only cared about getting the thing to run, and thus were prone to short term thinking.

  47. Re:does relying on a hammer make you a bad carpent by dibujante8758 · · Score: 0

    We use a tool called ReSharper, which will look for .dlls that match the namespace of classes you try to use. Sometimes it does this wrong; i.e. it picks an out of date .dll from a /bin folder in a project that's not part of the solution you're working in. Then it's really aggravating as you try to figure out why you can't rebuild the dependencies for that project. This is an example where careless use of an IDE can screw you over. Used properly, however, ReSharper is very, very nice.

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

    Not if you need to actually debug it.

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

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

  50. 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?

    1. Re:I thought we were done with this stupid idea. by Anonymous Coward · · Score: 0

      But, you are taking from Peter to pay Paul
      Linux
      "Open Source Tea Party"

      You always buying in on a philosophy
      Microsoft
      "http://www.theregister.co.uk/2013/12/17/microsoft_roslyn_dogfooding/"

  51. 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 Anonymous Coward · · Score: 0

      Edlin is soooooo much easier to use than punched cards. My guess is that all of the posters in this thread referring to punched cards never had to program with them.

      However, that relatively primitive technology had a few side benefits. First, one had to write the program on a coding form...which was slower, but gave one more time to think about the problem being solved. Sometimes this led to insights which were not evident at first glance. Second, the delay...perhaps even overnight...for compilations made desk checking a vital step. This also caught logic errors sometimes before the first unit test. And third, since one spent lots of time waiting for compiles, a quick trip to the bar down the street was feasible when working after hours.

      I hope this does not come across as a good-old-days post, but slow editors have the side effect of giving the programmer more time to think about the problem and the solution. IDEs and lots of other tools help provide instant gratification, and sometimes that is perfect...get the typos out of the way quickly. But at the same time, solving problems requires thinking, and speed may be an impediment to that.

      Good programmers are good programmers, no matter what tools they use.

    2. Re:I use Edlin, you insensitive clod! by Anonymous Coward · · Score: 0

      Slow editors simply have the side effect of giving the programmer less time to analyze the problem, and iterate through possible solutions to find the best one.

      Given three otherwise equally skilled developers:
      One with a modern IDE,
      One with a modern text editor and discrete debugger, compiler, assembler, etc. in his toolset, and
      One with punch cards.

      The developer with the IDE will be able to spend more time thinking about the problem, because he will spend less time on the manual task of typing his code, and will be able to more quickly iterate through the debugging process.
      The developer with the discrete development tools will be solidly in the middle of the pack.
      The developer saddled with punch cards, and the associated day-long debug cycles will be left with very little time to actually test their code.

      Exceptionally skilled developers saddled with poor tools may be able to keep up with mediocre developers with modern tools, but they won't be able to keep up with skilled, or even moderately skilled developers with those same modern tools.

    3. 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.

    4. 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.
  52. 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.

  53. 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
    1. Re:Does CAD make you a worse engineer? by Anonymous Coward · · Score: 0

      You are missing the point.

      Can that engineer do his work without CAD? If yes, he is at least competent. If no, he sucks.

  54. An Analogy by Anonymous Coward · · Score: 0

    I suppose this would be like asking if a carpenter was better at his craft without his power tools? These tools are used to increase productivity and keeping certain procedures consistent. While it may be flattering for the carpenter to say he created a piece of furniture from hand tools carried down by generations, if he can get the same quality out of power tools then what difference does it make?

    1. Re:An Analogy by Anonymous Coward · · Score: 0

      Bad analogy. It is like asking if a carpenter can do a quality job without the power tools.

      If the answer is no, he is a bad carpenter.

      If a programmer can write, debug, test, and build code without an IDE he is not even a programmer, but an API monkey.

  55. 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....

  56. 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
    1. Re:Nice try! by Anonymous Coward · · Score: 0

      As a happy, longtime emacs user, I say use whatever tool you find convenient for your work.

      As for me, I've had a couple years of experience with Eclipse, and I know it at least is no match for emacs.

  57. 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.

  58. 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
  59. 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.
    1. Re:Tales from another Stupid Web Monkey by Anonymous Coward · · Score: 0

      This precisely.

      I grew up programming like this guy, with exactly the same tools and I wasn't ever scared of CSS/Javascript/Html like he says he was.

      I tried to use the drag and drop controls (at first they do seem like a good idea!); but could never get them to fit the exact situation I was working on, so was always forced into dropping down to nuts and bolts to get the desired features. The simpler stuff worked - and worked well. The more complex stuff was a useful scaffold for my modifications, but without significant effort was never going to be capable of the features I needed.

  60. what a load of crap. by Anonymous Coward · · Score: 0

    i don't want to abondon slashdot, it's a long time friend, but it's getting more and more difficult to enjoy visiting this site.

    please post less of this bubblegum bullshit and get back to intelligent relevant technical stuff.

    no an IDE does not hurt programmers. if you think programming is about memorising programming languages you're doing it wrong.

    as the others have said: programming is about solving problems, languages are tools. wasting time in notepad hunting down elusive bugs seems way more stupid.

    that said... if you can't get anything done if you are faced with just notepad and a browser; you aren't a programmer in my book.

    fuck beta, soylent rips.

  61. 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.

    1. Re:Perhaps if DICE had used an IDE by Anonymous Coward · · Score: 0

      If that IDE was NetBeans, they'd still be waiting for "Please wait, classpath scanning in progress..." to finish so they could have never released the Beta. That would have been a good thing.

      But, seriously is there an IDE that is usable with autocomplete? I've used over a dozen and since I last used Borland C, all of them require tens of minutes to hours of waiting after first loading the IDE. VisualStudio, while slow, has been more consistent than the Java IDEs. It usually takes less than twenty minutes to show suggestions the first time. The AppData dir (yes, I'm stuck with suffering with Windows for work) for Netbeans is about 500 Mbytes, and the ~/.eclipse dir for Eclipse it's over a gigabyte. It takes a while to generate those huge bloated indexes.

  62. valgrind by Anonymous Coward · · Score: 0

    Real programmers never allow memory leaks to creep into their code so valgrind is a real waste of time. Not. What a pointless story.

  63. RSI by Anonymous Coward · · Score: 0

    My wrists thank me for using an IDE with good auto-completion. Fewer keystrokes = win over the long haul.

  64. Does the news article ask a question in the title? by Anonymous Coward · · Score: 0

    Then the answer is "No".

    FYI - Yup, the answer to the question that the title of this article asks is "No" in a recursive fashion.

  65. 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.

  66. Another absurd question by Anonymous Coward · · Score: 0

    Does using a compiler instead of entering your own hex, make you a bad programmer?

    An IDE is just a tool. It can be used as a way to improve productivity and also could be used as a crutch to let you template/wizard your way through stuff you don't fully understand.

  67. Forget Autocomplete by Pro923 · · Score: 0

    Seems like people are hung up on autocomplete and the intellisense... The greatest part of an IDE is the built in debugger (IMO, of course)... It's much less time consuming and error prone to have all things configured in one place - compile, run, debug, repeat.

    1. Re:Forget Autocomplete by Todd+Knarr · · Score: 0

      And that's also an IDE's greatest weakness: that you have to compile, run and debug in one place. So tell me, what do you do when you're faced with software that you can't install and run on your desktop where your IDE's running? I did that a lot: we had all the libraries to build the software in the project tree, but none of them were installed. The massive database where all the supporting data the software needed also wasn't there, and the database servers that did have it weren't accessible because of firewalls. So you had no choice, you had to debug over on the server where there wasn't an IDE. I had no problems because I was used to a standalone debugger, but a lot of the guys who only knew the IDE were completely lost when they didn't have it (and I ended up being asked to track down their bugs because I was the one who could fire up the debugger and get the information out of the running program).

    2. Re:Forget Autocomplete by Pro923 · · Score: 0

      Well, not necessarily. There are a couple of options. First, you can use remote debugging. Second, you can easily install the free version of the IDE on the target machine. Third, you can use command line tools to compile (the stuff in the bin directory - you don't really NEED the IDE to compile/link). I know that remote debugging is sort of a pain, but it's effective once you set it up. Also, it's generally simple to set up visual studio express on any machine. I know the problem, because my most recent job was developing software that ran on VMs... I did the development on my desktop, but then would run on the VM. Most commonly, I'd just set up express on the VM. Though, I wish I was more familiar with the remote debugging client, because it's probably the 'right' way to do it.

    3. 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.

    4. Re:Forget Autocomplete by Anonymous Coward · · Score: 0

      > you can easily install the free version of the IDE on the target machine.

      WTF, on a production server? Certainly only if you want the server admin to come over and kill you! Slowly and painfully of course.

    5. Re:Forget Autocomplete by Pro923 · · Score: 0

      IMO, most of the problems people have with windows are self inflicted. A firewall (unpopular opinion coming) is a useless piece of garbage. We design IP to have "ports", and then we use a firewall to block all of these ports. So then we run software on the firewalled machine and either open the ports allowing the software to function or we don't. When we open the ports, the machine is only as vulnerable as the faulty software that we're running on it that communicate on these ports. As for blocking the DCOM ports, Microsoft is fairly good at patching security holes in their packaged products as they're discovered. As long as a machine is "windows updated" every Tuesday, I don't see the point in crippling it's functionality. Don't even get me started on Antivirus software.

    6. Re:Forget Autocomplete by Anonymous Coward · · Score: 0

      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).

      So, you mean on a production server using production data? Well, there's your problem - we developers aren't supposed to mess with that, ever, at least not in sane environments. There should be no problem with getting the necessary tools installed at the integration, testing, or development stages. Once code hits production, it's out of your reach, period. If you're in one of those places that doesn't have an integration-stage copy of production along with a copy (or workable subset) of production data, then something has to give somewhere. Allowing a developer direct access to production with a text editor, compiler, and debugger, is only marginally less dangerous than opening a couple of ports with limited access to one (or a few) specified IPs for remote debugging.

      You've got a failure of process and organization, not tooling. I know such places exist - I've consulted for them, and it's like walking a high-wire to work directly in production. Sure, I've done it plenty of times, but what if there's an unexpected stiff wind this time, and important data is deleted or corrupted? Restoring from backups is fine, but the company that allows developers to work directly in production is unlikely to have a diligent backup testing regimen, and that's how you find out that the last functional backup is from two months ago. You've got a problem, but you've identified the wrong TLA as the root cause. It's the SOP not the IDE.

      - T

    7. 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.

    8. 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.

    9. Re:Forget Autocomplete by Pro923 · · Score: 0

      I get what you're saying, but educate me - because I don't completely understand. You open up the NetBIOS ports and then everything is controlled by Windows NT authentication - which is a highly reliable and secure system. Where it breaks down is when people use weak passwords, or don't set the proper administrative privileges on resources. Joe domain user can't just modify HKEY_LOCAL_MACHINE on the domain server unless he's specifically given the rights to do so. File shares are the same way - the shares themselves are protected, as well as the underlying filesystem (assuming NTFS), right down to each individual file or folder.

    10. Re:Forget Autocomplete by Anonymous Coward · · Score: 0

      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.

      VPN in?

    11. 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.

    12. 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.

    13. Re:Forget Autocomplete by Anonymous Coward · · Score: 0

      Those are all good points, but parts of that environment still seem strange to me. I see from another post that you ultimately gave up on convincing the admins and moved on to productive work, but I'd still like to poke at this a little more.

      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.

      That all seems reasonable, but does that mean there's no copy (or usable subset) of production data for use in the other stages? Or is it that the copy exists alongside the production data, behind the same firewalls?

      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.

      Hmmm, most places I've seen allow any dev tool in the development stage (pending approval, of course), but not on the test stage. That way any unexpected dependencies are shaken out in test. So for your problem, one of the admins would (eventually, pending red tape) provision the needed development server(s) with an identical copy of production (plus data as needed), along with whatever reasonable tools you require.

      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.

      I've never seen those kinds of requirements for Borland (later CodeGear, now Embarcadero) tools. The remote system needs only the remote debugger and possibly DLLs having debug info. The editor stays on your workstation where it belongs. Haven't used old VS versions for remote debugging, if they even had it, and haven't upgraded since VS2005.

      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.

      Even fairly old versions of the Borland tools had support for remote debugging installation without dragging in all the stuff you wouldn't want - no editor, headers, or makefile (lex/yacc aren't included anyway). However, I have no recollection of the port requirements, so it might still have been unpalatable for your admins. Of course, most people use VS for Windows development, and I don't know what current versions let you do (and again, ports).

      - T

    14. 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.

  68. 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.

  69. 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.

  70. Notepad does indeed make you a horrendous programm by Anonymous Coward · · Score: 0

    Notepad has enough bugs that, if you accept them, you most probably are a lazy and incompetent programmer as well.

    Real programmers use SATA, so there.

  71. 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.

  72. 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 Anonymous Coward · · Score: 0

      It causes the programmer to rely on a proprietary automated build system

      Plenty of IDEs are not proprietary.

    3. 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.

    4. 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.

    5. Re:Proprietary vs. free build system by Anonymous Coward · · Score: 0

      > rely on a proprietary automated build system

      Rather: a broken, crappy, unmaintainable, bad to use GUI-less, bad for version-control, inflexible, non-portable build system.
      Admittedly to what degree these issues exist differs a lot between IDEs, I mean even VisualStudio got a bit of a a clue and uses an XML file that most of the time actually works well with version control and for simple things can be edited manually reasonably well.
      And people have done horrible things with "make" as well.
      But when it comes to running reliably on thousands of completely different systems without a change even the best auto-generated build systems just don't cut it (and don't start with autoconf, most people don't have a clue how to use it, and they end up with something that is _less_ portable than a Makefile with hardcoded paths would have been).

    6. 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.

    7. 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.
    8. 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?

    9. 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.

    10. 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.

    11. 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.

    12. 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.

    13. 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.

    14. 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.

    15. Re:Proprietary vs. free build system by Anonymous Coward · · Score: 0

      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.

      Who cares?

      IDEs are ridiculously cheap compared to even the cheapest offshored programmers. For a good programmer? You'll likely spend more in coffee than in the cost of the IDE.

    16. 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."
    17. 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.
    18. Re:Proprietary vs. free build system by Anonymous Coward · · Score: 0

      I would say that it is exactly the opposite.
      Try developing a C++ SDK with Visual Studio. If you want to support multiple versions of VS without maintaining a vc(x)proj for each you will use nmake or a project generator like cmake in the end. I could say the same on Linux. The last time I had to modify a makefile because of a change of compiler was because I was trying to use my Linux build chain on cygwin to do some crosscompiling.

    19. Re:Proprietary vs. free build system by Anonymous Coward · · Score: 0

      maintaining makefiles is a many time, extremely high cost.

      Have you tried saving them to disk?

    20. Re:Proprietary vs. free build system by Anonymous Coward · · Score: 0

      You're digging your hole deeper, quit before you make a complete ass of yourself.

    21. 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.

  73. 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.

  74. 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.

  75. Relying on Eclipse makes you a bad programmer by Anonymous Coward · · Score: 0

    It supports screwing yourself as the main feature

  76. Programming tools and the Betamax doctrine by tepples · · Score: 0

    But we'd definitely be better off without Beta.

    How so? Sony v. Universal (the Betamax case) helped establish the "substantial noninfringing use" doctrine. For example, an IDE may be used to create an infringing clone of a copyrighted computer game, but because it has other noninfringing uses, the IDE's publisher isn't liable for contributory infringement.

  77. 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"?
  78. 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.

  79. 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.

  80. 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.

  81. 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"
  82. Re:does relying on a hammer make you a bad carpent by Anonymous Coward · · Score: 0

    Hammering in a screw? :-)

    Works great with wood screws. Try it some time.

  83. IDE is only REQUIRED by bad programmers/languages by Anonymous Coward · · Score: 0

    IDE should HELP you, but you should still be able to program without it.
    If you cannot do it, then yes, you are a bad programmer.
    And if a language is so rubbish it cannot be used without an IDE, than it is a bad language.

  84. Not if... by brokenin2 · · Score: 1

    ...you wrote the IDE yourself :)

  85. 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.

  86. 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 fractoid · · Score: 0

      The runners are programs like Sublime Text, BBedit, Text Wrangler, gedit, Jedit, notepad++, or even vim.

      Yep. And consider that most (all?) of these offer a combination of syntax highlighting, auto indentation, potentially auto-complete and context sensitive help (if only through plugins). They provide a lot of the features traditionally associated with an IDE.

      People arguing that "IDEs are bad" need to get their argument straight. Are they saying that learning a language requires separately compiling your code on the command-line? Because that's about the only thing that a good programming text editor doesn't do.

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    12. 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.

    13. 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.

    14. Re:Please Stop. by Anonymous Coward · · Score: 0

      I have used most major IDE and code editors out there: Turbo, Delphi, Visual (4, 5, ..., 2010), Eclipse, Netbeans, KDevelop, Xcode, Vi(m), Emacs (GNU, X, Jaspa), Gedit, Kate, QtCreator, ed... and a few you will not find in Wikipedia like Visualizer. I even created one for Pascal myself. And I have to say that I have created a good amount of code in Notepad.

      The thing is, you only need a brain (and maybe a piece of paper) to create great code. The editor is just a necessary means to write something the compiler/interpreter can read. If you're in a hurry the IDE can save a little of time with the write/compile phase, but only so much. The IDE will never think for you.

    15. Re:Please Stop. by Anonymous Coward · · Score: 0

      Notepad is a 24 year old joke stuck in the 90s feature-wise.

      I completely agree with you in sentiment, but realistically, Notepad runs far more often than most of the other Microsoft utilities.

      Certainly it's not for its ease of use or feature set. I attribute its heavy use to the very poor state of text editing in a Windows operating system.

    16. 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.

    17. 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.

    18. 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).

    19. Re:Please Stop. by coinreturn · · Score: 0

      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.

      Pshaw! Edlin or nothing!

    20. 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.

    21. 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.
  87. 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.

  88. 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 Anonymous Coward · · Score: 0

      Quite a few people do it for more than just a paycheck.

    2. 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.
  89. Isn't the real proof by aliquis · · Score: 0

    In what you earn from doing what you do?

    Argue anything you want but the one who earn the most obviously do the better thing vs the one who do the worst regardless.

    You could for instance write a portable OS in C and a very platform specific in Assembler (less relevant point today but whatever) and make the argument why either is the better approach than the other but if one makes nothing and the other make billions that argument isn't worth all that much longer anyway.

    The result is much more relevant than why or how.

    1. 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.

    2. 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.

    3. 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".

    4. Re:Isn't the real proof by Keybounce · · Score: 1

      EDIT: Brownian motion. Brownian motion. I can't actually find an "edit post" button.

    5. 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.

  90. 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
  91. Relying on a spellchecker makes you a bad writer by ArcadeMan · · Score: 1

    Visual Stuidio?

  92. You never know what's going on the inside. by Anonymous Coward · · Score: 0

    Unless you are writing your own OS and device drivers and your own language and standard library and firmware etc ... there will ALWAYS be parts that are hidden to a programmer - and that's the way it SHOULD be. Unless you have the source code AND you go and trace all the way down to the hardware, you do NOT really know how your program works. And with today's level of abstraction, this question about IDEs making you a bad programmer is complete non-sense and so are all the answers saying it does.

    And I for one do NOT miss the days of Win32 - OS/2 PM programming in 'C' with all that boiler plate code. Ninety percent of my time was writing the same shit. And I do NOT miss fucking around with make files - and I hope there's a special place in Hell for the guy who decided that different types of white space (tabs, spaces) mean different things.

    That's why on the rare occasions these days when I need to compile a C FOSS program (from source and a makefile), it's NetBeans because its makefile to project creator ROCKS!

  93. 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"
    1. Re:Let the IDE holy wars begin. by Anonymous Coward · · Score: 0

      Yeah, but if the rifle gets stuck, you are dead!

  94. IDE doesnot necessarily lead to bad programmer by Anonymous Coward · · Score: 0

    So I've seen a little bit of just about everything. Coding in hex, writing by hand typed in by someone who doesn't know the slightest thing about code and even putting things together with drag and drop. While using an IDE does not make you a bad programmer, in my experience the people who have never tried to program in vi/vim, TextMate or Notepad++ etc tend to be terrible programmers. An IDE is almost like a drug. It lets you do amazing things on the surface but sooner or later things come crashing down if you don't take the time to check under the hood now and again.

    I will note however that the best thing about using an IDE is when it forces you to use source control. The worst is when it blindly let's you link against third party libraries you know nothing about like whether they are even supported on a current OS.

  95. 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.

  96. 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).

  97. You're a fool if you do not use all available tool by Anonymous Coward · · Score: 0

    I had a professor in college once who would give lower grades to people who solved the smaller programming problems he assigned, themselves. Problems like solving the 8-queens and Towers of Hanoi, etc. The reason being was that these were well known problems and already had solutions available out there, so you're wasting your own time by not leveraging those solutions. His goal was to teach us to use our network- our friends who already took the class, books, the internet, whatever it took to get the problem solved better, faster, without wasting our own time re-inventing the wheel.

    My take-away from this is that if there are tools that make a programmer's job easier to accomplish, easier to manage, and more likely to succeed, especially on larger teams with larger projects, you're a complete fool to think you're too good to use anything more than a scratchpad and punch cards. If your attitude is to do it in notepad/emacs/vim, etc, you have no place in modern development. Get over your ego and quit wasting everyone's time with your buggy notepad code.

  98. 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
  99. 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!

    1. Re:Never turned back. by Anonymous Coward · · Score: 0

      That's awesome! You guys worked hard and paved the way forward. Should we get off your lawn now? :-}

  100. Notepad by Anonymous Coward · · Score: 0

    I tried typing code in Notepad. It works for short programs. With larger programs and many classes, I use Netbeans. Netbeans has a nice file manager. I can also press one button in Netbeans to compile the code.

    No more typing Javac "file.java" in the command prompt for big projects for me.

  101. 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
  102. 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....

  103. Bad Languages, not bad programmer. by Anonymous Coward · · Score: 0

    If you're relying on the IDE to auto-insert upwards of 90% of the code for you - which is typically the case with Java - just to keep yourself sane, you're probably just developing for a bad language.
    Your status as a good/bad programmer is independent of this.

  104. nano with syntax highlighting by Anonymous Coward · · Score: 0

    Now bring on the emacs vs vi flamers ;)

  105. code nazi by Anonymous Coward · · Score: 0

    I work with a team of total code nazi's building mathematical models for big pharma. unless everything is coded from scratch it's unacceptable. ode solvers, graphic plots, everything. It's ridiculous and makes jobs on the department take weeks longer than they should. Anything that lets you focus on the problem rather than implementing the solution is a bonus.

  106. 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.

  107. depends on what you mean by relying by krups+gusto · · Score: 0

    My ide formats my code in pretty ways.  It tells me when I've likely fatfingered an = vs ==.   It tells me when i have linked a library i probably dont need.  Etc etc.

    These are all things I should do.  But they shouldn't take any brain power.

    Ie, I believe one *should* be able to code in vi.  But you'd be an idiot to do so by choice.

  108. 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.

  109. 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.

  110. IDEs slow you down too much by Anonymous Coward · · Score: 0

    As a Python developer, the only IDE I use is vi. I do all my dev work via ssh on Linux boxes, so dealing with a gui or even text-based IDEs is just too bothersome and non-priductive.

  111. 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.

  112. As a professional musician... by Anonymous Coward · · Score: 0

    As a professional musician, I obviously use the crappiest, most basic gear I can lay my hands on, or else I will be a crappy musician from not knowing how to *really* play the guitar.

    Just like my violinist friend who ditched the $800,000 Stradivarius for a cheap $50 violin bought from a pawn store. He says it makes him feel more like a "man", and that only "wimps" played a well-made instrument like a Strad.

    The weird thing is, many people would believe that to be a truth.

  113. White on Black by Anonymous Coward · · Score: 0

    If it doesn't default to white on black then I have trouble believing anyone uses it as a serious tool. Simple as that.

  114. 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.

  115. Devil in the details by Anonymous Coward · · Score: 0

    A significant issue for me is the the amount of time spent on maintenance of the IDE software itself (all the plugins, dependencies, updates, etc) vs. the time it will save me in actually being productive. I've spent more frustrating hours updating eclipse, android sdk, java/jdk, VS, and all the plugins than I have tracing bugs in my own code. When the IDE is working they are a great help, but god forbid you have to update anything! I've had far less wasted time using vi/emacs and cli/cmd compiler access, and knowing how to use these is great for times when the GUI or IDE is not functioning correctly. So my vote is use both.

  116. 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.

  117. 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
  118. Rockstar programmers and egos by Anonymous Coward · · Score: 1

    To admit that you've an IDE helping you is too hard for rockstar programmers.

  119. 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.

  120. Re:does relying on a hammer make you a bad carpent by Anonymous Coward · · Score: 0

    Always with the screwing. Get your mind out of the gutter. He was obviously talking about perfectly innocuous uses but incorrect uses for a hammer like reaming.

  121. Not the IDE's fault by Anonymous Coward · · Score: 0

    Whoever was teaching you in freaking college should not make your life easier with an IDE. I hope they were fired.

  122. 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.

  123. 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.

  124. 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 Anonymous Coward · · Score: 0

      I suggest that you go fist fuck your mother.

    3. 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.
    4. 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.

  125. Hammer screw with IDE by fleebait · · Score: 1

    Hammering a screw with an IDE means job security in government work.

  126. Its just a tool.. by Anonymous Coward · · Score: 0

    I like an IDE because if highlights the errors and the spelling mistakes and integrated debuggers just rock in my opinion and so do the code suggestions and refactoring tools. (At least in the java space.)

    I don't need one to program though and I do all my GOLANG work using , compared to intelliJ, a basic text editor (sublime).

    Can I program using a basic text editor.. yes.. do I choose to now days... no... Why?

    Lack of productivity, you would have to be a complete dickhead not to use an environment that helps you to build code faster.

    Given that I started using a tool called EDTASM+ I think just about anything is an improvement.

  127. 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.
  128. 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.

  129. Dumb article by Anonymous Coward · · Score: 0

    The first link leads to rambling blog post that's barely coherent. Why is this news?

  130. Not a bad programmer, but it has some downsides by Anonymous Coward · · Score: 0

    Will an IDE make you a bad programmer? No. But there are some downsides to consider: Interviewing.

    If you can't write a for loop without the IDE, you will struggle to get a job. I am amazed at the number of people I interview who can't write code on a whiteboard or in a shared google doc. These people have a degree in CS. They might actually be incompetent, or they might be so dependent on an editor that they never learned the syntax of a function call in a language they claim to have years of experience in. I can't risk hiring these people.

  131. 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?

  132. 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.

  133. does relying on a fork make you a bad eater? by Anonymous Coward · · Score: 0

    there, you found your answer. those who promote notepad .... they're in the lala-land. just hope you'll never have to meet them or maintain their code.

  134. 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.

  135. 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.

  136. Does using IDE increase coupling? by Anonymous Coward · · Score: 0

    Assume a disciplined programmer who knows limits of his or hers capability of dealing with complexity. Say the programmer has to implement a certain subsystem, with certain number of dependencies with frameworks and other subsystems. Does using autocompleting IDE lead the same programmer to produce more coupled and less testable code than the developer relying on his limited memory while using traditional tools? If the answer is yes, this would naturally lead to additional refactorings. It's complicated.

  137. STUDIO... by Anonymous Coward · · Score: 0

    Maybe..

  138. 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.

  139. 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.

  140. better off programming with Notepad? by guygo · · Score: 1

    You will pry my syntax-highlighting from my cold, dead hands.

  141. No. by Anonymous Coward · · Score: 0

    http://en.wikipedia.org/wiki/Betteridge's_law_of_headlines

  142. 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.

  143. Dear god no. by Anonymous Coward · · Score: 0

    So you're saying that one can be a good programmer if they don't know how to compile their code? Really?

    Get. Off. My. Lawn.

  144. broken by Anonymous Coward · · Score: 0

    If you NEED the IDE to compile and package everything, one of two things is wrong:

    1) The IDE is broken by design as it is not a pure front-end as it should be
    2) The build maintainer is an imbecile.

    There are no other options.

  145. Binary by fizzer06 · · Score: 1

    Program via the toggle switches on the front panel or go home. Paper tape is for wusses. (IMSIA 8080)

  146. 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.

  147. 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.

  148. 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.

  149. Perspective by Anonymous Coward · · Score: 0

    If you want to pat yourself on the back for having the most precise rote memorization of the basics, go right ahead. I prefer to leverage as greatly as possible the work of those who are not me. Call that "lazy" if you will, but I still manage to do what my colleagues cannot.

  150. Confessions of a Control Freak by Anonymous Coward · · Score: 0

    I personally use command line tools and editors. I don't know, it comforts me to use a customised UNIX shell and having 100% control. GUIs in general make me feel like I lost something, some power that I have surrendered to the GTK devs. When I have to use a GUI, I use Openbox(my customised Arch Linux Openbox).
    But IDEs are fine, they make you efficient. Just dont expect to learn the fundementals and models and concepts of programming with them.

  151. Re: IDE guides your development. by Anonymous Coward · · Score: 0

    I have never used an IDE much, but some time ago I read a post by a very experienced pgmer who said that he did not like the .NET IDE because it forced him to think in a bottom up way rather than a top down way. He could not just put in a routine name or object method and leave any paramters blank, or call a non existent method. He had to get all the bottom stuff defined before he could define the top stuff.
    And until he got the top stuff conceptualized he did not really know what the bottom stuff would do.

    So an IDE can force a certain process on you, that may not be ideal.
    pgmer6809

  152. Making it easy is the whole point of programming! by Anonymous Coward · · Score: 0

    Its probably a little late in the game to post anything that isn't going to be buried in the comments, but nonetheless:

    I got into programming BECAUSE of its amazing ability to make lives easier for people. It solves problems, lets people do even more with less effort and gives people the ability do things without much knowledge.

    So this argument goes against the very purpose of programming to me. Of course you should do everything you can to make it as easy as possible so that you can focus on bigger problems. That's the very principle of what programming is.

    If I found out one of my employees was purposefully using a difficult text editor just to show off his mad programming skills, I would fire him.

  153. 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
  154. VsVIM for Visual Studio by Anonymous Coward · · Score: 0

    Most of the most useful VIM key bindings in the visual studio editor.

    http://visualstudiogallery.msdn.microsoft.com/59ca71b3-a4a3-46ca-8fe1-0e90e3f79329

  155. Did I read a different article? by Anonymous Coward · · Score: 0

    Nowhere in that first article did I get a sense that the author was complaining about IDEs at. He was complaining that he wasted his life as a .Net programmer when he should have jumped to PHP, Linux and MySQL because he knows he's last off the .Net ship and it's rapidly sinking.

  156. 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.

  157. 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
  158. That guy is asking the wrong question by Anonymous Coward · · Score: 0

    Of course IDEs - or at least good IDEs - can be a tremendous help.
    However, if you don't understand that an IDE, a programming language and a platform or framework are three totally different things, you will be screwed sooner or later.
    If all you know is to click on stuff in an IDE, you will be screwed sooner or later.
    If all you know is to use a graphical debugger, you will be screwed sooner or later.
    You will only have to go lower level than that in maybe 0.1% of possible situations, but when you do, it will be for hard problems and it will really matter.

  159. 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
  160. Pedant point by colinrichardday · · Score: 1

    from a /bin folder

    Wouldn't that be a \bin folder?

  161. 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.

  162. 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.

  163. 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.

  164. 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.

  165. 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.

  166. IDE's vs The Car by Anonymous Coward · · Score: 0

    Does knowing how the inside of a car works (clutch, gearbox, internal combustion engine and such) make me a better driver? Yes, it does! Does it make my wife a better driver? No, it does not!

    My wife is a bad driver in the first place, she does not understand the physics involved and the many aspects to driving!

    Apply the same analogy to IDE vs "text editor" and we end up in the same boat. I am a good programmer so the results text editor or IDE a like will be good. Personally, I prefer a text editor but then I like to know things are being done "my way"! In ten years I've never felt the need for an IDE and the ones I've tried have just slowed me down, I mean, lets face it. They are pretty complicated things to use compared to lightweight knowledge in my brain and a text editor!!!

  167. chicken or the egg by Anonymous Coward · · Score: 0

    Good programmers improve their environment. So given a text editor and a compiler they can make an IDE.
    Bad programmers just don't.

  168. Just my opinion by Anonymous Coward · · Score: 0

    I've worked with Eclipse and I could only hope it would make me somekind of programmer, because I didn't quite get to programming with it. I fought with it for a few days and gave it up.

    For a project I'm currently working on I have to use IAR Embedded Workbench and while it doesn't get in my way, it also doesn't really add anything. 'Find definition' and such almost never works for some reason, code completion is waaayyy to slow, and debugging is a pain (using printf and the UART is much easier to work with).

    Then I've worked with Renesas High power Embedded workbench (if I'm correct). It looks a lot like the IDE that came with the dev environment of ST7 I've worked with and this wins by a very large margin. It's a fast, working and no-nonsense IDE.

    For my Python and C development on linux/windows I'm using Geany since three years or so. It's a very nice lightweight IDE, doesn't try to be smart, doesn't get in my way, doesn't hide things and is stable.

    The code should be all there is in my opinion. It musn't rely on switches / includes and other stuff somewhere hidden in the IDE's dialog boxes.

  169. Le Bait de Click by Anonymous Coward · · Score: 0

    ...just sayin'...

  170. Does Relying On an IDE Make You a Bad Programmer? by Anonymous Coward · · Score: 0

    Nope, that's not what does it.

  171. As a PHP developer... by Anonymous Coward · · Score: 0

    ...who also knows about a dozen other languages, I must say that Rob Conery should be really, really glad he didn't choose PHP. I really could use a good IDE with an integrated debugger that allows you do step through the code as the page is generated (like Eclipse) and a kind of linter that warns me of all the evil mines in PHP that you thread on when you use some innocuous feature together with another or in a situation that PHP considers special. And a lot of things that make IDEs even more useful, like a large, sane and typed class library, are simply absent in PHP.
    Even without an IDE, .Net is still more usable than PHP, but why would you not use it? It's a tool and a very useful tool at that. Why would you refuse to use a saw when building a house and insist on only using a chisel instead? And why the comparison with PHP of all things? I get the feeling that Rob wouldn't even have asked the question if he had some in-depth experience with the alternative.

    Before even thinking about using PHP, read these:
    * me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design
    * phpsadness.com
    * phpwtf.org
    * quaxio.com/wtf/php.html

    My life is hell.

  172. Fundamentals, obviously by Anonymous Coward · · Score: 0

    "Relying"? Sure. If you are actually incapable of writing code without being prompted as to what to type, you are a pretty bad programmer. More to the point of the underlying questions.

    1. You can do more with an IDE, especially if you are any good at programming.
    2. Getting back to the fundamentals and doing things the hard way is a great method for anyone to refresh and strengthen any particular skill set.

    Think about this: a great chef is probably not doing his best work over a campfire, but even an expert chef could use campfire cooking as a practice to improve the depth of his knowledge and work. The same generally applies to almost any human endeavor.

  173. 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.

  174. 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.
  175. No, What is that Law that says Answer No by Anonymous Coward · · Score: 0

    to any controversial headline for an article. It certainly applies here.

  176. 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.

  177. IDEs are wonderful by Anonymous Coward · · Score: 0

    Some of the most useful things in IDEs: syntax checkers, code completion, debugging tools, profilers, etc. These are the things developers use all the time.

    Many IDEs also allow the integration of outside tools like bug trackers and source control. That means, rather than having a directory of your project open(or having to open one) to commit code, you can commit changes right from your IDE. Then you load the relevant issue in the bug tracker, but still in your IDE, and make comments, advance the work flow, etc.

    The entire point of an IDE is to make a programmer's job easier. The question should not be "Does relying on an IDE make you a bad programmer?" it should be "Does your IDE make you a better programmer? If not, why?"

  178. How is it a myth? by cyber-vandal · · Score: 0

    An IDE is a tool, not a mindset. You can write as much or as little code as you like in an IDE and you don't have to spend time hunting around on Google for the specific API call that you've only used once in 5 years or spend a couple of hours trying to figure out what happened after you missed a curly brace out and your code threw a very obscure error.

  179. Yes by Anonymous Coward · · Score: 0

    Yes.

  180. 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
  181. 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.

  182. 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.

  183. Tool wielding apes by Anonymous Coward · · Score: 0

    Does relying on nail-guns and chop saws make you a bad carpenter? Effective use of effective tools can make you a more effective ... whatever you're doing. Of course, they're also more likely to help you nail your foot to the floor or saw off a finger, or a hand. They must be used with caution, care, and some basic knowledge helps, too.

  184. "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.

  185. 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.

  186. 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().

  187. Context Sensitive Help and Examples by Anonymous Coward · · Score: 0

    I'm a reasonably good typist, but I still depend on Visual Studio mainly to catch my typos and correct them as I make them. But...

    I think an IDE DOES help you learn a language, and even to become better at it once you reach the intermediate stage. My argument for this is the context sensitive help and examples. It's great to highlight a command, hit F1, and get a summary of how it works, and all the parameters and options and a snippet of code showing it in action.

    Actually, let me clarify, I think an IDE can be a big help learning a NEW language. It won't teach you general programming concepts. It might help if the autocode generation and wizards had more/better comments and variable names.

  188. .NET by Anonymous Coward · · Score: 0

    Relying on .NET makes you a bad programmer....

  189. 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.
  190. 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

  191. It is not the golf club but the guy who is swingin by Anonymous Coward · · Score: 0

    Half a century of development a question like this is actually asked? Most probably by a bad programmer.

  192. 80s by Anonymous Coward · · Score: 0

    Learning a language is one thing. Writing applications is another. Using an IDE can saves you countless hours of brain cycles. Especially, if the languages you are using requiers a lot of extra work. In the early eighties IDEs split into two groups: those that helped one program and those that created applications. Why did IDEs come about? To reduce the complexity of creating applications. And, then what happened? Language developers knew this and IDEs became part of the cycle. Certain languages for no good reason require complex syntax to do simple, repetitive things. There are so many options in some object languages, it borders on ridiculousness. If you want to learn to program, start with hardware. Write your own language. Then write your own IDE. Write your own application generator, using the IDE. But beware, such programming can suck the color out of your hair and give you white highlights.

  193. 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."
  194. yes. u r stupid if you don't understand Vim Moolen by Anonymous Coward · · Score: 0

    Jokes :-)

  195. 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.

  196. Not sure? by Anonymous Coward · · Score: 0

    Does relying on a power nailer make you a bad carpenter?

  197. 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.

  198. Notepad is not a real editor by Anonymous Coward · · Score: 0

    I know, I know, but really, it doesn't even do syntax highlighting. Coding in notepad would be worse than emacs. If you want to punish a coder, make him use notepad

  199. 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.

  200. language != library by Anonymous Coward · · Score: 0

    *nt

  201. Re:hah php programmer by vilanye · · Score: 1

    +1

    Anyone who uses PHP can be safely ignored.

  202. dyslexia and auto complete by Anonymous Coward · · Score: 0

    I suffer from dyslexia and commonly transpose letters. IDE features like auto complete and 'suggestions' are helpful in making sure i dont make a silly spelling mistake that would prevent the program from running.

    Options like notepad cant detect the small imperfections like a transposed letter in a variable name. Troubleshooting that issue in notepad is a troublesome line by line review of the code to find the mistake. Then figure in the fact that when reading things, the brain will correct many spelling mistakes without you noticing, making it even more difficult to detect the minute error. In an IDE not only will it auto compete the variable name for me after typing the first few letters, but (some ides will) also advise me that i am referencing a variable name i have not declared yet if i end up typing the variable name incorrectly.

    Does having dyslexia make me a bad programmer?
    Does using an IDE to make sure small things like spelling are in order make me a bad programmer?

    I dont thnik so :p

  203. 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
  204. Re: by Anonymous Coward · · Score: 0

    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!

  205. 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.

  206. 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)
  207. Diet IDE please by Anonymous Coward · · Score: 0

    I like lightweight IDEs. Sometimes a good source editor like ConTEXT or Visual Studio 6.0 (gasp!!!) is all I need to make me happy.

  208. 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
  209. An IDE is a tool by Anonymous Coward · · Score: 0

    So the question is does it make you a bad programmer to solve the same problem using one tool versus another?
    Is Federer a bad tennis player because he uses a graphite & kevlar racket instead of a wooden one? I doubt it but he may have difficulty adjusting over a game to using a wooden racket. Is that really such a problem?
    It's not like IDE's will be declared illegal at any stage.

  210. 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.

  211. 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.

  212. OH by Anonymous Coward · · Score: 0

    Does Relying On an Car Make You a Bad Walker?

  213. Provocative Question by Anonymous Coward · · Score: 0

    After thinking about this question for a few minutes, I realized it has an excellent quality: It's provocative. I found good arguments on both sides of the question, which means there will be a balance between at least two points of view, and discussion will be promoted. The main quality of the question is that it can't be answered correctly.

    My opinion is that IDEs are great for helping productivity, when they promote learning. Once you outgrow them, and they begin to limit knowledge, or they hide parts of the system you need to know about, they limit productivity. It's all about how your knowledge is scaling. When you first learn to use an IDE, you're learning. When you have learned everything, it's time to move to a new development environment, or add another language, or delve into debugging at a lower level. YOU need to evolve, and sometimes the IDE helps that, other times it hinders that. You need to decide, and be prepared to decide again later.

  214. 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.

  215. Yes, IDEs are for wimps... by Anonymous Coward · · Score: 0

    ... and a carpenter is better off with a hammer and saw. Real men rip the boards from trees with their bare hands and force them into usable shapes with sweat, spit and colorful language. Which is how you should write your assembly code: burn it into tree bark with nothing but your steely glare.

  216. A beautiful mind by Anonymous Coward · · Score: 0

    A beautiful mind requires no debugger.

  217. Yes: But ducks that can't fly can still swim by Anonymous Coward · · Score: 0

    If you have a duck that can't fly, what good is it? Well, it can still swim, and in the end, you usually spend more time eating its legs than wings anyway. As such, it overcomes the disasterously obvious loss of thier primary means of going south, but at least can still navigate waterways to make it there.

    Similarly, if a developer cannot code without a UI, its as if they lost full use of thier arms and part of thier brains when they lose the UI. They have a major handicap to over come, in this case they have to type properly and learn about library contents and dependencies. The way to overcome this is to use google, books, and ask thier friends for help. In the end, thier lack of language knowledge will drop thier productivity to the point that would be equally achieved if they fired them and then hired someone with downs-syndrome to do thier job.

    Yes. Over-reliance on an IDE makes a developer retarded when they lose that ide.

  218. Stupid question. by Anonymous Coward · · Score: 0

    Oh FFS. What has slashdot come to. Arguing about whether an IDE affects how good a developer you are? Use vi and stop fecking whinging.