Slashdot Mirror


Visual Studio vs. Eclipse: a Programmer's Comparison

Nerval's Lobster writes "Developer and editor Jeff Cogswell is back with a comparison of Eclipse and Visual Studio, picking through some common complaints about both platforms and comparing their respective features. 'First, let's talk about usability,' he writes, 'and let's be frank: Neither Eclipse nor Visual Studio is a model for sound usability.' That being said, as an open-source project, Eclipse wins some points for its customizability and compatibility with languages; it's more difficult to modify Visual Studio to meet some programmer needs, which has led to any number of abandoned projects over the years. Microsoft choosing to eliminate macros in recent versions of Visual Studio has also led to some programmer frustrations (and a need for external tools)."

543 comments

  1. Studio v. Eclipse by Anonymous Coward · · Score: 0

    Wait, what? There's a comparison to be made there?

    1. Re:Studio v. Eclipse by kthreadd · · Score: 2

      I believe so, or do you suggest that they are equal?

    2. Re:Studio v. Eclipse by binarylarry · · Score: 5, Informative

      Eclipse struggled a bit with the Eclipse 4 release but the new version Kepler is fantastic.

      Visual Studio is great if you're developing for Microsoft platforms.

      Fortunately, Microsoft platforms are growing less relevant by the day.

      --
      Mod me down, my New Earth Global Warmingist friends!
    3. Re:Studio v. Eclipse by Vanderhoth · · Score: 3, Insightful

      Is it important that a tree is equal to a fork? I know it's an exaggeration, but both are useful in completely unrelated ways that doesn't require comparison.

    4. Re:Studio v. Eclipse by lgw · · Score: 3, Informative

      There was a time that VS was just the best C++ IDE around. The best library docs, the best source debugger, and pretty decent at being an extensible editor with auto-complete for names. The peak was probably ~10 years ago, and Eclipse back then, well, it had a long way to go.

      Apparently "developers, developers, developers" didn't end well for developers using VS. It became less customizable each release, the focus shifted away from C++ (that part I can understand), and it kept getting more heavyweight. WTF? VS2010 at last seemed to be a step in the right direction, finally, but then the ribbon happened.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    5. Re:Studio v. Eclipse by Anonymous Coward · · Score: 1, Informative

      Which ribbon? VS2012 doesn't have any ribbons. Neither will VS2013. VS2012 may have a butt-ugly theme by default with a bad overhaul of the menu and toolbar icons but otherwise it is not appreciably different from VS2010.

    6. Re:Studio v. Eclipse by Pino+Grigio · · Score: 2, Insightful

      Yes, totally less relevant. Apart from large businesses, medium sized businesses, small businesses, government and home users, absolutely nobody needs to develop software for Windows.

    7. Re:Studio v. Eclipse by Anonymous Coward · · Score: 1

      "Everyone is entitle to their own opinion, as long as it is properly informed."

      Don't know where you get the "Microsoft platform is becoming less relevant by the day" remark; undoubtedly a typical Microsoft-phobic view that's here on /.. As an independent contractor who specializes in Microsoft technologies; the amount of work, the pay for the work and the quality of the projects are the highest I've ever seen.

    8. Re:Studio v. Eclipse by K.+S.+Kyosuke · · Score: 3, Insightful

      That's a completely different issue. He never claimed that that there is a user group with *zero* Windows relevance, merely that it's getting smaller.

      --
      Ezekiel 23:20
    9. Re:Studio v. Eclipse by smooth+wombat · · Score: 1, Troll

      It became less customizable each release,

      Sort of like Windows itself. Witness how much is hidden from the user in Vista/W7 (W7 is essentially the service pack for Vista) compared to XP, then even more so in W8. Sure, W8.1 gave you back the Start button, but as Penny Arcade pointed out, it only brings you back to the tiles in a big "Fuck You!" from the UI folks.

      --
      We will bankrupt ourselves in the vain search for absolute security. -- Dwight D. Eisenhower
    10. Re:Studio v. Eclipse by Anonymous Coward · · Score: 1

      At least the menu items are fixable with a quick registry tweak from Microsoft.But, yeah, the purple-and-grey theme blows.

    11. Re:Studio v. Eclipse by Anonymous Coward · · Score: 0

      To know which is useful for what is exactly what the comparison is for.

    12. Re:Studio v. Eclipse by Waffle+Iron · · Score: 2

      Yes, totally less relevant. Apart from large businesses, medium sized businesses, small businesses, government and home users, absolutely nobody needs to develop software for Windows.

      I'm not so sure about that. Most of the newer applications that I use at work seem to be web based these days.

      In the old days, these would have been implemented as a bunch of mostly mediocre Win32 applications. Now, they run in a browser on any OS.

    13. Re:Studio v. Eclipse by Anonymous Coward · · Score: 0

      There was no such time. 2003 was stable but very idiosyncratic, but prior to that VS had a tendency to spontaneously self-destruct (and write garbage to your source files, for some reason). It was also useless with auto-completion without using paid-for third-party addons (Whole Tomato Visual Assist was the sole reason to use Visual Studio 6).

      VS2005 was nice, and VS2008 was even better, but those really shined for C# and VB.NET. It was nothing special for C++ - the debugging was great at that point but in terms of editing C++ code almost any of its contemporary IDEs (or even decent text editors) was more useful.

      Damn was it good for C# code though.

    14. Re:Studio v. Eclipse by Gr8Apes · · Score: 2

      If you go that route, you can start with Borland C++, certainly better than VS. Or CodeWarrior.... VS wasn't terrible in its early years, for Windows coding. But it certainly wasn't the "best". And MS documentation has been at best mediocre.

      --
      The cesspool just got a check and balance.
    15. Re:Studio v. Eclipse by Gr8Apes · · Score: 1

      I suppose there are still businesses stuck with the MS tax in their business processes: paying for upgrades, which then force code upgrades in their rich client applications, which then force upgrades in server side applications, and so on. Other businesses decide to migrate to newer technologies with better TCO.

      --
      The cesspool just got a check and balance.
    16. Re:Studio v. Eclipse by lgw · · Score: 4, Insightful

      VS was the best debugger in the business, and if you're stuck with a legacy code base that's arguably the most important part of an IDE. And back when MSDN was installed with VS (instead of being a web site) it was amazing for its time, because you could select any library function name and with a keystroke get really well written docs for that library function fast. I used to have half my screen for code and half for the doc pane. Once it became wait-a-few-seconds-for-the web-page, that advantage was lost.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    17. Re:Studio v. Eclipse by Z00L00K · · Score: 1

      I agree that VS2012 looks like something thrown together by an ill-tempered kid in the beginning of the 80's.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    18. Re:Studio v. Eclipse by Gr8Apes · · Score: 1

      I'll certainly agree that the web based MSDN sucks rocks. I guess I missed the integrated IDE version, maybe having an earlier version and then the web based one. I can state that the web based MSDN didn't just suck because of the time issue though, content is even worse.

      --
      The cesspool just got a check and balance.
    19. Re:Studio v. Eclipse by lgw · · Score: 3, Insightful

      Somewhere about 5-8 years ago there was a distinct and obvious transition between MSDN docs written by good tech writers, and MSDN docs clearly written by devs - unsurprisingly this was about the time auto-generating docs from docstring comments became the thing to do.

      The docs for the old win32 stuff are still good though. Look at the docs for the famously-silly CreateFile() function. Everything is explained, including all the corner cases, but critically there's also the vital "but you probably just want to do X" hints that are so needed when the docs get this long.

      Contrast that with File.Create() which only hints at what the various options do (but at least has proper grammar, unlike some of the seldom-used stuff).

      --
      Socialism: a lie told by totalitarians and believed by fools.
    20. Re:Studio v. Eclipse by Anonymous Coward · · Score: 0

      I suppose there are still businesses stuck with the MS tax in their business processes: paying for upgrades, which then force code upgrades in their rich client applications, which then force upgrades in server side applications, and so on.

      Have you got any examples of that? I really can't imagine that is all that common. An upgrade that forces and upgrade on a rich client application that forces an upgrades on a server side application seems very rare. Most applications from 15 years ago still work perfectly fine on the latest versions of Windows, yes there are some that don't (particularly those that use badly written UI libraries that hard-coded API structure sizes and things of that nature) but there are relatively few.

    21. Re:Studio v. Eclipse by Horshu · · Score: 1

      Yeah, there was something like 3 or 4 consecutive VS releases where the advertised an all-new MSDN system, with the last one being "Go look on the web". Some of it's OK, like the Code Analysis window linking directly to rule violations, but the lack of a searchable index or an integrated window drives me nuts.

    22. Re:Studio v. Eclipse by Anonymous Coward · · Score: 0

      I prefer docs like this: http://perldoc.perl.org/functions/open.html
      If you're a noob - the first bit is good enough. If you want more, you scroll down and you see more advanced stuff.

      Microsoft's documentation has become rather terrible. Often there are no examples. On a related note - go try to find out how to compile VB.Net and C# stuff using multiple cores on Visual Studio and see how bad the documentation on that is.

      Worse are the social technet forums where Microsoft's reps answer questions. Many of them give wrong or unrelated answers. Maybe they are answering merely to meet some sort of quota. The end result is you have lots of wrong and crap answers to questions.

    23. Re:Studio v. Eclipse by TheSkepticalOptimist · · Score: 1

      I think you couldn't be more ignorant about VS if you tried.

      While I agree the UI direction Microsoft took as a whole towards "metro" flat monotone interfaces was a step way back to 1990, if anything Microsoft has made VS more flexible and open then ever.

      There is a "HUGE" extension library written by other people that offer more value to VS then out of the box. Also Microsoft beefed up the ability to write your own IDE integration so if you wanted a Python editor based in VS IDE, you could do so, and there is http://pytools.codeplex.com/. You can get all the great intellisense features working for you in whatever language and platform you have to target.

      I don't care about FUD, but FUD backed by complete ignorance is inexcusable. Educate yourself and come back to the discussion.

      --
      I haven't thought of anything clever to put here, but then again most of you haven't either.
    24. Re: Studio v. Eclipse by Anonymous Coward · · Score: 0

      You're a complete and total fucking idiot. Anyone who says otherwise is also a complete and total fucking idiot.

    25. Re:Studio v. Eclipse by lgw · · Score: 1

      My don't you bring a cheery tone to the discussion. VS6 was also quite customizable through the API (remember Whole Tomato?), but you could do a lot more simple stuff through just the VS UI itself.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    26. Re:Studio v. Eclipse by lgw · · Score: 1

      Yep, examples are everything. The old win32 stuff and a narrow selection of the most common C# stuff has good examples in MSDN, but you're generally off to Stack Overflow for examples of any MS library call introduced in the past 5 years.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    27. Re:Studio v. Eclipse by terjeber · · Score: 1

      VS2010 at last seemed to be a step in the right direction, finally, but then the ribbon happened.

      Are you on drugs? We are not talking about Microsoft Word here.

    28. Re:Studio v. Eclipse by terjeber · · Score: 1

      There was a time that VS was just the best C++ IDE around

      I totally disagree. VS was not that good for C++ ever. Others were. Borland was damned good, but in the Embarcadero hands it hasn't evolved much since that time, and every time I see an Embarcadero product I think I am looking at Windows 3.11.

      It is interesting comparing VS20xx for C# and Eclipse for Java though, since those two are where a lot of people will be. To me, VS20xx for C# is leaps and bounds and heads and shoulders above Eclipse for Java. Better auto-complete, very customizable (don't understand what people are talking about when they say VS is less cusomizable), more stable, a debugger Eclipse can not even dream about etc. With the latest Git integration in TFS, even that is "becoming usable".

  2. Out of the box by Anonymous Coward · · Score: 4, Insightful

    Out of the box, VS wins hands-down.

    1. Re:Out of the box by Vanderhoth · · Score: 0

      Until you add the extensions to Eclipse that let you program in several different languages, maintain different forms of content management systems, include issue tracking systems and run the programming environment on several different platforms. Eclipse is light years ahead because if it's modularity and extendibility.

    2. Re:Out of the box by Shados · · Score: 3, Interesting

      Of course everything you described is the bare minimum for a modern IDE. Eclipse does have an advantage because it has more extensions written for it, but both IDEs have a ton (VS is also extremely extensible and has countless extensions written for it too).

      But you're not helping your case if you only mention core IDE features. Issue tracking integration? ::GASPS:: stop the press!

    3. Re:Out of the box by binarylarry · · Score: 2

      Effective project management is pretty hard to implement properly (ask most developers).

      Eclipse's Mylyn integration goes a long way towards making that aspect easier.

      --
      Mod me down, my New Earth Global Warmingist friends!
    4. Re:Out of the box by TheDarkMaster · · Score: 1

      If you can make it work right. (and in some cases is a lost cause.)

      --
      Religion: The greatest weapon of mass destruction of all time
    5. Re:Out of the box by Anonymous Coward · · Score: 3, Informative

      And VS has TFS, which integrates with Sharepoint, Project, Dynamics CRM, and any of the Dynamics accounting systems (or any other software that integrates with CRM or Dynamics, like QuickBooks or ConnectWise).

      How is Eclipse's Mylyn integration anything special? It's free? I don't see that being much of a big deal to a business. Maybe to a small dev shop or a lone developer it matters because it's within reach. But to a business that wants to automate almost everything in the PM toolchain, Eclipse isn't even on the radar.

    6. Re:Out of the box by Z00L00K · · Score: 1

      Not if you have used Eclipse as much as you have used VS.

      Both has some flaws - as well as advantages. But Microsoft has taken the wrong turn in usability lately.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    7. Re:Out of the box by dkf · · Score: 4, Informative

      And VS has TFS, which integrates with Sharepoint

      You mean the collaborative web system that barely manages to do basic things like integrate its calendar with Outlook, let alone Exchange or the other plethora of calendaring systems out there?

      My friend, you're exhibiting a lot of Stockholm syndrome there; do you work for Microsoft perchance? (If you do, when will Sharepoint support CalDAV? Even read-only would be genuinely useful, because that will let me pull the calendar events into my dev team's main shared calendaring system from some of our external partners rather than leaving their meeting requests orphaned.)

      But to a business that wants to automate almost everything in the PM toolchain, Eclipse isn't even on the radar.

      The biggest issue with that approach is that VS is tied to a single platform. If you're not working somewhere that buys into the whole of that stack, you're utterly uninterested in any of it. That's a lot of pro development shops, whatever you think.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    8. Re:Out of the box by Anonymous Coward · · Score: 0

      Why would you want to automate the whole PM toolchain? You want project managers, not project button-pushers.

    9. Re:Out of the box by binarylarry · · Score: 1

      Mylyn has TFS too, along with every other major project management system:

      http://www.tasktop.com/connectors/

      --
      Mod me down, my New Earth Global Warmingist friends!
    10. Re:Out of the box by Anonymous Coward · · Score: 0

      But every plugin you add increases the chances that you will hit the "20 second pause bug". That's the bug where you do something and it pauses for 20 seconds. My current Eclipse is a mandated older version for a client -- probably 3.5 or so. I've used newer versions before, though.

      In this workspace, on this machine with this Eclipse version and these plugins, it will give me the round circle of waiting for 20 seconds when I "compare the the base SVN revision," and occasionally when I double click on a "word" to select. Not the latter too much. The former happens maybe once a day or two.

      I live with it.

      I don't know what it is. Its been in every version of Eclipse that I've used and that's back before one of the version 2.x ones.That first one nearly drove me mad because it would do it everytime I saved. What amazes me is that its been almost exactly 20 seconds for over 10 years and many Eclipse versions. Its probably something timing out when it can't find something it wants.

      The new versions don't have it as much. If you rebuild a workspace, sometimes it goes away. If your reinstall Eclipse, sometimes it goes away. Mostly I just live with it knowing that my next programming effort will use a new machine and a new Eclipse version and new plugins.

      Other than that, Eclipse lets me get things done fast and easy. So I guess a mandated break for a cup of coffee isn't that bad.

      - posting as AC since my login disappeared while I was typing. - leemeador

    11. Re:Out of the box by Anonymous Coward · · Score: 0, Funny

      Hell no, I cannot even start it it says "Bad ELF", never had that issue with eclipse

    12. Re:Out of the box by Anonymous Coward · · Score: 0

      My friend, you're exhibiting a lot of Stockholm syndrome there; do you work for Microsoft perchance?

      why must every lame attempt at a rebuttal to a microsoft comment include this rubbish, from the rest of you comment you obviously can't argue your point on merit alone so for whatever reason you clearly just have a pathological disdain for microsoft.
      no vs isn't perfect, no its integration is perfect and neither is mylyn. if you want to give a comparison between the two or explain the problem you have integrating exchange calendars with sharepoint then go right ahead, that would be very useful, but it seems you just want to suggest that because he points out that vs integrates project management with project management tools he must work for microsoft, that contributes nothing.

    13. Re:Out of the box by Rob+Riggs · · Score: 2

      Out of the box, VS wins hands-down.

      Until you need to target a non-MS operating system...

      --
      the growth in cynicism and rebellion has not been without cause
    14. Re:Out of the box by Anonymous Coward · · Score: 0

      Maybe because Sharepoint is so far from feature complete, it's difficult to see how integrating with it is worth anything at all? Take the wiki: No templating / transclusion, no redirects, no wiki links to uploaded files (just fragile hard links), no categorisation, 404s don't search, links to sections require extra steps, no automatic table of contents, doesn't even have edit summary logs.

      Sharepoint might do other things too, but the wiki is so messed up (see paragraph 1), it's completely unfounded to suppose that anything else might be good. Then you find out the file upload area has versioning *turned off by default"...

      As someone who has used a variety of wiki & VC platforms including Sharepoint, hearing someone endorse Sharepoint tells me either 1/ they don't have the experience to make an informed decision, or 2/ they're not going to use it themselves and are judging it based of boxes ticked in a sales presentation, or 3/ they have some concealed motive.

    15. Re:Out of the box by Anonymous Coward · · Score: 0

      I have found that both VS and Eclipse have there perks and quirks.. Depending on your project one more than the other.. Now Lazarus which is always overlooked has been my savior on more than one occasion.

    16. Re:Out of the box by Anonymous Coward · · Score: 0

      Not true at all. VS has problems even if the target architecture is MS. It's great
      if your target system == development system, but if you target has a smaller architectural
      footprint (think a retail cash register), it quickly becomes unwieldly and intrusive to try to use
      any of its debugging tools (let alone install it). Also, it uses *different* libraries for debug build vs.
      production build to make things interesting.

      Borg didn't realize not everyone has the deep pockets to throw at it; minimal systems are a reality.

    17. Re:Out of the box by terjeber · · Score: 1

      Until you add the extensions to Eclipse that let you program in several different languages, maintain different forms of content management systems, include issue tracking systems and run the programming environment on several different platforms

      • "extensions to Eclipse that let you program in several different languages" - no prob with VS, ships with a number out of the box, others are trivial to download and install (VS20xx has excellent Python support for example) or add using VS extension methods etc. In fact, VS generally does this better than Eclipse IMHO.
      • "maintain different forms of content management systems" - check for VS20xxx, with many to download and install, easy to build your own
      • "include issue tracking systems" - VS20xx does this very, very well.
      • "run the programming environment on several different platforms" - yeah, there is that one, but Eclipse on Linux is a nightmare compared to Eclipse on Windows, and Eclipse on Windows is about equal to VS20xx on Windows, so I don't see the usability advantage.

      Eclipse is light years ahead because if it's modularity and extendibility

      This is entirely incorrect and the statement is based on ignorance. Just because Eclipse is extremely extensible that doesn't mean that others are not. The only advantage really Eclipse has is that you can use it as a platform for your own applications - as many have. That is a great feature, and not something you can do with Visual Studio. On the other hand, that hasn't really got anything to do with either product as a product though, but is about the fact that Eclipse is a product and a Platform on which you can build your own stuff.

    18. Re:Out of the box by terjeber · · Score: 1

      If you need it to be Mylyn, just install a Mylin plugin (Tasktops has one for example). On the other hand, TFS with integration with all of the other Microsoft products is way better.

    19. Re:Out of the box by Anonymous Coward · · Score: 0

      You mean the collaborative web system that barely manages to do basic things like integrate its calendar with Outlook, let alone Exchange or the other plethora of calendaring systems out there?

      On behalf of the few professionals who took the time to learn why SharePoint is the fastest growing product in Microsoft history, we truly thank you. It's jaded professionals like yourself that allow us to do so well both financially and through a wealth of opportunity. Keep up the hate!

    20. Re:Out of the box by Anonymous Coward · · Score: 0

      Out of the box, VS wins hands-down.

      It wins the contest for slowest and buggiest IDE, hands down. That's quite correct. I always dread having to do something with VS. When is Microsoft going to hire some competent programmers to put in charge of development for their platform?

  3. Um excuse me ... by Anonymous Coward · · Score: 5, Insightful

    A developer with sufficient skills can be productive in ....

    A developer with sufficient skills can be productive in anything.

    vi.

    gedit.

    emacs/xemacs

    Pencil and paper.

    And on very VERY rare occasions, I've seen developers who did everything their head and just typed in any old text editor.

    1. Re:Um excuse me ... by kthreadd · · Score: 4, Funny

      Forget text editors. Real developers adjust bits directly in memory using the switches on the operator panel.

    2. Re:Um excuse me ... by binarylarry · · Score: 5, Funny

      Fuck that shit bitch, butterflies for life.

      --
      Mod me down, my New Earth Global Warmingist friends!
    3. Re:Um excuse me ... by kthreadd · · Score: 0, Flamebait

      Emacs is pretty much an IDE; an IDE with a suboptimal text editor I would say, but the SCM integration is quite neat.

    4. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      The point of an IDE is to make a programmer more productive. I bet you're a "real" programmer writing in emacs from your moms basement though.

      No. That's not it at all - and I really come across like that?? (i need to work on that)

      Anyway...

      My point is - when you are comfortable with a system of development, you know the ins and outs of that system.

      I've seen folks who can make Visual Studio sing to the point that it looks like developing software is just dragging and dropping objects and inserting a statement in a generated method.

      I have seen embedded developers make their MAKEFILEs sing with just a text editor.

      Because that's how they've been working for years.

      Personally, I'm an Eclipse/PyDev fan - BTW, the dev for PyDev is sucking wind and asking for donations. I'm doing what I can and if anyone else thinks his work is worthwhile ....

      Frankly, when I'm working with C/C++ code on Linux, I love Netbeans. It has wonderful makefile conversion abilities - I hate makefiles, especially GNU make - don't get me started. I "grew" up with IBM makefiles and GNU's - arrrrrrg.

    5. Re:Um excuse me ... by Anonymous Coward · · Score: 1

      Wow. I wish I were that elite. I mean, changing the world with out tools? That's like fixing a car with your mind.

    6. Re:Um excuse me ... by K.+S.+Kyosuke · · Score: 1

      an IDE with a suboptimal text editor

      Only until you turn on Paredit.

      --
      Ezekiel 23:20
    7. Re:Um excuse me ... by Anonymous Coward · · Score: 2, Funny

      Yeah, never forget the good old C-x M-c M-butterfly.

      captcha: bearded, just on the day I decided to shave. FML

    8. Re:Um excuse me ... by lgw · · Score: 0

      Bah, you're only a real developer if you use the operator panel to patch running programs in memory!

      Sadly, I've actually done this. It's sort of the opposite of "productive". It's not about what tools you can live without, it's about what makes you fastest, and that's usually about debugging, not typing in code.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    9. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      Looking back at it, being able to change memory contents and get a crashed programming running again was a feature I'd love to be able to use now. And programming via the switches on the front panel made you feel like you'd really accomplished something.

    10. Re: Um excuse me ... by Anonymous Coward · · Score: 1

      It's suboptimal alright. Let's face it, it's not vi.

    11. Re:Um excuse me ... by pr0fessor · · Score: 2

      Punch Cards!

      I'm so glad those were gone by the time I started into computers.

    12. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      And on very VERY rare occasions, I've seen developers who did everything their head and just typed in any old text editor.

      If you're not doing anything in your head before typing it out you are nothing more than a code monkey.

    13. Re:Um excuse me ... by GoogleShill · · Score: 1, Interesting

      My friend fired a developer for refusing to use an IDE.

      I'm sorry, but no developer can ever be as productive using text editors over IDEs, once they man up and learn how to use them. For instance, renaming a class method that is called by numerous other classes is a 3 second operation in Eclipse, and possibly hours long in bash, with a much higher chance of breaking something. In fact, most refactoring operations cannot be done efficiently outside of an IDE.

    14. Re:Um excuse me ... by prasadsurve · · Score: 1

      Real Programmers: http://xkcd.com/378/

    15. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      So I actually did write a few programs in punch cards. The painful way to do it was to type each one out. But!

      What my dad said was that the programmers he worked with did was they kept neatly organized blocks of punch cards, sometimes color coded. You programmed via a process of collating cards from your stacks of prepunched cards. It was faster than you would think. Also, way back in school I saw a elderly professor cutting and pasting a new version of his book, using cut out sections of the old book. Again I think he was faster than you'd think.

    16. Re:Um excuse me ... by steelfood · · Score: 1

      Yeah, I use that feature in Emacs all the time.

      --
      "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
    17. Re:Um excuse me ... by Darinbob · · Score: 3, Funny

      I don't think the skilled developer is going to be very productive on Visual Studio for Linux.

    18. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      I work with some people that do this, they program FPGA's.

    19. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      My friend fired a developer for refusing to use an IDE.

      I'm sorry, but no developer can ever be as productive using text editors over IDEs, once they man up and learn how to use them. For instance, renaming a class method that is called by numerous other classes is a 3 second operation in Eclipse, and possibly hours long in bash, with a much higher chance of breaking something. In fact, most refactoring operations cannot be done efficiently outside of an IDE.

      So if you are given a blackbox running nothing but pure vanilla *nix and you are asked to fix a bug on the spot your response as a big bad ass developer will be - UHHH I am sorry, but I need IDE installed before I can figure what the f* I am suppose to do .... Honestly, if your friend worked for me I would have canned his a** with a parting gift of a free copy of his favorite IDE.

    20. Re:Um excuse me ... by Darinbob · · Score: 3, Insightful

      I don't know, great editor but lacking a bit to make a good IDE. I don't like IDEs though so I don't mind that. The whole concept of having a single window to view code in that is surrounded by auxillary rarely used windows just seems backwards, and yet that seems to be the dominant design. Also the idea that all tools must be a part of the same overarching tool seems wrong, since it prevents you from mixing and matching the best tools. Ie, if you have an IDE with a great editor but its debugger is mediocre, then the entire IDE becomes mediocre; in some cases I have seen some developers use several IDEs in parallel to get the best of each, which also defeats the idea of "integrated".

      Emacs does what is important with an IDE, lets you edit, lets you run a debugger and present the data within it, lets you start a build and present the results within it, and lets you manage the source code control. Basically it has a way to integrate other text based tools. It doesn't need to be a Windows style MDI application to do that.

      First IDE I used was in 1981, UCSD Pascal. Edit/compile/debug in a straight forward tool. Things do not seem to have improved that much since then. Maybe they're prettier though.

    21. Re:Um excuse me ... by Darinbob · · Score: 3, Insightful

      Fired? That's ridiculous. Let the developers use the tools they are comfortable with.

      If you're doing a 3 second refactor with a tool then that means you are not cross checking to be sure that the tool did it right or the way you wanted it done, so add at least an hour to do that to do it right. Never trust a tool to do the right thing, unless you're in the sort of dysfunctional environment where fast code is more important than correct code.

    22. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      ...there's an emacs command for that.

      C-x M-c M-butterfly

      -Ravenlrd20K

    23. Re:Um excuse me ... by Dcnjoe60 · · Score: 3, Informative

      My friend fired a developer for refusing to use an IDE.

      I'm sorry, but no developer can ever be as productive using text editors over IDEs, once they man up and learn how to use them. For instance, renaming a class method that is called by numerous other classes is a 3 second operation in Eclipse, and possibly hours long in bash, with a much higher chance of breaking something. In fact, most refactoring operations cannot be done efficiently outside of an IDE.

      I would have fired your friend. Was the developer coding below expectations? Was the developer's code inferior in a way that an IDE would improve? Was the developer productivity a problem? If the answer to any of those questions is "No," then what difference does it make what tool he/she uses. IDEs are good for some things and lousy for others. Refactoring is something they are good for, but at the same time, if it is taking 3 seconds to do in Eclipse and hours in bash, then something else is wrong, regardless, that example assumes one is going to be refactoring on a regular basis. If that is the case, then the IDE is making up for other programmer inefficiencies.

      If you have a productive developer, who cares what editor/IDE they are using? The job of a manager is to remove the obstacles that keep employees from being productive, not making them jump through hoops.

    24. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      You know how many classes we have in the linux kernel? (hint: less than 1)

      That said, it's just as fast for us to sed a mass-rename as it is for you to click Edit->Find/Replace and start your typing. If you're really slick, maybe you even remember the hotkey to bring up the find/replace window. You aren't saving one nanosecond with your IDE. By avoiding learning how to code [without an IDE], you are ensuring that those of us who know how to code with a text editor and an IDE will: 1) always be preferable for hiring, 2) always be useful, even without a mouse and GUI

      Food for thought...or you can just ignore it and go back to making whatever they pay you to code in your IDE

    25. Re:Um excuse me ... by Z00L00K · · Score: 1

      At worst - create a hex editor and enter the binary from hand-assembled code. But then it must be desperate times.

      VIM rules b.t.w. :p

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    26. Re:Um excuse me ... by OldCodger · · Score: 2

      Real programmers: http://xkcd.com/974/

    27. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      No, you pretty much need to be doing the refactor in 3 seconds. Then you let your build and test tools take care of that checking for you. This "never trust a tool to do the right thing" mentality comes right out of the dark ages, and if I'd stay away from any team with lead members saying things like that.

    28. Re:Um excuse me ... by X0563511 · · Score: 1

      You can do that. Set your program up to halt instead of die in an error condition, and when it dies attach a proper debugger.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    29. Re:Um excuse me ... by X0563511 · · Score: 1

      What if he's doing it on paper, or a whiteboard?

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    30. Re:Um excuse me ... by GoogleShill · · Score: 0

      Sure, if a developer can produce equivalent code and perform tasks as efficiently as everyone else on the team, then it doesn't matter what tool they use to get there.

      My point is that is impossible.

      There are TONS of time saving features in Eclipse, and learning them is not hard. The people who choose to not use them are people who are either scared to learn them, or think they're hardcore because they code everything using vi. There is no place on a professional software team for either. The person who got fired REFUSED to use an IDE... He was obviously the latter.

      Look at it this way: if a project needed a simple Java package name changed, and a developer said "Ok, I'll have that done by tomorrow", would you keep them on board knowing that using the right tool for the job would have taken 3 seconds?

    31. Re:Um excuse me ... by bertok · · Score: 5, Insightful

      Well, I'd never hire you in the first place, because modern IDEs are the automation of the software development world and demonstrably improve productivity while lowering error rates.

      You're basically saying that we should let the guys in the warehouse manhandle 500kg loads by hand because they "prefer" not to use the forklifts. We should just let them do whatever they please, because that's what makes for good management, right?

      I've been in mixed work environments before where everyone just used whatever tools they wanted: Linux, Windows, Mac, Vi, Emacs, etc... I personally used IntelliJ IDEA on Windows because it had code analysis and safe refactoring. My productivity was at least 50x higher than other developers. I was told not to submit changes too fast because the code reviewers couldn't keep up. Note that I didn't say I was 50x better than anyone else -- there were smarter and more experienced developers there -- but I was running circles around them because of the tools that I was using. A woodcarver, no matter how skilled in his art, simply cannot keep up with a CNC milling machine. A blacksmith cannot possibly outproduce a ten ton press that can stamp out a part every five seconds.

      Inefficiencies were everywhere: they took 30 seconds to check out a file from source control using a command-line tool, whereas I could just start typing with a barely noticeable pause on the first character as the IDE does it for me. They used "diff", I used a GUI 3-way merge tool that syntax highlighted and could ignore whitespaces in a semantically aware way. There was one particularly funny moment when some guy walked up to me to ask me to look into a bug in a specific method. He starts off with the usual "now go to the xyz folder, abc subfolder, now somewhere in here there's a..." meanwhile I'm staring at him patiently because I had opened the file before he'd even finished giving me the full method name at the start of his spiel. Global, indexed, semantic-aware, prefix search with jump to file is a feature of IntelliJ IDEA, not Emacs or Vi. He's never even heard of such a thing! Thought it was magic. Grep couldn't have found the method anywhere near as fast, not through 30 million lines of code anyway, and then it would have returned every reference to the method name as well, not just the method definition itself. Then I'd have to find the damned file in a haystack of thousands and open it manually anyway.

      Minutes of work in a seconds, hours in minutes.

      It's not about typing, or shortcuts, or block select, or the specific dialect of regular expressions in your favorite text editor. It's about indexing, refactoring, code analysis, live error highlights, popup-help, tab-complete, source control integration, boilerplate generation, integrated debuggers, and a thousand other things that most programming oriented text editors simply do not have. It's about letting the CPU in your computer do what it is there for, instead of just waiting patiently for the next keyboard interrupt so that it can use all 3 gigahertz of power to put a byte into a buffer and then go back to sleep.

      It's not even a good idea to let developers pick their favorite IDE either, because there are productivity gains to be had from consistency. Training is cheaper, licenses can be purchased in bulk, plugins will work for everyone, custom extensions may be cost-effective to develop for one IDE but not many, etc...

    32. Re:Um excuse me ... by GoogleShill · · Score: 0

      Apparently you haven't used a decent IDE or have not worked on a large codebase. A simple method rename can easily take hours from the command line and has MUCH higher chance of screwing something up. I've never in my life seen Eclipse bork a refactor.

      Productivity counts. If a dev refuses to use the right tool for the job, then they are wasting time and money. They should be fired.

    33. Re:Um excuse me ... by znanue · · Score: 1
      Absolutely agree with this.

      I always bit-check the output of my compiler, because hey you never know!

    34. Re:Um excuse me ... by Dcnjoe60 · · Score: 0

      Look at it this way: if a project needed a simple Java package name changed, and a developer said "Ok, I'll have that done by tomorrow", would you keep them on board knowing that using the right tool for the job would have taken 3 seconds?

      It depends, is the person a valuable member of the team or somebody I'm looking for an excuse to let go? Chances are, if the developer is be let go because they refuse to use an IDE, there is more going on. Why didn't that preference turn up during the interview process? Unless, maybe this is an older long term employee and a newer, younger manager..... But, no, it probably is just because the manager knows best and knows that everybody programs better with and IDE.

    35. Re:Um excuse me ... by Dcnjoe60 · · Score: 1

      I never said any such thing. Although, right now I am doing assembly on a a custom chip. Do you have an IDE for me, I'd love for you to increase my productivity. Of course, there is only 256K ram available.

      There is nothing wrong with IDEs, however, they are simply a tool, no more and no less.

    36. Re:Um excuse me ... by znanue · · Score: 1
      I hate +1 posts but I found yours very well expressed! Totally agree.

      But, I think the crowd always saying use vi for this or that are the kinda people whose job is more about optimizing complex algorithms than it is about writing lots of business logic. There I can see that speed of code lookup is far less important than getting things exactly right, and while I still think an IDE would be helpful it would dramatically change the cost-benefit analysis for such a coder.

      Otherwise, bravo!

    37. Re:Um excuse me ... by znanue · · Score: 1

      cross compile

    38. Re:Um excuse me ... by Darinbob · · Score: 2

      But if you've got Linux already, why use Windows as the development environment?

    39. Re:Um excuse me ... by bertok · · Score: 1

      But, I think the crowd always saying use vi for this or that are the kinda people whose job is more about optimizing complex algorithms than it is about writing lots of business logic.

      My point still stands: I was working on 3D games at time! I would have killed for the concurrency visualiser in Visual Studio, because the engine was multi-threaded. Similarly, live edit-and-continue debugging has its uses when twiddling around with something like a tree rebalancing algorithm.

    40. Re:Um excuse me ... by Cazov · · Score: 1

      The requirement is to produce correct enough code in some time-frame. Who cares what tools are used to accomplish this as long as desired results are consistently achieved?

    41. Re:Um excuse me ... by Miamicanes · · Score: 2

      > Although, right now I am doing assembly on a a custom chip. Do you have an IDE for me,

      One of the following might be appropriate: Keil, Codewarrior, AVR Studio, MPLab, CubeSuite+, HEW, Xilinx ISE, Quartus, or ISPLever. Look at Keil first... if it's even a halfway-modern chip or popular chip, they probably have an IDE for it, and it's probably a damn good one. For m68k, Codewarrior is pretty much the gold standard (though if you're starting from scratch now, Keil is probably a better time-investment).

    42. Re:Um excuse me ... by Myopic · · Score: 1

      I think a lot of programmers just don't refactor. Once they have a method name, that's it, forever and ever, no changes. To me that is negligent programming. Symbol names should be descriptive and useful and the description and use of methods often change. Refactoring tools is my #1 favorite feature of Eclipse (my fav IDE despite one frustrating bug), and I love lots of other features too.

    43. Re:Um excuse me ... by hot+soldering+iron · · Score: 1

      They were part of my introduction to computers, and almost part of my exit.

      --
      When you want something built, come see me. If you want correct grammar and spelling, get a F*ing liberal arts student.
    44. Re:Um excuse me ... by Myopic · · Score: 1

      I think this

      "Was the developer's code inferior in a way that an IDE would improve?"

      is obviously "yes". It's sort of implied in the description.

      Nobody would say "Gosh, Sergey, you are the most brilliant person I've ever met, you are like Neo rearranging reality with your code, and you've already made me a million dollars in productivity improvements during the first week you've worked here. Your output is unmatched among any mortals, but you're fired because you don't use an IDE, and nothing else matters."

    45. Re:Um excuse me ... by Miamicanes · · Score: 2

      Actually, here's an even better example: the Atari 2600. Check out demos and homebrew games created for the 2600 since ~2008 using Stella's debugger, and imagine what somebody like David Crane could have done if he'd had the ability to do the equivalent of stop the CRT's electron beam and see what's going on with the video kernel. RAM was obviously a factor 30 years ago, but development tools have a lot to do with it, too.

      Imagine if Amiga game designers had been able to sneak into a secret "future room", boot Photoshop 6 on a Thinkpad delivered to them from the future, do their artwork, convert it to some Amiga-friendly binary format, and save it to floppy disks. HAM was a BIATCH to work with, but GETTING TO the point of having 12-bit art in the first place was an uphill battle in itself.

      In retrospect, even computers like the c64 were perfectly capable of halfway-decent Soundtracker-like music (at least, as long as they didn't have to do anything ELSE at the same time, like the title screen), and even an Apple II could have probably done some mod-magic for the title screen. It just never occurred to anyone at the time, because playback is almost a minor challenge compared to creating the music in the first place. We were so busy synthesizing monophonic square waves, the idea of PWM -- let alone pre-calculating wave tables at 1/2 or 1/4 volume & summing them up in realtime -- never even entered into the equation. I remember struggling with the very *idea* that meaningful single-bit digital audio was possible.

      The really sad thing is, I remember sitting in band class in 10th grade one day wondering why you COULDN'T emulate polyphony by sampling two or three instruments playing different notes, then change samples on the fly at playback time to simulate 2- or 3-channel polyphony with one channel (the number of samples would have actually been semi-sane, because even though there are 12 tones in an octave when you include sharp/flat notes, actual western music only uses a few well-known combinations). I actually tried some experiments, but I didn't understand the zero-crossing problem (hey, I was 16, OK?), and never figured out a way to stop the thuds that plagued note/sample changes. Had I understood physical acoustical modeling and come up with a way to pre-generate the attacks, sustains, and decays separately (instead of just sampling myself and a friend playing a few dozen note permutations) in a way that ensured that transitions occurred at zero-crossings, it might have actually worked. Sigh. Chalk one more thing up to the list of "things I could have done differently and changed the world with the knowledge I have now..." ;-)

    46. Re:Um excuse me ... by Darinbob · · Score: 1, Funny

      So hurricane Sandy was you?

    47. Re:Um excuse me ... by smellotron · · Score: 2

      He's never even heard of such a thing! Thought it was magic. Grep couldn't have found the method anywhere near as fast, not through 30 million lines of code anyway, and then it would have returned every reference to the method name as well, not just the method definition itself.

      A competent vim/emacs developer probably uses etags for indexing identifiers. I agree that grep is a poor, disk-intensive, high-latency tool for this particular job; but it is a straw man.

      It's not even a good idea to let developers pick their favorite IDE either, because there are productivity gains to be had from consistency.

      Many a whitespace war could be circumvented entirely by forcing a team-wide editor. I've never seen it done, though.

    48. Re:Um excuse me ... by MikeBabcock · · Score: 1

      I miss vim every time I use an IDE ... I love a good integrated suite as much as the next guy but I love my quick scriptable editor even more.

      --
      - Michael T. Babcock (Yes, I blog)
    49. Re:Um excuse me ... by MikeBabcock · · Score: 1

      Please name and shame the company so none of us have to work there.

      --
      - Michael T. Babcock (Yes, I blog)
    50. Re:Um excuse me ... by MikeBabcock · · Score: 1

      I can script a method rename in under five minutes at the command-line in bash ... /with/ git integration.

      What's wrong with your process exactly?

      --
      - Michael T. Babcock (Yes, I blog)
    51. Re:Um excuse me ... by MikeBabcock · · Score: 1

      No, good programmers who communicate well with each other and management are productive.

      PS ctags. Not grep, ctags. At least know your tools.

      --
      - Michael T. Babcock (Yes, I blog)
    52. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      > demonstrably improve productivity while lowering error rates.

      Horseshit. Better design does that.

      Incidentally, I wouldn't hire you, and I have better paid jobs available.

    53. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      One of the reasons I switches to using an IDE was specifically refactoring. Without one to do the dirty work, it's not convenient enough to keep on it.

      Can't stand Eclipse though, but I write most of my code in C. I think for C, Eclipse doesn't bring enough to the party for how heavy weight and clunky it is so I prefer something lighter weight.

    54. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      It more like this.

      Developer refuses to use the IDE that the project was written with. Along with the code itself are a bunch of configuration and project files that are managed by the IDE. Instead of using the IDE the programmer uses a text editor under linux, constantly bitches because things like tabs and line endings. Hand edits the automatically generated make files. Takes forever to make simple changes and when he is done the next guy can't check out the project and just work on it because the workspace and config files for the IDE no longer match the code base.

    55. Re:Um excuse me ... by Man+On+Pink+Corner · · Score: 1

      Forcing me to use an IDE is like forcing me to use a forklift to change a light bulb. I'll work for somebody else, thanks.

    56. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      Fired? That's ridiculous. Let the developers use the tools they are comfortable with.

      If you're doing a 3 second refactor with a tool then that means you are not cross checking to be sure that the tool did it right or the way you wanted it done, so add at least an hour to do that to do it right. Never trust a tool to do the right thing, unless you're in the sort of dysfunctional environment where fast code is more important than correct code.

      So, do you also manually verify the binary to make sure the compiler compiled your code "the way you wanted it done"? Never trust a tool to do the right thing, eh?

    57. Re:Um excuse me ... by khchung · · Score: 2

      It's not about typing, or shortcuts, or block select, or the specific dialect of regular expressions in your favorite text editor. It's about indexing, refactoring, code analysis, live error highlights, popup-help, tab-complete, source control integration, boilerplate generation, integrated debuggers, and a thousand other things that most programming oriented text editors simply do not have. It's about letting the CPU in your computer do what it is there for, instead of just waiting patiently for the next keyboard interrupt so that it can use all 3 gigahertz of power to put a byte into a buffer and then go back to sleep.

      THIS. This is hardest part for many old school, text-editor-only programmers to understand, and this is no different from writers who insisted on using mechanical typewriters instead of more modern text editors.

      In fact, I once viewed a video of a fiction writer doing his writing, and I was surprised that his tool don't automatically highlight and index all reference of every characters in the story. Guess I am too used to modern IDEs.

      --
      Oliver.
    58. Re:Um excuse me ... by jgrahn · · Score: 1

      I've been in mixed work environments before where everyone just used whatever tools they wanted: Linux, Windows, Mac, Vi, Emacs, etc... I personally used IntelliJ IDEA on Windows because it had code analysis and safe refactoring. My productivity was at least 50x higher than other developers. I was told not to submit changes too fast because the code reviewers couldn't keep up. [...]

      I cannot take a claim of 50 times higher productivity seriously. But, finally real examples! Here's my take, as an "Unix is my IDE" user:

      Inefficiencies were everywhere: they took 30 seconds to check out a file from source control using a command-line tool, whereas I could just start typing with a barely noticeable pause on the first character as the IDE does it for me.

      Ok, the systems I use mostly don't require a checkout. Still 30 seconds is hard to explain; I'd do it in 2--3 seconds from Emacs or the shell, if there's no need for a checkout comment. But for systems which do require an explicit checkout, I'd prefer to do it explicitly: plan my work so that I check out roughly the right files with the right comments before I start editing.

      They used "diff", I used a GUI 3-way merge tool that syntax highlighted and could ignore whitespaces in a semantically aware way.

      That's not even the same task, so I fail to see the point. Diffing is indeed something you need to do to be efficient. I like to do simple diffs from Emacs, but often you want something more like "what's my current delta against what's checked out, across the whole project?" and that's better done from the shell.

      For (manual) merging, I find GUI merge tools terribly inefficient compared to the "merge and leave both versions of conflicts in the file" strategy of diff3/CVS/Git ... I helped introduce that as an alternative at work (where we used to have only GUI 3-way, sequentially over each conflicting file, in a fixed order).

      There was one particularly funny moment when some guy walked up to me to ask me to look into a bug in a specific method. He starts off with the usual "now go to the xyz folder, abc subfolder, now somewhere in here there's a..." meanwhile I'm staring at him patiently because I had opened the file before he'd even finished giving me the full method name at the start of his spiel. Global, indexed, semantic-aware, prefix search with jump to file is a feature of IntelliJ IDEA, not Emacs or Vi. He's never even heard of such a thing! Thought it was magic.

      If you have coworkers who believe that's magic, you do have a problem.

      But you also have a point here: etags/ctags don't play well with "overloaded" names. Fine with C, not so fine with C++ and possibly worse with Java (since you don't have header files which summarize interfaces). As a C++ guy, I admit that is a weakness of my environment, and it does hurt my productivity somewhat.

    59. Re:Um excuse me ... by Blaskowicz · · Score: 2

      Agreed, when I do a search and replace in notepad I then check everything was replaced. Then when I do a multiplication of two big numbers in a calculator I check the result by calcuting it by hand.

    60. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      I can do it in less than 10 seconds. Right click, rename, type new name, press enter. All references renamed by IDE.

      What's wrong with your process exactly?

    61. Re:Um excuse me ... by TheLink · · Score: 1

      and even an Apple II could have probably done some mod-magic for the title screen

      Don't know about mod, but you can do polyphony and more complicated sounds:
      https://www.youtube.com/watch?v=iW2kFcePevs
      https://www.youtube.com/watch?v=MMvXLiUTAKI
      https://www.youtube.com/watch?v=8fgok9eHqO8#t=0m30s
      https://www.youtube.com/watch?v=6FDtXflMBmw

      --
    62. Re:Um excuse me ... by anyanka · · Score: 1

      Or just set it to dump core, and then attach a debugger to the core file.

    63. Re:Um excuse me ... by X0563511 · · Score: 1

      Can you continue execution from a core file?

      I think the idea was to be able to correct a fault in the debugger and continue execution, detaching once you're sure it was operating normally.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
    64. Re:Um excuse me ... by GoogleShill · · Score: 2

      It depends, is the person a valuable member of the team or somebody I'm looking for an excuse to let go? Chances are, if the developer is be let go because they refuse to use an IDE, there is more going on. Why didn't that preference turn up during the interview process?

      A person who wastes time out of arrogance is not a valuable member of the team. There was nothing else going on, period. There is an expectation of professionalism in software development, so questions like this don't typically come up in an interview. People are expected to know how to efficiently do their job and not waste time.

      Boss: I need X done.
      Dev: That will take me X hours.
      Boss: Why? It would only take X/10 hours if you use this tool.
      Dev: I don't use that tool.
      Boss: I'd like for you to use this tool to save some time.
      Dev: No.
      Boss: So, you want to waste company time and money by doing it the slow way?
      Dev: Yes.
      Boss: You're fired.

    65. Re:Um excuse me ... by GoogleShill · · Score: 1

      Bullshit. No, you can't.

      Please post a script that traverses a tree of Java source and renames all toString() calls against instances of class Foo to toStringNormalized().

      It's worth 5 minutes to prove your skills, no?

    66. Re:Um excuse me ... by lgw · · Score: 1

      You can, but not usefully as you're doing everything in the debugger. It's useful for testing a small fix though.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    67. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      I've seen folks who can make Visual Studio sing to the point that it looks like developing software is just dragging and dropping objects and inserting a statement in a generated method.

      Yes, and the result is 800 megabytes of unmaintainable shitware that drags in dependencies from here to Mars and runs like a dog.

      Do not mistake CASE tools for the implements of true craftsmanship.

    68. Re:Um excuse me ... by Darinbob · · Score: 1

      You've never had problems with software tools doing the wrong thing? I see this a lot. That doesn't mean you need to check the assembler output of the compiler, but certainly you should check the result of an automatic "safe" merge of code in a source code control system like CVS for example, since I have seen those fail badly. And yes I have checked some search and replaces, because if you do a bare bones textual substitution without parsing you can get mistakes; that's part of the reason many programmer editors have smarter ways to do things like renaming symbols. Refactoring can be such a complex operation especially when combined with overloading and templates that it can be naive to ignore the output and just assume it was ok; at least some spot checks that it did the right thing, and rebuild before committing the code.

    69. Re:Um excuse me ... by termigator · · Score: 1

      You're basically saying that we should let the guys in the warehouse manhandle 500kg loads by hand because they "prefer" not to use the forklifts. We should just let them do whatever they please, because that's what makes for good management, right?

      Strawman

      Good management advocates what makes folks productive that meets whatever production levels and goals are required for the business. Having someone manually handle 500kg loads is obviously inefficient, left alone the safety and liability concerns it raises. Warehouse operations requirements are different than software development operational requirements.

      It's not even a good idea to let developers pick their favorite IDE either, because there are productivity gains to be had from consistency.

      It depends on the project and personnel. A core problem I have with mandated IDEs is can cause undesired dependencies in the software build and packaging process. When I have the responsibility of setting up a software project, I make sure that the software can be built and packaged independently of any IDE. I cringe when I am on project that states you need to run this given IDE to build the software.

      IDEs have their own quirks and bugs, some not that obvious. When IDE mandating exists, it promotes a blind-trust mindset on the tool, and when it is the IDE that is the source of a problem, it can consume many wasted hours of development time. When IDE "magic" goes wrong, it can go horribly wrong.

      I advocate what makes the project most efficient. In some environments, have a single IDE that everyone uses may be the most efficient overall, but management must be aware that it can cripple more senior, experienced developers that can be more efficient than the IDE (hence, my base goal of the software being able to be built without the IDE). Compare the typical mindset and capabilities of a developer that has solely operated in IDEs vs those that have functioned outside them.

      A good test on the skill level of a programmer is how well they can make code changes without using an IDE. In a project I have control over, I had to setup an Eclipse project because a new person management hired struggled a lot working with the project source since they mainly used Eclipse in the past. Unfortunately, that person could not set up the Eclipse project themself, so I had to do it so the person can become productive. The lesson: IDE mandating can restrict the flexibility of the developer, and when that developer moves on to other projects with different environments, they are very lost. IDE mandating may be good from a management perspective, but it can have negative impacts from a developer's perspective.

      I have used IDEs (Eclipse, Netbeans, and many moons ago, even Visual Studio). But they have never been my primary go-to tool. I use them selectively when they provide something for me that is more efficient than my normal working environment (Vim and a Unix-based shell and tools). On average, IDEs slow me down, and I have never had a single complaint from management or colleagues on how I work. I normally out-perform all other team members and whatever tools/IDEs they choose to use.

      One last comment: When working on projects that utilize a variety of technologies, a single IDE will sometimes not be able to adequately support all of the technologies. Hence the need for flexibility and the primary mindset that a given project is never dependent on a single IDE.

    70. Re:Um excuse me ... by Dcnjoe60 · · Score: 1

      You are making assumptions that were not presented. Nowhere, in any of the posts was it said the developer in question was arrogant. All that was stated was that he was fired for refusing to use an IDE, no more, no less. You shouldn't read more into things than what is actually posted. Doing so betrays your own biases.

    71. Re:Um excuse me ... by Dcnjoe60 · · Score: 1

      I think this

      "Was the developer's code inferior in a way that an IDE would improve?"

      is obviously "yes". It's sort of implied in the description.

      Nobody would say "Gosh, Sergey, you are the most brilliant person I've ever met, you are like Neo rearranging reality with your code, and you've already made me a million dollars in productivity improvements during the first week you've worked here. Your output is unmatched among any mortals, but you're fired because you don't use an IDE, and nothing else matters."

      Wouldn't that answer depend on the language? For instance if one is programming assembly for pic processors, an IDE won't make much of a difference. If one is programming COBOL for a mainframe banking application, likewise an IDE won't make much of a difference. If one is using one of the .Net languages or Java or C++, then an IDE will probably make a difference, but it would really depend on what part of the project the individual was working on before even that determination could be made.

    72. Re:Um excuse me ... by Dcnjoe60 · · Score: 1

      > Although, right now I am doing assembly on a a custom chip. Do you have an IDE for me,

      One of the following might be appropriate: Keil, Codewarrior, AVR Studio, MPLab, CubeSuite+, HEW, Xilinx ISE, Quartus, or ISPLever. Look at Keil first... if it's even a halfway-modern chip or popular chip, they probably have an IDE for it, and it's probably a damn good one. For m68k, Codewarrior is pretty much the gold standard (though if you're starting from scratch now, Keil is probably a better time-investment).

      I agree, however, one of the requirements for this project is that the tools run on the platform it is being developed on. Think of a large government organization that likes to keep secrets. So, while those IDEs are very good, they would be outside the sandbox that is allowed.

    73. Re:Um excuse me ... by micahraleigh · · Score: 0

      That's an expensive formality, son!

    74. Re:Um excuse me ... by GoogleShill · · Score: 1

      No, I presented my opinion that he was arrogant based on his refusal to use an IDE. It doesn't change my argument at all. He got fired for refusing to use an IDE, no more, no less.

      Since you have strayed away from the topic at hand, I can only assume that you cannot possibly debate my points anymore, and are just going to stick to your old biases.

      Thanks for playing, have a nice day.

    75. Re:Um excuse me ... by Dcnjoe60 · · Score: 1

      No, I presented my opinion that he was arrogant based on his refusal to use an IDE. It doesn't change my argument at all. He got fired for refusing to use an IDE, no more, no less.

      Since you have strayed away from the topic at hand, I can only assume that you cannot possibly debate my points anymore, and are just going to stick to your old biases.

      Thanks for playing, have a nice day.

      You are right, since we can change the parameters to anything we want whether there is evidence or not, then my opinion is that the developer in question is an older developer and this doesn't have anything to do with arrogance but is really age discrimination and the manager and you, yourself, are guilty of this bias. Nothing you say can change that opinion as there is no evidence you have presented and there is a strong correlation in the argument you have framed that you are secretly circumventing the real issue and trying to deflect the issue.

      Thank you for playing!

      No seriously, see, what one can do when there is no evidence to support one's position and we only use opinion and innuendo. All that has been presented is that the developer refused to use an IDE and was fired. You have interjected that he was arrogant, but nowhere has any evidence of that been given. It is simply your opinion. Likewise, then, my opinion is just as valid that it has nothing to do with arrogance, but is really age discrimination, or maybe gender bias or even prejudice due to the color of the developer's skin.

      We can play this game forever, which is why it is always better to base discussions on the information presented instead of interjecting outside information that cannot be corroborated.

      End of discussion.

    76. Re:Um excuse me ... by GoogleShill · · Score: 1

      End of discussion.

      You really don't like being proven wrong, do you. No matter how much bullshit you keep throwing around, you have not addressed any of my arguments. You are wrong, and are most certainly simply trolling here. Age discrimination? Bias? Go to fucking hell. I have a feeling you're not a very productive member of society, and are shilling on behalf of other losers like yourself.

      My point, which I've repeatedly stated and backed up, was that he was fired for being unproductive and that was because he refused to use an IDE. You've shown ZERO arguments as to why that was the wrong thing to do.

      I'll respond if you can present any argument to the contrary, but I'm certain you cannot, so...

      End of discussion.

    77. Re:Um excuse me ... by Dcnjoe60 · · Score: 1

      Okay, I'll post one more time. Here is your original comment:

      My friend fired a developer for refusing to use an IDE.

      I'm sorry, but no developer can ever be as productive using text editors over IDEs, once they man up and learn how to use them. For instance, renaming a class method that is called by numerous other classes is a 3 second operation in Eclipse, and possibly hours long in bash, with a much higher chance of breaking something. In fact, most refactoring operations cannot be done efficiently outside of an IDE.

      You may notice in the first sentence you state that your friend fired a developer and the only reason given was for refusing to use an IDE. Then you have a paragraph expressing your opinion on programmer productivity, but who gives a damn. Maybe if it was your friends opinion, you know, the one who fired the guy. But using logic, you know if a then b, your opinion doesn't fit into the equation.

      In later posts, you have now shifted from offering your opinion on how much less productive a programmer is who does not use an IDE to the guy who was fired is arrogant. Here is the quote:

      No, I presented my opinion that he was arrogant based on his refusal to use an IDE. It doesn't change my argument at all. He got fired for refusing to use an IDE, no more, no less.

      Again, the original statement you made was that your friend had fired a developer for not using an IDE and you have now interjected your own bias that the person in question was arrogant based on his refusal to use an IDE.

      This is an interesting dilemma as either your friend is discussing confidential personnel issues with you and should be fired himself (or herself) or you are simply making assumptions about something you know nothing about. Since I do not know your friend, the benefit of the doubt goes to them which means that you are making assumptions about something you know nothing about.

      You seem oblivious to the fact that what the problem is even about. It has nothing to do with whether or not somebody is more productive with or without and IDE. It is your calling the developer arrogant for not using one. The irony is that when we make such strong assumptions about others, where we presume to know what they are thinking or what their intentions are when we really have no way of knowing it is we, ourselves who are displaying arrogance. But then, maybe that is why you are so familiar with the characteristics or arrogance.

      I don't know what you want an argument to counter. I basically agree that in most situations, an IDE makes a programmer more productive. On the other hand, most cases does not mean all cases and exceptions do exists. I have programmers working for me right now on dumb terminals coding COBOL for a legacy mainframe application. An IDE isn't even an option in their case. I am working on assembler code for a proprietary chip that even with an IDE, the instruction set would be available, so it would be little more than a text editor.

      My point that I was making, that you seem to want to ignore, is that all developer projects use metrics to measure performance. If the developer was meeting those metrics successfully, then who care whether he was using and IDE or not. If he was below expectation as defined by the metrics, then he was let go because of his performance, not because his refusal to use an IDE.

      Because in the end, if he was performing as expected, even without using an IDE and was actually let go because he didn't use the IDE, there better be a policy somewhere that requires it or the company has exposure, because most likely it had nothing to do with the use of an IDE, or at least the company would have a very difficult time defending that as the cause.

    78. Re:Um excuse me ... by GoogleShill · · Score: 1

      You may notice in the first sentence you state that your friend fired a developer and the only reason given was for refusing to use an IDE. Then you have a paragraph expressing your opinion on programmer productivity, but who gives a damn. Maybe if it was your friends opinion, you know, the one who fired the guy. But using logic, you know if a then b, your opinion doesn't fit into the equation.

      I'm sorry you failed to connect the dots, as everyone else did, but I was not stating my opinion. The developer was not productive. They can't be in any modern software company without using the correct tools. I didn't even read past your first paragraph because by itself it's shown that you've ignored nearly everything I've written in this thread. I certainly won't read anymore posts from you in this thread, even though I'm sure you'll reply just to get your last word in.

    79. Re:Um excuse me ... by Myopic · · Score: 1

      Mmm hmmm. Yeah, I think that is implied too, don't you? It seems like you are searching for a way to be able to claim that this person fired for refusing to use an IDE was an innocent victim of an unreasonable request to use an IDE, which is possible sure but doesn't seem likely.

      Do you want someone to tell you that there are situations where it's okay not to use an IDE? Okay, I'll tell you that. Fine, yes, we can contrive situations where an IDE isn't helpful. However, even though neither you nor I know the people in the purported situation, I think it's a safe bet that an IDE was an appropriate tool in that situation, and a butthead programmer stubbornly refused to learn how to use it.

    80. Re:Um excuse me ... by hobarrera · · Score: 1

      That greatly depends on the Language being used.
      I used to work using Python, and eclipse is almost useless during refactoring. The same applies to most dynamically typed languages (or, in this case, duck-typed).

    81. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      I could launch a career refuting your claims about 50x. But that's okay, you had tools that worked for you
      and that's good. But you make claims about CLI tools that are generally unfounded and its clear that if you
      were ever in a situation where you had to rely on CLI tools, you'd be completely out of your element.

    82. Re:Um excuse me ... by Dcnjoe60 · · Score: 1

      I'll say the same thing to you. Was he/she meeting performance expectations as outline in his/her reviews? If so, then what difference does it make. If not, then he/she wasn't fired for not use an IDE but for sub-par performance. At least one would hope terminating an employee is performance (and documented, too) and not something that would leave the door open to questions of discrimination.

      Maybe he was arrogant, but unless all arrogant employees are fired, then that isn't actually grounds (insubordination could be, though). Besides, most developers are arrogant. That's part of the culture. So again, assuming this scenario is true and it happened in the US, one would hope the company in question had documentation on the developer's performance to support termination or a violation of company policies or if a contractor some way in which he/she breach a contract. Otherwise, they, the company doing the firing, have opened themselves up to litigation.

      It's hard to believe, but employees do have some rights under US law, whether they realize it or not and it is likely that simply being terminated for not using an IDE is going to violate them.

    83. Re:Um excuse me ... by terjeber · · Score: 1

      Fired? That's ridiculous. Let the developers use the tools they are comfortable with.

      On the spot, not even having to think about it. A developer refusing to use an IDE is a moron and morons need to be fired. Who knows what other dumb sh*t he'd do down the road.

      If you are extremely efficient using vi or emacs, getting a real IDE will make you super-human. There are things you can do in modern IDEs that you can not do in a text editor and a well organized directory structure. Let me use an example, someone mentioned re-factoring. This simply can't be done effectively not using an IDE. Take the simple case of re-naming something (variable, function, whatever). An IDE could use the compiler and linker etc to find the variables (if they support this) that are to be changed. This is infinitely more accurate than a pure text search. A text search can not possibly know anything about scope, and will invariably change stuff it shouldn't or not change stuff it should.

    84. Re:Um excuse me ... by terjeber · · Score: 1

      I can script a method rename in under five minutes at the command-line in bash

      Nope, you can't. Sorry, but that statement is only true for kiddy projects managed by a single individual. Trivial rebuttal: two classes, maintained by two different people use the same method name. Perfectly reasonable. Change the name of the method in only one of the cases. If you can do that in under five minutes, please show how. It takes under 10 seconds in Visual Studio. I haven't timed it in Eclipse, but assume it is equally fast.

    85. Re:Um excuse me ... by terjeber · · Score: 1

      I would have fired your friend.

      Which is proof you have never worked in an Enterprise development situation. Sorry, his friend was right. There are simple thing you need to be able to do when working in a team environment, and some of those things can not be done reliably without good tools. Things like code-coverage, re-factoring etc are near impossible to do without a good IDE.

      Refusing to use one shows that the developer was a moron, and that no matter how good code he wrote, he would eventually screw up big time just for being a stubborn idiot. If he was amazingly productive with a text editor, his productivity would double using better tools.

      As someone else said - you have a class Foo, change its "toString()" method in all instances where it is used to "toStringNormalized()". That is not practically possible without an IDE, but re-factoring like that (probably not on the toString() method though) is quite common in large enterprise projects.

    86. Re:Um excuse me ... by terjeber · · Score: 1

      if the developer is be let go because they refuse to use an IDE, there is more going on

      Yeah, some kind of mental illness or religious hallucinations on part of the developer in question, which in and off it self is reason enough to get rid of him.

      Any developer refusing to use an IDE is retarded.

    87. Re:Um excuse me ... by terjeber · · Score: 1

      You are making assumptions that were not presented

      Given the fact that those assumptions are true for all projects beyond the trivial ones, they did not need to be presented.

    88. Re:Um excuse me ... by terjeber · · Score: 1

      He assumed that, given the fact that you were taking part in the debate, knew something about software developer. He didn't know that you were a nurse who's only interaction with a computer was through an iPad received your previous birthday.

    89. Re:Um excuse me ... by terjeber · · Score: 1

      That is fine, since you only change light bulbs, and if you only change light bulbs, there is no need to invest in good tools like a fork lift.

      Most of us do not spend our working day changing light bulbs though, we work on projects with millions of lines of code maintained by loads and loads of developers and teams, there are UI designers, graphics artists and stuff like that.

      Most enterprise developers don't change light bulbs they lift 1000 lbs pallets (stealing analogies again). If you insist on manhandling those pallets because fork lifts are "stupid", you'll be fired. Justly so.

    90. Re:Um excuse me ... by terjeber · · Score: 1

      Simple question, you have a project with a bunch of classes. Let's say two. Foo and Bar. You have a method doStuff() on Foo and on Bar. For various reasons you have to re-factor Foo, and you need to rename doStuff on Foo to doStuffDifferently(). Doesn't matter why. How would you go about doing that from the command line in 500K (considered a small-ish project) lines of code where doStuff() on Foo and Bar are called regularly? I am genuinely curious here, I used to do all command line all the time and can still do magical stuff with grep etc, but I can not easily think of a way to easily determine what type (class) an instance variable has (is) while doing a multi-file search and replace.

    91. Re:Um excuse me ... by terjeber · · Score: 1

      Depends on what you mean by "Linux". I am quite productive using Visual Studio developing apps for Android.

    92. Re:Um excuse me ... by Anonymous Coward · · Score: 0

      Not true, sorry. Have you ever used an IDE before? We're not talking about find/replace, we're talking about code refactoring. A recursive sed command will not take into account similarly named variables or functions that shouldn't be renamed. Even in the cases that it works, I can still do it faster than you can type out the find/sed command.

      I'm very proficient in vi, sed, awk, bash, etc. I have those skills, yet I also know when an IDE is appropriate.

      Who do you think is more employable?

    93. Re:Um excuse me ... by Darinbob · · Score: 1

      You are projecting stereotypes here. There are brilliant people who do not use IDEs. You probably use software they wrote, your doctor uses devices they wrote software for, they have software running on satellites and space exploration vehicles, etc.

      I'll use an IDE when it gets convenient to use. Something better than MDI with a single code window, not forcing a stupid point-and-click interface (programmers should be touch typists), not forcing their own process and development and build model on everything, allow full customization of editing keystrokes (ie, ability to have full emacs or vi compatibility).

      But I do use some IDEs. I just edit separately outside the IDE. Then I click the IDE and it figures out that a file has changed. But the editor does more than the IDE can do; I can ssh into a remote server and start editing there quickly. This shouldn't be a dogmatic fight about using one and only one tool.

    94. Re:Um excuse me ... by cabazorro · · Score: 1

      grep -rl "Class Joe" * | xargs sed -e /s/void joe_method/void joe_method2/g {}

      there, finds the Class, replaces method name. Sure is not bulletproof and esay to refine can be automated and shipped to China.
      IDE's are to programming what RAP is to music. Yes I love RAP but you know-what-I-mean, jelly-bean.

      --
      - these are not the droids you are looking for -
    95. Re:Um excuse me ... by terjeber · · Score: 1

      Please explain to the ones who are not incompetent how this has any effect on the instances of the Joe class.

      For example, how would it fare on:
      Joe anInstance = new Joe();
      AnotherJoe instance2 = new AnotherJoe();
      anInstance.joe_method();
      instance2.joe_method();

      The result should be:
      Joe anInstance = new Joe();
      AnotherJoe instance2 = new AnotherJoe();
      anInstance.joe_method2();
      instance2.joe_method();

      Looking forward to the answer.

    96. Re:Um excuse me ... by terjeber · · Score: 1

      That's not the point. The point is in the moron refusing it. Presumably, in this situation, we are not talking about developing software that has an extremely limited code-base, something that can be both managed, refactored, tested easily. A few thousand lines of code at the most. For that, sure, an IDE is probably not needed, for anything with a complexity above that, an IDE is not only needed to make things easier, it will ensure you make things both better and less error prone. The IDE is not about editing code, never was. The IDE is about editing, ensuring quality, re-factoring etc. All stuff that is not possible to do with command-line tools with the same quality assured. It simply isn't, no matter what people think.

      A developer actively refusing this is a moron, no matter what he is doing. He's going to make more mistakes than the others on the team, guaranteed. He's going to produce less testable and less maintainable code. He needs to be fired.

    97. Re:Um excuse me ... by Darinbob · · Score: 1

      The IDE's I've used in the past have had very poor refactoring abilities. And this includes Visual Studio (maybe it's gotten better though). They were all essentially an editor plus debugger plus build system. Refactoring tools were first added as plugins, not as built in essentials. And there are packages to refactor in Emacs, they're just not built in by default (though the extremely powerful regular expression replacement is there). You can also use external tools alongside editors as well.

    98. Re:Um excuse me ... by MikeBabcock · · Score: 1

      There's 1000 programmers on this site who can do twice as much in half the time but proving it proves nothing to you because you'd just come up with another random situation or claim that one was too simple.

      I know your type, I have no reason to do anything for you.

      --
      - Michael T. Babcock (Yes, I blog)
    99. Re:Um excuse me ... by terjeber · · Score: 1

      You can't use regular expressions to do refactoring. Simple as that. To do refactoring you need to understand the syntax of the language in question. Visual Studio uses the build tools to identify, for example, instances of a class. Compared to any kind of search and replace, refactoring in the IDE is several orders of magnitude better both in that it is more reliable but also a lot faster.

      In complex enterprise products, a developer will be at least an order of magnitude more productive with an IDE than without. He can do things not possible outside of the IDE (such as effective refactoring) and the things he do will be less error prone and better structured. For the average enterprise app the time it takes to develop the app in the first place is more or less irrelevant, since enterprise apps are 10% development and 90% maintenance and enhancements. An IDE delivers in these areas, particularly when it is coupled with project, source management and documentation systems. Any developer giving up this type of productivity boosts is an idiot.

      In addition to this, you of course have the same good stuff that you have, for example, in emacs with macros etc. Assuming I could write a class in C# (or Java) with no errors in typing and stuff, it would contain at least five times more characters than I had typed. I never type full class or variable names obviously, the IDE fills in most of it for me while I am typing. That alone is a huge time saver. Each time I create a new class with new methods, the IDE fills in the entire scaffolded documentation, which again is a huge time saver. When I implement an interface in a class, the IDE adds all the methods I need to implement, and it makes sure each throws a good exception by default. The IDE saves me thousands of key-strokes every single week. It therefore even prevents CT.

    100. Re:Um excuse me ... by Dcnjoe60 · · Score: 1

      Which is proof you have never worked in an Enterprise development situation.

      Actually you would would be quite wrong. If one worked in an enterprise development situation, one would know that there is a multitude of personnel law that would dictate that you must have cause to terminate an employee, or at least apply enforcement equally among all employees. Or if this employee were a contract employee, then the contract would dictate the conditions.

      Either way, you normally could not fire somebody for simply refusing to use an IDE, at least not without opening your firm for legal action. You could, however, terminate them for not meeting performance goals, which would probably be the case if they weren't using an IDE, but then the cause would be their sub standard performance, not whether or not they use an IDE or not.

      Of course, maybe this situation took place outside the US, where different laws may be in effect.

    101. Re:Um excuse me ... by Dcnjoe60 · · Score: 1

      if the developer is be let go because they refuse to use an IDE, there is more going on

      Yeah, some kind of mental illness or religious hallucinations on part of the developer in question, which in and off it self is reason enough to get rid of him.

      Any developer refusing to use an IDE is retarded.

      And any employer making such a statement regarding an employee would be opening themselves up for paying damages from creating a hostile work environment. The safe thing to do, which is also the proper thing is to document performance. If performance is sub-par, then meet with the employee to discuss what can be done to improve it. At the next review, if it hasn't improved, then meet again and put them on notice that if it doesn't improve they will be terminated. Anything else, you open the door for a lawsuit.

    102. Re:Um excuse me ... by Dcnjoe60 · · Score: 1

      He assumed that, given the fact that you were taking part in the debate, knew something about software developer. He didn't know that you were a nurse who's only interaction with a computer was through an iPad received your previous birthday.

      Oooh, sticks and stones.... For the record, I am the hiring manager of a large privately held software engineering firm. But thank you for playing.

    103. Re:Um excuse me ... by GoogleShill · · Score: 1

      Fail.

      You claimed something that was impossible and I called you out on it. You lied, and are only making up excuses so that you don't have to admit that you lied.

      This isn't a random situation, this is a feature that I use very often and is essential to creating clean and maintainable code. It cannot be done reliably or quickly from the command line, no matter how much you want to believe it.

      I know your type too, you're a sysadmin who thinks that knowing a few languages makes you as good as a professional software engineer. You're proud to know how to quickly fire off a sed or awk command or vi up a new Makefile from scratch and think IDE's are for pussies.

    104. Re:Um excuse me ... by terjeber · · Score: 1

      one would know that there is a multitude of personnel law that would dictate that you must have cause to terminate an employee

      Seems like you assume that everybody who reads /. lives the same place you do. They do not. Some of them live in California, for example, where you have "at will" employment, where

      any hiring is presumed to be "at will"; that is, the employer is free to discharge individuals "for good cause, or bad cause, or no cause at all," and the employee is equally free to quit, strike, or otherwise cease work

      Either way, you normally could not fire somebody for simply refusing to use an IDE

      You might have heard about "Silicon Valley", lots of people work there who are skilled in various computer trickery. You could let an employee go simply for not liking the pitch of his voice (unless of course you told him, then it might be construed as discrimination). Since you do not have to give reason, most employers would not give reason, just terminate the employment.

      Of course, maybe this situation took place outside the US, where different laws may be in effect.

      I have no idea where this took place, nor do I know where you live, but only 1/3 of the US work force have some "just cause" protection, the other 2/3s can be terminated at any point in time for any, or no reason.

    105. Re:Um excuse me ... by cabazorro · · Score: 1

      Well Duh!
      Parse for
      anInstance.joe_method2();
      instance2.joe_method();

      and replace w/
      anInstance.joe_method2();
      instance2.joe_method();

      hell, you can collect the line numbers of every location where joe_method2() is defined
      and joe_method() and then swap the occurrances and create a report and on post it on web
      using Python or Ruby or Bash or Perl and hell, reverse it on the fly if need it.
      Sometimes IDE gives you the illusion of knowledge. Sometimes you cannot right-click your way out it a problem.
       

      --
      - these are not the droids you are looking for -
    106. Re:Um excuse me ... by terjeber · · Score: 1

      Sigh, are you retarded? Are you saying you have only worked on projects where a class is instantiated only once, or where every time the class is instantiated you use the same instance (variable) name?

      Instances of a particular class may riddle the code base with thousands of instances, each with adifferent name. Please explain how you would do this? If you think there is only one instance of a class, or the instantiation of a class always happens with the same instance name, you have never developed software of more advanced complexity than "hello world".

      Some things you may have to deal with
      var inst = new JoeClass();
      ...
      var someOtherInst = new JoeClass();
      var aList = new List() {

      1. new JoeClass(someInitializer),
      2. new JoeClass(someOtherInitializer),
      3. new JoeClass(aThirdInitializer)

      };

      So, now you have do deal with:

      inst.joe_method();
      someOtherInst.joe_method();
      foreach( var j in aLIst ) {

      1. j.joe_method();

      }

      You also need to make sure you skip

      var inst = new AnotherClass()
      inst.joe_method();

      So you are going to do that using regular expression? How do you change inst.joe_method in the first example, and not in the second, in the same code base. What would the expression be? How do you know that the first inst.joe_method() is a call on the class JoeClass, and that the second, identical line, is on another class that is not being refactored? When did regular expressions develop syntax awareness?

    107. Re:Um excuse me ... by MikeBabcock · · Score: 1

      Your command of logic is stunning.

      Lack of proof does not change anything.

      Get a life, seriously.

      Also, I write software every day. Its not all I do, but I do a lot of it. Get over yourself. Your limitations do not extend to everyone, nor do your needs.

      I will never understand the small-mindedness required to say 'prove it' to every single thing one cannot themselves fathom doing.

      --
      - Michael T. Babcock (Yes, I blog)
    108. Re:Um excuse me ... by MikeBabcock · · Score: 1

      You're calling people names because you think enumerating instances is hard?

      With the exception of idiotic code like:

      A = new something();
      A = new somethinelse();
      A = new justanotheridea();
      A.somemethod();

      Its almost obvious to write a quick search that finds all cases of [name] = [class_we_care_about] and replace [name].oldmethod with [name].newmethod.

      For the record, Visual Studio couldn't do it for me when I used runtime class building so its not like IDEs are foolproof anyway -- thus the need for programmers who can actually code.

      --
      - Michael T. Babcock (Yes, I blog)
    109. Re:Um excuse me ... by terjeber · · Score: 1

      Wow, you really have never programmed in your entire life, have you?

      Can you explain how you would do a search and replace of let's say 3000 files for something like this (pseudo code looking a bit like Java/C#:

      1/ You have Class1 with the method doStuff and Class2 with the method doStuff. So, in your code you have things like:
      var stuff = new Class1();
      stuff.doStuff();

      2/ then, in a completely different file, edited by another member of your team you have
      var stuff = new Class2();
      stuff.doStuff()

      3/ in yet another class you have
      var listOfStuff = getJunkFromStorage(); getJunkFromStorage returns a List<Class1>
      foreach( var item in listOfStuff ) {
      item.doStuff();
      }

      4/ and some other place there is
      var listOfSomethingElse = getAllTheCoolStuffFromStorage(); this one returns a List<Class2>
      foreach( var item in listOfSomethingElse) {
      item.doStuff();
      }

      Now refactor so that doStuff from Class1 becomes doStuffDifferently()

      This means that in 1/ and 3/ stuff.doStuff() and item.doStuff() will become stuff.doStuffDifferently() and item.doStuffDifferently(), while in 2 and 4 nothing changes. In order to be able to do the correct search and replace, you have to know that getAllTheCoolStuffFromStorage() returns a list of Class2 and not a list of Class1. There may be many such functions returning lists of Class1, first you'd have to find them all, then you'd have to make a search and replace pattern that covers them all. How would you do that?

      This is not a contrived example, it is what every single project of some complexity looks like. Class1() might be written by you, Class2 may be from a completely different development team. The code in which you have to do search and replace might have been worked on by four or five different teams that past decade. Class2 may be from a third party tool, and the third party tool maker has changed some method names that you are using all over the place (happens all the time, though it shouldn't).

      I recently had to migrate a project using a 2003 version of a third party tool to their latest version since the 2003 release was incompatible with our new app container. Class paths and method names had changed all over the place. Fixing that with search and replace would have taken days, possibly weeks. The project, containing millions of lines of code, would have to be re-built regularly during the search and replace process since we'd have to use the build process to find many of the places where change was required. With good re-factoring we were up and running on the new app container before lunch. I just went back into the source repository to check how many files we changed that day and the number was a little above 75 000 files. Once up and running we used our unit and integration tests to make sure things were OK. Without proper tools like refactoring, code coverage analysis etc, we would released months later than we did. If you can do something like this with search and replace, I'd love to know how you put syntax knowledge into your search and replace tool.

  4. Ec*freeze*lip*freeze*se works by Anonymous Coward · · Score: 5, Funny

    And I *freeze*refu*freeze*se to h*freeze*ave anyo*freeze*ne tell me di*freeze*fferently. *freeze*.

    1. Re:Ec*freeze*lip*freeze*se works by binarylarry · · Score: 5, Informative

      Check out the new Kepler release. Kepler was an iteration with a focus on improving the performance issues Juno had.

      http://eclipse.org/kepler/

      Kepler is pretty nice UX wise.

      --
      Mod me down, my New Earth Global Warmingist friends!
    2. Re:Ec*freeze*lip*freeze*se works by Githaron · · Score: 4, Informative

      I think I will stick with Intellij. It and its family are easily the best IDEs I have ever used.

    3. Re:Ec*freeze*lip*freeze*se works by binarylarry · · Score: 1

      IntelliJ is definitely a great IDE as well.

      --
      Mod me down, my New Earth Global Warmingist friends!
    4. Re:Ec*freeze*lip*freeze*se works by 0123456 · · Score: 0, Troll

      Does copy and paste work yet?

    5. Re:Ec*freeze*lip*freeze*se works by Anonymous Coward · · Score: 0

      Check out the new Kepler release. Kepler was an iteration with a focus on improving the performance issues Juno had.

      http://eclipse.org/kepler/

      Kepler is pretty nice UX wise.

      http://waynebeaton.files.wordpress.com/2012/02/eclipse4css1.png

      Look at the grey and white areas around the toolbar and window controls and tell me that it's a "pretty nice UX". Seriously, have they actually tested using this on Linux?

    6. Re:Ec*freeze*lip*freeze*se works by binarylarry · · Score: 1

      FWIW I use Eclipse on Linux doesn't have that issue.

      --
      Mod me down, my New Earth Global Warmingist friends!
    7. Re:Ec*freeze*lip*freeze*se works by gl4ss · · Score: 1

      was it somehow borken? except that it copies(guesses) imports wrongly for snippets sometimes..

      --
      world was created 5 seconds before this post as it is.
    8. Re:Ec*freeze*lip*freeze*se works by Anonymous Coward · · Score: 0

      UX != "oh, pretties!"

    9. Re:Ec*freeze*lip*freeze*se works by Anonymous Coward · · Score: 0

      Yes, the performance is much better, but the bugs, oh the bugs. It crashes twice everyday for no apparent reason. It causes massive glitches in graphics driver (Windows and Nvidia, so mostly very stable) while drag-dropping tabs and open files. Perspective switching fracks up the markup every now and then, warranting a restart. I'd love to say thanks, but this one's a no thanks.

    10. Re:Ec*freeze*lip*freeze*se works by Anonymous Coward · · Score: 0

      Copy and paste is only available through a plugin and, like most Eclipse plugins, it's broken every other day.

    11. Re:Ec*freeze*lip*freeze*se works by sapgau · · Score: 0

      Try getting a decent dev box next time newbie.

    12. Re:Ec*freeze*lip*freeze*se works by 0123456 · · Score: 1

      was it somehow borken?

      Yes. I often have to hit CTRL+C three or four times before it actually copies the text I've selected. Other times it copies far more than I selected, because it didn't detect the mouse up event until a fraction of a second after I released it.

      There's at least one bug report against Eclipse for this.

    13. Re:Ec*freeze*lip*freeze*se works by Hentes · · Score: 1

      While I love Eclipse, that's actually one of its problems. They are releasing new versions too fast, which causes lots of stability and compatibility problems. One stable release doesn't make up for the unstable buggy ones before it. Ganymede was already rock solid, they should've taken their time and focus on not screwing that up.

    14. Re:Ec*freeze*lip*freeze*se works by Anonymous Coward · · Score: 0

      I also use intellij. Its quite nice.

    15. Re:Ec*freeze*lip*freeze*se works by Anonymous Coward · · Score: 0

      i personally have a damned decent dev box, and i can to the fullest relate to what op wrote. face it - eclipse is stalling, jerky and slow, no matter how much functionality it offers.

    16. Re:Ec*freeze*lip*freeze*se works by etrusco · · Score: 1

      This is not exclusive to Eclipse at all. I have this problem frequently on Firefox and other applications; since it seems to happen only on Windows (several machines), I suspect some input handling problem in Windows...

    17. Re:Ec*freeze*lip*freeze*se works by gl4ss · · Score: 1

      it sucks utterly though for windows phone development..

      idea is ok though. too bad on windows it doesn't adhere to the overall theme of the os. sure, it's themeable..

      --
      world was created 5 seconds before this post as it is.
    18. Re:Ec*freeze*lip*freeze*se works by Anonymous Coward · · Score: 0

      I still use Ganymede

    19. Re:Ec*freeze*lip*freeze*se works by Anonymous Coward · · Score: 0

      That looks like somebody screwing up their tool bars, not something eclipse does on its own. And that's a pretty damn small window, too.

    20. Re:Ec*freeze*lip*freeze*se works by dkf · · Score: 1

      [IntelliJ] sucks utterly though for windows phone development.

      People develop for that? Talk about small markets...

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    21. Re:Ec*freeze*lip*freeze*se works by aztracker1 · · Score: 1

      I really like WebStorm for NodeJS dev... hands down the friendliest experience I've had with an IDE generally speaking. I do think that VS has a nicer UI, and that NuGet is a little friendlier than the IntelliJ plugin system... that said, WebStorm is far more flexible for me.

      --
      Michael J. Ryan - tracker1.info
    22. Re:Ec*freeze*lip*freeze*se works by Anonymous Coward · · Score: 0

      Pretty nice compared to VISUAL STUDIO 2012.

    23. Re:Ec*freeze*lip*freeze*se works by Anonymous Coward · · Score: 0

      FWIW I use Eclipse on Windows and it doesn't have that issue.

    24. Re:Ec*freeze*lip*freeze*se works by Anonymous Coward · · Score: 0

      Odd. Other than a 15 second or so startup, I've never had to wait on eclipse ever. Might help that I have 12GB of RAM, but I've always believed that developer boxes should be way overbuilt.

    25. Re:Ec*freeze*lip*freeze*se works by MikeBabcock · · Score: 1

      I presume this is on Windows? I've never seen this on Eclipse for Linux (doing Android work).

      --
      - Michael T. Babcock (Yes, I blog)
    26. Re:Ec*freeze*lip*freeze*se works by lkernan · · Score: 1

      Check out the new Kepler release. Kepler was an iteration with a focus on improving the performance issues Juno had.

      http://eclipse.org/kepler/

      Kepler is pretty nice UX wise.

      I've got no idea what it does, but I want Stardust just for the cool name!

    27. Re:Ec*freeze*lip*freeze*se works by TheLink · · Score: 1

      I have similar problems on Visual Studio 2010 too- you have to double click to just select a method's name alone, single click selects the method's "signature" or whatever you call it. But often when I double click, and ctrl+c, VS2010 is too busy and I end up with the whole thing and not just the name.

      I probably need a faster PC...

      --
    28. Re:Ec*freeze*lip*freeze*se works by terjeber · · Score: 1

      was it somehow borken

      Yeah, but that is not the fault of Eclipse, but the default of the environment in which it is running. Also depending very much on many, many other things. This isn't entirely the fault of the apps in question...

      At this stage in my life I don't make this mistake anymore, since I have been conditioned to avoid it through using Eclipse (and other stuff) on Linux and Sun before that. But the following is standard behavior for me on Windows. It always works as expected on Windows, not so on Linux (many thanks X):

      Select some text in (for example) Eclipse. Press Ctrl+C. Change to the app you want to paste the text into. Select the text you want to replace. Press Ctrl+V. Nothing happens. Why? By selecting the text you want to replace, you've just "copied to clipboard" as Microsoft likes to call it. Back to Eclipse and repeat, but don't select text in target app before pasting.

      Again, this may have changed for the better, I just make sure I never do this on *nix platforms.

  5. No point by keltor · · Score: 1, Insightful

    There's no point in comparing the two. There's almost 0 crossover between what they are developing for except for a few Node.JS and C++ developers and even those are pretty rare.

    1. Re:No point by BitZtream · · Score: 2, Informative

      C++ developers are rare? In what world do you live in that most of your computing doesn't depend on C/C++ code?

      Just because you play with a few scripts for your website doesn't mean the rest of your software is written in some crappy scripting language.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:No point by Shados · · Score: 0

      Between web development, mobile development (mainly objective c and java), line of business apps, plugin devs, IT admins, database devs, etc, C/C++ devs are brutally outnumbered. Then of that small subset, take the ones that would use a full fledged IDE, and you end up with a VERY small subset. So yeah, when comparing IDEs, C++ devs are almost irrelevent.

    3. Re:No point by Anonymous Coward · · Score: 0

      Funny I wrote an Objective C/C and C++ combo app (.mm). I guess I'm rare n outdated n all of that.

    4. Re:No point by kthreadd · · Score: 1

      I often get that reaction from people that can't see the difference between C++ and let's say MFC.

    5. Re:No point by lgw · · Score: 2, Insightful

      The bulk of new development is Java/C# these days. It's for the best really - have you seen the sort of C++ a "Java programmer" will write?

      --
      Socialism: a lie told by totalitarians and believed by fools.
    6. Re:No point by sapgau · · Score: 1

      +1 Agreed, developers should know what tools are best (if they are able to choose) for the task at hand. Jeff Cogswell is naive or a troll.

    7. Re:No point by Anonymous Coward · · Score: 0

      One's a language and the other's a framework?

    8. Re:No point by Roman+Coder · · Score: 1

      It's for the best really - have you seen the sort of C++ a "Java programmer" will write?

      As a long-time Java programmer who wants to learn/use C++, I'd love to hear your insights, so that I don't appear on your wall of shame. :)

      --
      "The future can only affect the present if there is room to write its influence off as a mistake." - Yakir Aharonov
    9. Re:No point by kthreadd · · Score: 1

      Yes. I meet a surprising amount of developers that don't understand the difference between them. Bring Visual C++ into the mix while you're at it and now they are even more confused.

    10. Re:No point by steelfood · · Score: 1

      C is also used as a scripting language, as is Perl and sh/bash. They're not crappy in the least.

      --
      "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
    11. Re:No point by lgw · · Score: 3, Informative

      Some pointers to get you started:
      * Really understand pointers.
      * Use short names. FortyCharacterJavaNamesAreTheMarkOfTheBeast.
      * Efficiency matters (even non-algorithmic efficiency). Veteran C/C++ programmers will find your code confusing if you do something in a needlessly inefficient way, because that suggests something really tricky is going on that made you avoid the "obvious way".
      * The right lifetime for an object is usually the scope of the block in which it is introduced. Use RAII (C++ style) or paired "init at the top, cleanup at the bottom" (C style).
      * Understand shared_ptr, but don't overuse it. It's not a reason to avoid properly thinking through which block should own an object.
      * Use structs too, not just classes. One common rule of thumb: either have a struct with no members private (and no promise of constant validity) or a class with all members private (and promise constant validity). The simplicity of struct is valuable - it's often better to have a struct (possibly with an IsValid() member) than a clutter of accessor functions, despite the possibility of inconsistency.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    12. Re:No point by gmueckl · · Score: 1

      The real shame is that some CS students only learn Java at University and when they encounter C or C++ for the first time, they immediately screw up royally because they never learned anything about basic things like memory addresses and pointers. They have problems grasping the basics of those. I find it a shame that you can graduate not knowing what a pointer is.

      --
      http://www.moonlight3d.eu/
    13. Re:No point by Anonymous Coward · · Score: 0

      it's not just Java programmers. ANY OO trained person will generate terrible C++ code.

    14. Re:No point by Anonymous Coward · · Score: 0

      have you seen the sort of C++ a "Java programmer" will write?

      #include "gc.h"

    15. Re:No point by gbjbaanb · · Score: 1

      don't forget - classes are good, but don't use more than you can count up to.

    16. Re:No point by dkf · · Score: 1

      As a long-time Java programmer who wants to learn/use C++, I'd love to hear your insights, so that I don't appear on your wall of shame. :)

      The order of declaration matters a lot in C and C++, far beyond anything you're used to with Java.
      Arguments to functions can and will be executed in any order; be very careful with those side-effects.
      There's no global root class in C++. This makes a huge and subtle difference.
      C++ programmers think that char is always 1 byte long. Java programmers think it is always 2 bytes long. (I find both conceits amusing.)

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    17. Re:No point by Roman+Coder · · Score: 1

      There's no global root class in C++. This makes a huge and subtle difference.

      Elaborate please?

      --
      "The future can only affect the present if there is room to write its influence off as a mistake." - Yakir Aharonov
    18. Re:No point by Cazov · · Score: 1

      C++ classes do not intrinsically inherit from a base class unlike in Java where ALL classes intrinsically inherit from Object. In C++ you _could_ create this behavior but you need to explicitly inherit from some implementation of Object or whatever.

    19. Re:No point by Myopic · · Score: 1

      I respect all that, and I respect people who can build things with C++, but you just listed all the reasons I prefer Java to C++.

      C# is a great language for a shit OS, so I'll never use it. I hope they add LINQ to Java, though.

    20. Re:No point by gatkinso · · Score: 1

      Having written C++ for 15 years, I am seeing less and less C++.

      --
      I am very small, utmostly microscopic.
    21. Re:No point by lgw · · Score: 2

      C++ is the stick-shift of programming languages, no doubt about it. (And C is the same without a clutch - no problem, you'll always shift perfectly, right?)

      Not to go all Paul Graham, but LINQ really is "Lisp invented poorly". I love it for being even that, but c'mon just name the functions "map" and "reduce" instead of making shit up!

      --
      Socialism: a lie told by totalitarians and believed by fools.
    22. Re:No point by smellotron · · Score: 1

      As a long-time Java programmer who wants to learn/use C++, I'd love to hear your insights, so that I don't appear on your wall of shame. :)

      In addition to the other replies, here are a few I have encountered:

      • Don't overuse dynamic allocation. In Java, this is just "how you use objects". In C++, this is how you separate object lifetimes from the local scope. Most variables have scope-bounded lifetimes, so let the compiler do the work for you.
      • Don't overuse dynamic polymorphism. All methods are effectively virtual in Java, which IMHO encourages unnecessary class hierarchies. Much high-level logic is not actually polymorphic, so your default approach should be avoidance.
      • Don't overuse class inheritance. In many situations, aggregations are sufficient, but inheritance is so easy. For example, maybe in a multithreaded app, several key objects need to be locked for access. So they could either inherit from a parent "mutex" class, or they could contain said mutex as a member. The latter should be preferred—even if it requires some inline forwarding-functions—as it more accurately describes ownership to maintenance developers: the mutex belongs to the business object. The BO isn't itself some sub-type of mutex.
      • Don't use classes as namespaces. If a class is full of static methods and you never actually instantiate the class, then it's a namespace in disguise.
      • In interface code, prefer forward-declarations of dependencies to #includes. It really helps to keep dependency management under control, which matters due to the nature of the C preprocessor.
      • Capitalize upon the separation of interface (*.h) and implementation (*.cpp). Since Java uses a single file, it may seem very cumbersome to have to re-declare function signatures and such. However, the benefit is that the implementation can internally #include private utility headers which are completely invisible to downstream developers. Or the implementation can directly contain static global functions and data, again entirely invisible downstream.
      • If your codebase uses exceptions, learn about exception safety and try to refactor away try blocks. Intermediate layers which catch and then re-throw exceptions are often easier to manage when using RAII "guard" objects to handle exceptional cleanup. Your code can become transactional, with a nonthrowing commit at the end if everything succeeds; or an implicit rollback if any exception is thrown.
    23. Re:No point by MikeBabcock · · Score: 1

      * go prototype your app in Python and if its fast enough, don't bother with the rewrite in C++

      --
      - Michael T. Babcock (Yes, I blog)
    24. Re:No point by lgw · · Score: 1

      Which is great for an "app", but you just can't maintain a large codebase with a dynamically typed language. I haven't tried Python 3.x, but the half-assed class support in 2.x means you end up depending on idiomatic style and comments for everything, which can be fast to code but just doesn't work as the number of hands in the pot grows.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    25. Re:No point by ColdCat · · Score: 1

      It's pretty common mistake because in java the separation between the language and the library is not really clear.
      When you talk with java programmer it usually go to "in java I can do an HTTP connection but in c++ you can't"
      In C++ ,with most of people I work with, even stdio or the STL are tools available but not the language. As c++ involved really fast those years c++11 is great, c++14 will be even better and the whole default library grow fast and can propose more tools to compete with other language default frameworks.

    26. Re:No point by micahraleigh · · Score: 0

      You mean Lisp without the performance overhead?

    27. Re:No point by MikeBabcock · · Score: 1

      Strange, but I've seen some really good Python code that worked just fine in 2.x ... Zope for instance.

      --
      - Michael T. Babcock (Yes, I blog)
    28. Re:No point by euroq · · Score: 1

      * Use short names. FortyCharacterJavaNamesAreTheMarkOfTheBeast.

      Why? I've always thought more descriptive names are self-documenting, which is better than comments.

      --
      Just because the U.S. is a republic does not mean it is not a democracy. Democracy/republic are not mutually exclusive.
    29. Re:No point by cheatch · · Score: 0

      "What's a pointer?" - Future CS Grad.

  6. Title not a good start by Captain_Chaos · · Score: 2, Insightful

    A developer with sufficient skills can be productive in both Visual Studio and Eclipse, ...

    This is not a good sign. A developer with sufficient skills can be productive using vi as her IDE...

    1. Re:Title not a good start by Jawnn · · Score: 3, Insightful

      This is not a good sign. A developer with sufficient skills can be productive using vi as her IDE...

      Yes, but not as productive. Yes, it's true. It's been measured. A skilled coder, working in an IDE, can run rings around the coder working in a text editor when the "product" is something more sophisticated than "hello world".

    2. Re:Title not a good start by cusco · · Score: 0

      I'm not sure anyone can be productive using vi . . .

      [shudder]

      --
      "Think about how stupid the average person is. Now, realise that half of them are dumber than that." - George Carlin
    3. Re:Title not a good start by Anonymous Coward · · Score: 1

      Either you provide a citation, or this claim is just as good as mine that I'm extremely more productive in CoffeeScript and vim than I've ever been with C# and VS. 15 years of code on my back, btw...

    4. Re:Title not a good start by Anonymous Coward · · Score: 1

      Either you don't know how to use vim, or you are using a language that was specifically designed to be impossible to use without an IDE (like Java).

    5. Re: Title not a good start by Anonymous Coward · · Score: 0

      The good thing about vi is, that it may be that the ui is a bit cryptic, it is also stable. You don't run the risk of having to find a function in a different menu in a new version of the software, because 1) there are no menus and 2) there are no new versions *grin*

      But all jokes aside. I am not a professional developer. I just write code to control hardware in my lab and I try to keep my programs as short as possible.
      I did have to use Eclipse to write some firmware for the NXP Lpcxpresso platform. I really dislike having to change compiler options in some menu somewhere.
      I would really have prefered to work in vi, or gedit if I must.

    6. Re:Title not a good start by Waffle+Iron · · Score: 2

      I'm not sure anyone can be productive using vi . . .
       

      Maybe not with old-school vi, but an experienced coder can be highly productive with vim (especially the GUI version).

      It's like a fine chef's knife: A skilled chef can quickly prepare almost any kind of ingredient with it in countless ways.

      An IDE is more like a food processor: Anybody can crank out a narrow range of operations on suitable ingredients fairly quickly, but at the cost of less flexibility and a bunch of cleanup work.

    7. Re:Title not a good start by Anonymous Coward · · Score: 0

      eclim....

      Try it before you knock it.

    8. Re:Title not a good start by Anonymous Coward · · Score: 0

      You don't know what an IDE is. It's more than an assisted editor. It offers build tools, debugging, reporting, test cases, sanity checking et al. VIM does none of this, and the extensions are bloody rubbish and slow.

    9. Re:Title not a good start by Anonymous Coward · · Score: 0

      It's been measured.

      [citation needed]

    10. Re: Title not a good start by Darinbob · · Score: 1

      The thing is, once you know vi or emacs or a lot of other editors, they are stuck in your muscle memory. Some people can edit in vi much faster than others can do the same operation in an IDE. Now add in the ability to customize and add scripts and the utility goes up greatly. It's naive to think that this sort of person is going to somehow be more productive when presented with a point-and-click interface.

      Sort of like going to a machine shop and announcing that everyone must stop using their own tools and only use company provided toolkits, the workers are not going to end up happy or productive.

    11. Re:Title not a good start by Darinbob · · Score: 1

      A lot of programmers tend to only do a narrow range of operations on suitable components.

    12. Re:Title not a good start by Darinbob · · Score: 1

      One can certainly use vi and then pull up the IDE on the side for the occasions when they have to use some extra tools. I worked in an environment like that once, the project was tied to Visual Studio, despite not being a Windows application even. So most people except the boss used external editors and then built using VS (and were forced to use an external debugger anyway since it wasn't Windows). It's clumsy but doable, even more clumsy in ways than just have a set of independent tools (editor plus gcc plus make plus gdb plus source code control plus...).

      It often comes down to two groups of people; those who know the command line and are extremely fluent and fast in it, versus those who always want a graphical tool to do everything. That seems to be somewhat generational, as in those who learned to develop when there were only text or mostly text environments versus those who first developed when everything was windowed.

      Everyone should use the tools that they themselves are most comfortable with; maybe with years of training they will be slightly faster in something else, but speed should not be the goal here. Better is to try and combine those two types of environments in some way. However whereas text tools tend to be good at being combined with other stuff, most IDEs tend to be very inflexible except for a limited plugin scheme.

    13. Re:Title not a good start by mstefanro · · Score: 1

      It is indeed a shame that such a great editor cannot be easily turned into an IDE.

      My experience with plugins is exactly the same: they are slow, buggy, incomplete
      and very often interfere with one another.

      A gvim fork which would combine the greatness of the editor with IDE features
      would be a dream. Imagine how nice it would be to have key bindings for every
      menu and every option. For instance, \p could open the "project" menu. All the
      menus and submenus would have a key combination associated with them.
      For instance, "New project" would be in the "project" menu and would be accessed
      by typing \pn (p as in project menu, n as in new).

      IDEs increase productivity a lot with their features, vim increases productivity a lot
      by not having to touch your mouse every 3 seconds. Combining the two would be
      incredible imo.

    14. Re:Title not a good start by Nivag064 · · Score: 0

      Lets rewrite your comment to be non-sexist (there is no point in mentioning gender, unless it is relevant to the point being made - as it just distracts)!

      "This is not a good sign. A developer with sufficient skills can be productive using vi as her IDE..."

      "This is not a good sign. A developer with sufficient skills can be productive using vi as their IDE..."

    15. Re:Title not a good start by dkf · · Score: 1

      IDEs increase productivity a lot with their features, vim increases productivity a lot
      by not having to touch your mouse every 3 seconds. Combining the two would be
      incredible imo.

      I have a touchpad just below my keyboard (it's a laptop) and I find that's much better for my productivity and my wrists than using a mouse; I don't need to move my hand much more than I would when reaching for the Escape or Backspace key. (Plus, you can access a very large set of the actual code editing functionality of Eclipse at least purely via menus; if only that was true for some of the other things too, but I'm convinced that the developers of egit actively hate their users.)

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    16. Re:Title not a good start by Anonymous Coward · · Score: 0

      This is not a good sign. A developer with sufficient skills can be productive using vi as her IDE...

      Yes, but not as productive. Yes, it's true. It's been measured. A skilled Java coder, working in an IDE, can run rings around the coder working in a text editor when the "product" is something more sophisticated than "hello world".

    17. Re:Title not a good start by GodfatherofSoul · · Score: 1

      Maybe the poster is a woman?

      --
      I swear to God...I swear to God! That is NOT how you treat your human!
    18. Re:Title not a good start by kazagistar · · Score: 0

      I am really curious about this... could you possibly cite your sources?

    19. Re:Title not a good start by Anonymous Coward · · Score: 0

      vi ... it's all the rage these days. Perhaps the problem is the old folks don't know how to teach the young folks any better/don't have the time to make the jump themselves. Keeping up and being proficient...c'mon!

    20. Re:Title not a good start by MikeBabcock · · Score: 1

      Where's this proof? I see no proof.

      I'm not saying it doesn't exist, but I don't see it.

      This is a real study of hundreds of actual professional programmers from a wide variety of backgrounds?

      --
      - Michael T. Babcock (Yes, I blog)
    21. Re:Title not a good start by MikeBabcock · · Score: 1

      Highlight variable definition with too many variables in a list and copy with 'y'.
      Hit q, 1, /, ", ",
      Now hit "2x", ";", , P
      Hit escape, then "20@1" to run 20 more times.

      Voila, you turned "int a, b, c, d, e;" into "int a; int b; int c" etc.

      Macro was very simple for sake of Slashdot example. Don't forget you can save all those macros and reuse them in the future.

      --
      - Michael T. Babcock (Yes, I blog)
    22. Re:Title not a good start by Captain_Chaos · · Score: 1

      I'd be willing to bet a lot of money that you would not have written that post had I said "his". I'd say there's a good chance that you're more sexist than me. I'd also like to point out that "their" is plural and does not mean "his or hers", so it would be grammatically incorrect.

    23. Re:Title not a good start by Captain_Chaos · · Score: 1

      Maybe the poster is a woman?

      Should it matter?

    24. Re:Title not a good start by Nivag064 · · Score: 1

      How much do you owe me?

      As I said, the gender was not relevant to the original point being made.

      And using 'her' rather than 'he' is definitely sexist, as traditionally 'he' was used for both in the legal sense (something that I long ago objected too).

      I was using 'gender appropriate' language long before, the Political Correctness crap started being popular! Probably about 30+ years

      From way back when I was active on Usenet, there was a posting about the use of 'their' etc., from memory 'their' used to include singular.

      Anyhow it would be better to use 'their' rather 'his, her, or its'. So even if otherwise, it would be better to extend the English language appropriately, with the additional use of 'their' rather than the abomination of 'his or her' or 's/he' etc.

      Depending how it is classified, about 0.5% children are born with genitalia that are not 'normal'. In one island, apparently about 10% of children are born apparently female & develop male genitalia at puberty, Physical & psychological aspects of gender are way more complicated than most people realize. So even using 'his or her' does not cover everyone - and that is even before you get into the minefield of sexual orientation!

    25. Re:Title not a good start by Captain_Chaos · · Score: 1

      You're missing the point. Your display of sexism isn't in the content of your post, it's in the fact that you chose to comment at all, which I'm pretty sure you would not have done had I said "his" instead of "her".

    26. Re:Title not a good start by Nivag064 · · Score: 1

      Actually you are the one being sexiest - you replied to a post talking about "A developer..." with a gender specific response "...her IDE..."!

    27. Re:Title not a good start by Captain_Chaos · · Score: 1

      Actually you are the one being sexiest

      Why thank you very much!

      you replied to a post talking about "A developer..." with a gender specific response "...her IDE..."!

      Alright, I'll try one last time to make this clear. YOU WOULD NOT HAVE RESPONDED IF I HAD SAID "HIS"!!! You started this whole argument solely because I said "her" while (still!) being oblivious to the fact that your doing so demonstrates a deep seated sexism in society, where nobody finds it remarkable to say "his" where some pronoun of indeterminate gender is needed but gets all high and mighty if someone says "her" instead. In other words, you're only complaining that I didn't use a neutral pronoun because I used a female one instead of a male one.

    28. Re:Title not a good start by Nivag064 · · Score: 1

      I have responded in the past to someone using a male pronoun - and if you had read what I had said sufficiently carefully, you might realize that you are wrong, because you are definitely wrong in claiming I only reacted because you used the female pronoun.

    29. Re:Title not a good start by Nivag064 · · Score: 1

      There are far more serious inequalities for women we can focus our attention on...

      http://www.bbc.co.uk/news/world-middle-east-23347425
      [...]
      Malala - who is considered a contender for the Nobel Peace Prize - is credited with bringing the education issue to global attention.

      Speaking at UN headquarters in New York last Friday, she said that books and pens scared extremists. She also urged education for all, including "for the sons and daughters of the Taliban and all the terrorists".
      [...]

      http://www.telegraph.co.uk/news/worldnews/asia/pakistan/10122549/Gunmen-in-Pakistan-bomb-female-students-bus-then-attack-hospital.html
      [...]
      Gunmen in Pakistan bomb female students' bus then attack hospital

      Militants in Pakistan have bombed a bus carrying female students before attacking the hospital where survivors and relatives of the victims had gathered.
      [...]

    30. Re:Title not a good start by bingoUV · · Score: 1

      http://eclim.org/

      There are easy to use vim plugins for netbeans and eclipse, but they don't get the full power of vim. Quite enough to keep your hands on keyboard most of the time, though.

      Eclim gets the full power of both eclipse and vim, but is kind of difficult to set up. The maintainer Eric is quite responsive, though.

      --
      Bingo Dictionary - Pragmatist, n. A myopic idealist.
    31. Re:Title not a good start by mstefanro · · Score: 1

      I work with my touch-pad as opposed to my mouse when programming as well. I'd rather not get into a vim argument, but as a vim user for many years, I can assure you that it simply increases productivity when used as a text editor.

      The problem with mouse or touchpad is not that it's out of reach, but that it usually forces you to take your index fingers away from the "f" and "j" keys, plus it wastes time by making you point the cursor at the right place, which should most of the time be unnecessary when programming, as most of the operations you perform with mouse are not "location-specific" (with the exception of placing the cursor in the right place). However, I do agree that touch-pad has its advantages over the mouse, because I can usually point and click with my right thumb, without having to move my index fingers at all.

  7. WTF? by TheDarkMaster · · Score: 4, Informative

    Eclipse IS slow, period. I work with him for over six years and has ALWAYS been slow compared with a similar IDE that is not based on Java. And not only slow, but terribly buggy. TFA sounds more like an article made by an eclipse fanboy than a developer trying to make a truly honest comparison.

    --
    Religion: The greatest weapon of mass destruction of all time
    1. Re: WTF? by Anonymous Coward · · Score: 1

      I got the same impression. Regardless of what some fanboys want to believe or say about it, Visual Studio is simply a great IDE for Windows development. If there are usability issues it is because the user simply hasn't taken the time to learn, I haven't had any issues.

    2. Re: WTF? by TheDarkMaster · · Score: 0, Troll

      And I just got moderated down by fanboys. Damn humans, they prefer theirs private fantasy worlds than reality.

      --
      Religion: The greatest weapon of mass destruction of all time
    3. Re:WTF? by nwf · · Score: 1

      Eclipse IS slow, period. I work with him for over six years and has ALWAYS been slow compared with a similar IDE that is not based on Java. And not only slow, but terribly buggy. TFA sounds more like an article made by an eclipse fanboy than a developer trying to make a truly honest comparison.

      I've got Eclipse Juno and a later version of VS installed on the same relatively fast PC (solid state disks). Neither are speed demons, but I think VS is slower, particularly when building. It's somewhat amazing how fast Eclipse builds my project with over 1000 classes, whereas VS takes about the same amount of time to build a C project with 10 files small files.

      --
      I don't know, but it works for me.
    4. Re: WTF? by thewils · · Score: 4, Funny

      Actually, Microsoft have been working on this aspect to try to slow down VS to compete with Eclipse. VS2012 for instance now has a pause built in where you can't do anything for about 10 seconds when you open up an aspx page, presumably while it parses the file for you...even when you don't want intellisense and just want to copy some code out. It gets really annoying after a while.

      Vanilla VS2012 won't let you build an installer for a Windows service either, which you could do with VS2010, so I have to maintain both of them on my dev box, unfortunately.

      --
      Once I was a four stone apology. Now I am two separate gorillas.
    5. Re:WTF? by TheDarkMaster · · Score: 1

      Depends on what VS you are talking. If you mean the VS 2005 or newer, it is also very slow. As for Eclipse, it is slow in general: Slow to load a JSP, slow to load an auto-complete, slow for any operation more relevant. It may not be obvious on a computer for $ 6,000, but anything below is easy to see happening. And some important things are terribly buggy and poorly performing, such checking the correctness of a JSP file.

      --
      Religion: The greatest weapon of mass destruction of all time
    6. Re:WTF? by sapgau · · Score: 1

      Agreed, I guess your mileage may vary. Haven't experienced any lag on Eclipse. But then again I don't tempt fate and try not to run many things at the same time otherwise I experience Windows memory swapping.

    7. Re:WTF? by Anonymous Coward · · Score: 1

      Posting AC to avoid having my karma kicked into oblivion for daring to criticize the Open Source favorite over the evil MS product. But, having used both pretty extensively, I agree. Eclipse is buggy as shit. Visual Studio, while far from perfect, is at least somewhat stable. I actually wish I could develop for Android on VS instead of Eclipse.

    8. Re: WTF? by jones_supa · · Score: 1

      Sadly both Eclipse and Visual Studio are quite heavyweight. Otherwise I greatly enjoy VS2012.

    9. Re:WTF? by satuon · · Score: 1

      You do realize that the speed of compiling has nothing to do with the IDE? And what's the point of comparing the compilation speed of C++ vs Java, when C++ does a lot of optimizations for x86/x64 while Java produces much simpler bytecode.

    10. Re: WTF? by TheDarkMaster · · Score: 1

      I had the same impression on experiencing the new versions of VS... (consider that I come from the time of Visual Studio 6.0 and before). VS 6.0 was simple to install, worked fast and did the job. The 2012 version took an afternoon to install (no kidding) and was slow to do anything. Result? On home, I still use VS 6.0

      --
      Religion: The greatest weapon of mass destruction of all time
    11. Re: WTF? by Anonymous Coward · · Score: 0

      W...T...F...? Having used most (not all, but enough) of the VS editions from 6.0 onward, I can truthfully say that you're full of shit.

      VS6.0 was a full day of swapping installation CD's, tracking down service packs, and other assorted pain. Newer hardware has no effect here, since this software is too old to run on anything modern and properly patched.

      VS2005 was the next one I bothered with. Installation took a few hours, but most of that was boredom while watching a progress bar. VS2008's installation was the same as VS2005's, and took a similar amount of time. Newer hardware has reduced this to under an hour.

      VS2010 takes around 30 minutes to install. VS2012 is similar. Both of them are pretty much as simple as next-next-next-OK.

    12. Re:WTF? by binarylarry · · Score: 0

      Java's bytecode is compiled into native code at runtime (similar to how C++ is compiled).

      Technically Java's compilation is even fancier than a C++ toolchain because it can use runtime information to make better decisions that aren't feasible with an AOT toolchain (oh I see you mainly reference a certain virtual call -> devirtualize the call, etc).

      --
      Mod me down, my New Earth Global Warmingist friends!
    13. Re: WTF? by UneducatedSixpack · · Score: 0

      Vanilla VS2012 won't let you build an installer for a Windows service either,

      Vanilla VS2012 won't let you build an installer for anything. That type of project is gone. You are welcome to use some crappy open-source substitute WiX (windows installer xml toolkit). I tried it and it sucks. What previously was a 5 minutes of mouse clicks became few hours of reading and experimenting with horrendous XML. Discarding features is the worst thing that happens to VS devs. Macros - gone. ATL SOAP support - gone. Deployment projects - gone. Static linking for mixed native/.NET C++ projects - gone. "Old" managed C++ syntax - trying to die since VS2005? 2008? Even STL is changing from version to version. As a C++ developer I feel like I am in a dumpster looking for leftovers of features. I wonder how long VS is going to support C++. The language itself is a trainwreck in ASCII.

    14. Re: WTF? by Roman+Coder · · Score: 2

      And I just got moderated down by fanboys. Damn humans, they prefer theirs private fantasy worlds than reality.

      I didn't mod you down, but for what its worth, in all the years of using Eclipse, I've only seen/been affected by two bugs, one years ago, one recently. Juno was very buggy, but Kepler is doing great so far.

      I can't agree with your slow/buggy comments. If I did, I wouldn't be using it as my IDE (Intelli J and Netbeans being alternatives).

      --
      "The future can only affect the present if there is room to write its influence off as a mistake." - Yakir Aharonov
    15. Re:WTF? by Dog-Cow · · Score: 1

      What you wrote does not contradict the GP in any way, shape or form. What exactly was the point of your comment?

    16. Re:WTF? by Anonymous Coward · · Score: 0

      +1

    17. Re: WTF? by TheDarkMaster · · Score: 1

      Tipical "For me works, so you is a sucker"? Bah. Mind you AC, I live in "third world". At the time I tried VS 2010, a reasonable CPU was a costly item and 2GB of RAM was too expensive to have. Broadband? Pffffff, luxury item also. Installing Visual Studio 6.0 here was matter of installing the CD, then get the service packs on my CD utilities and presto, VS running. But of course it is necessary to say that I never needed to install it completely (No reason to install VS C++ if I just needed the VS Visual Basic).

      Now, try to install the VS 2010 or 2012 using a (to the actual level) slow machine, having a 256kbps (unreliable) broadband... Now is a bit easier to understand why it took an afternoon? And you failed too to realize that I did not say it was difficult to install VS 2010: I said it took a whole afternoon in waiting to do it. Installing VS 6.0 was easier in the sense of being faster and not have to deal with connection problems.

      --
      Religion: The greatest weapon of mass destruction of all time
    18. Re:WTF? by Anonymous Coward · · Score: 0

      Since you seem to lack the ability to comprehend, let me spell it out for you in simple terms:

      Man post before me, he be all like "I dun know why peoples care abouts compilation speed, C++ dus opzimizations but Java don't and shit" but then next poster says "Java does them optazations too, jus at the time it all runs and shit"

      There, does that help you, friend?

    19. Re: WTF? by TheDarkMaster · · Score: 1

      I use Eclipse at work, but not by choice. As example of the problems, I currently develop enterprise systems for the web. The validator for JSP pages constantly invents nonexistent errors, pointing problems where there is no more code, and complains about inexistent errors in JSP fragments. Copy and paste works in an erratic way, sometimes the copied contents simply disappears (you do ctrl+c, but ctrl+v does nothing). I get random (and obscure) errors when using the auto-completion, visual editor for HTML pages is unusable to any page larger than 50kb, and somethimes the whole thing simply crashes in a inexplicable way. Mind you, you are one user. If works for you good, but please do not think that if works well for you then it must works well for thousands of users in the exact same way.

      --
      Religion: The greatest weapon of mass destruction of all time
    20. Re: WTF? by thewils · · Score: 1

      ...and don't even get me started with Team Foundation Server vs SourceSafe!

      --
      Once I was a four stone apology. Now I am two separate gorillas.
    21. Re:WTF? by wierdling · · Score: 1

      Android studio (http://developer.android.com/sdk/installing/studio.html) is your friend. I am a hard core vs user (hey, it pays the bills) and was tasked with whipping up a proof of concept android application. Android Studio made it every bit as easy as using vs. And on the plus side I get to work with Java again (call me odd but I kinda like that language).

      --
      No matter where you go, there you are. So Enjoy it.
    22. Re: WTF? by gl4ss · · Score: 1

      my favorite about vs is that it locks source files when running nowadays and moves the windows around in the ide ever so slightly when starting and stopping the program.

      oh and maybe buy a new machine or something... and a faster net.

      --
      world was created 5 seconds before this post as it is.
    23. Re: WTF? by Anonymous Coward · · Score: 0

      I think I see the problem here:

      Installing Visual Studio 6.0 here was matter of installing the CD, then get the service packs on my CD utilities and presto, VS running.

      vs

      Now, try to install the VS 2010 or 2012 using a (to the actual level) slow machine, having a 256kbps (unreliable) broadband...

      Why aren't you popping in your VS 2010 or VS 2012 DVD and presto, VS running rather than downloading it during the install?

    24. Re: WTF? by Roman+Coder · · Score: 2

      Well, I'm not saying what I'm saying just because of me. I sit in the middle of the floor with twenty-five other coders, all who use Eclipse, and we talk to each other.

      And none of us see the problems you've talked about.

      Also, as a consultant for twenty years, I've worked at over thirty companies, almost all using Eclipse (different versions as the wayback machine is set higher and higher), and have not had/seen the kind of experiences you document in your post.

      All anecdotal, agree, but maybe, just to turn the tables, its you that is having especially bad luck with Eclipse, vs. all others ALSO having bad luck?

      You might want to consider a fresh install, etc. etc. $0.02 Otherwise, from one coder to another, I feel your pain, as I hate it when the tech gets in my way of doing the job too.

      --
      "The future can only affect the present if there is room to write its influence off as a mistake." - Yakir Aharonov
    25. Re: WTF? by aztracker1 · · Score: 1

      If VS were 3x as fast, it wouldn't be as bad... it's just so sluggish, especially if you have a couple plugins loaded. Web Essentials brings it to a crawl, and update3 includes most of them now. I use WebStorm (based on IntelliJ) for NodeJS stuff, and it screams in comparison. Eclipse is as much of a beast though... I like the VS2012 UI a lot (with the dark theme), but it's just not worth it.. can we get the old ActiveX based UI back please?

      --
      Michael J. Ryan - tracker1.info
    26. Re: WTF? by TheDarkMaster · · Score: 1

      Well, I try to install using a DVD. But he still try to download a lot of data (updates? plugins? who knows). Now i can install in 30 minutes, but I now have a vast more powerfull machine to do this.

      --
      Religion: The greatest weapon of mass destruction of all time
    27. Re:WTF? by Anonymous Coward · · Score: 0

      I think Auto-complete has a default 1 second delay so that if you just continue typing it doesn't invoke at all.

    28. Re: WTF? by Anonymous Coward · · Score: 0

      You can always use wix installer http://wix.sourceforge.net/
      It works with visual studio 2012 and 2010. I believe it has more options too.

    29. Re:WTF? by satuon · · Score: 1

      My main point was that compilation speed has nothing to do with the IDE anyway, as compilers are command line tools that can be run even without the IDE. They are completely separate products which are used by the IDEs, and the same IDE could even switch to using different compilers.

    30. Re:WTF? by Anonymous Coward · · Score: 0

      Java isn't the problem. IntelliJ IDEA is in Java, and it runs rings around Eclipse (not to mention the out-of-the-box functionality is a million times better). Eclipse is just a shitty platform.

    31. Re:WTF? by terjeber · · Score: 1

      A lot of bugginess in Eclipse is caused by plugins. They work some times, other times they do not. Some times they are just massive areas of pain.

      I was working on and off on a project running on jBoss that used the Smooks XML to Java thingy. The dev environment (which I did not set up and was not allowed to change) used a Smooks plugin for Eclipse. Besides the fact that Smooks would don random terrible things to applications, that Smooks plugin was the bane of my existence. The Smooks XML files were all hand "coded" in XML since the plugin did such a poor job of creating readable XML, mostly, when you let the smooks plugin do the XML, it would not build. So I learned how to hate Smooks.

      To open the file in the Eclipse XML editor, you had to right-click on it and specify to open in XML editor. Some times you'd forget and just double-click. That's when it got funny. The Smooks editor would open, you'd go "sh*t", and then close the file before the Smooks plugin could do any harm to your fine-tuned, hand "coded" XML file. Too late. In all its wisdom, the Smooks editor plugin would not only read your XML file into memory, it would, upon reading it conclude that "oh, that fine, functional, fully working hand-"coded" XML is all well and good, but mine is much better", so it would on opening your file also save it back using its own (plugin) way and format, and whoops, Smooks would no longer accept the file. Back to the repository and check it out again.

      Yes, seriously, the Smooks plugin would open the file and without any shame, re-format it and save it back (overwriting the original) to disk without even asking you.

    32. Re:WTF? by TheDarkMaster · · Score: 1

      I understand your pain. Much of my problems with Eclipse are also caused by really stupid decisions of who developed it.

      --
      Religion: The greatest weapon of mass destruction of all time
  8. Netbeans! by bigsexyjoe · · Score: 5, Informative

    It isn't nearly as popular (and I don't know why), but Netbeans kicks Eclipses ass. True, they are both memory hogs. But Netbeans doesn't drag and freeze as much. Its commands and interface are a lot more intuitive. Netbeans is also a much better IDE for the web. It handles JavaScript way better than Eclipse and even allows you to debug your JavaScript through a Chrome extension.

    1. Re:Netbeans! by Anonymous Coward · · Score: 1

      If you're working with PHP, Netbeans is great. Install xdebug in your local web server, and then you can do line-by-line debugging just like you would with Java or C# in Eclipse/Visual Studio. Being able to debug your client-side Javascript and server-side PHP in the same window is web developer enlightenment. Netbeans beats everything for me.

    2. Re:Netbeans! by Anonymous Coward · · Score: 0

      I use both of them for my work all the time. NetBeans is much simpler. The dialogs boxes aren't as insane as in eclipse. It understands Maven a bit better. Although the newest version of Eclipse (kepler) seems to do an OK job. I love the editors in NetBeans. Eclipse has much better support for repository browsing. NetBeans basically doesn't have any. I think that's the main reason I keep eclipse running. That said, a nice feature of NetBeans is that you can checkout a project from the command prompt and then load it into NetBeans and NB will carry on from there w/o a problem. I don't think Eclipse will let you do that. You can also drop back down to the prompt and commit and NB will deal with it properly. The last time I tried that with Eclipse, it didn't work right. Eclipse does a better job with maven where you've got project A relying on project B. Changes to project B will cause project A to refresh (for example, reload a webapp where the webapp is A and B is a library that A uses). That can be a show stopper for NetBeans. Not to date myself too much here, but I liken them to old televisions. When the TV wouldn't sink the horizontal signal, you'd have to smack it on the side in the right spot. With Eclipse you wack it on the right, with NB's you smack it on left.

    3. Re:Netbeans! by Anonymous Coward · · Score: 0

      The problem that I have with Netbeans is that its Emacs key bindings are incomplete to the point of being unusable. I've been using Emacs since 1987, so the Emacs key bindings have burrowed deeply into my brain.

      In contrast, the Eclipse key bindings for Emacs work quite well.

    4. Re:Netbeans! by TopSpin · · Score: 3, Interesting

      I concur with this. NetBeans is not attempting to be a generic GUI application platform; it is a mere IDE so it weighs a lot less than Eclipse. I moved to NetBeans because Maven integration with Eclipse is still half baked after all these years; with NetBeans you just open the Maven project and things work correctly. I stayed with Netbeans because it performs better and just has fewer hairs. Eclipse not spamming .project and .classpath all over the place is just fabulous as well.

      It is Oracle, however. One day it might cost $6000 per "seat."

      --
      Lurking at the bottom of the gravity well, getting old
    5. Re:Netbeans! by iampiti · · Score: 1

      +1 I guess the popularity thing is due to Eclipse having much better commercial support. I mean, it has official plugins (developed or sanctioned by the maker of the technology in question) for almost every framework you can think of whereas Netbeans has much fewer official plugins.
      Anyway, I like Netbeans much better than Eclipse. It has fewer options and that might make it less flexible but seems to be more focused on getting things working fast and with little effort. It's much more intuitive (IMHO) than Eclipse. In Eclipse everything seems to require lots of configuration.
      Interestingly, on the Gnome/KDE dichotomy, I stand on KDE's side which is more complex and configurable (i.e. more similar to Eclipse).

    6. Re:Netbeans! by FilmedInNoir · · Score: 1

      Gee whiz grandpa, I don't think any of the IDEs support punch cards.

      --
      Sig. Sig. Sputnik
    7. Re:Netbeans! by FilmedInNoir · · Score: 1

      It's got great commercial support! It's called the IBM Rational Application Developer.
      It's everything annoying about Eclipse plus the great taint of IBM's buggy products.

      --
      Sig. Sig. Sputnik
    8. Re:Netbeans! by Roman+Coder · · Score: 1

      I like all of Netbeans, except for its editor (even using the Eclipse keymappings).

      If I could take Eclipse's editor and put it in Netbeans, I'd be set for life, IDE wise.

      --
      "The future can only affect the present if there is room to write its influence off as a mistake." - Yakir Aharonov
    9. Re:Netbeans! by rvw · · Score: 1

      Anyway, I like Netbeans much better than Eclipse. It has fewer options and that might make it less flexible but seems to be more focused on getting things working fast and with little effort. It's much more intuitive (IMHO) than Eclipse. In Eclipse everything seems to require lots of configuration.

      When using Netbeans, at some point in the near future, it simply won't react anymore. If I remember correctly it starts to analyse the cache, and when it starts doing that, I always have to kill it. Then I have to delete all projects and start over with configuring all projects. After doing that twice, hoping it's just a temporary thing, you start to look differently at Eclipse. Is it slow? Maybe! But that's nothing.

      Eclipse works, and has always worked for me. And if it's so slow, how come I can start it at my 2003 P4 without any issue? OK, that takes a minute, but after that it just works. Whatever I do, I'm a lot slower than Eclipse, and if it doesn't stall, I'm OK with it.

    10. Re:Netbeans! by Darinbob · · Score: 1

      Hey, time for graham crackers and milk, so stop using your ipad during kindergarten.

    11. Re:Netbeans! by Nivag064 · · Score: 1

      Hmm... .

      Have you tried giving Eclipse more memory & enabling multiple threads to be used for garbage collection, in the file 'eclipse.ini', the defaults are too small for modern computers...

      -Xms40m
      -Xmx512m

      My main development box has a quad core with 16GB of RAM, note that the processor has 8 'virtual' cores that give the performance close to 8 real single threaded cores.

      Also set the min and max heap sizes to the same value, this improves performance!

      [...]
      --launcher.XXMaxPermSize
      1g
      [...]
      -vmargs
      -XX:+UseParallelGC
      -XX:ParallelGCThreads=7
      -Dosgi.requiredJavaVersion=1.6
      -XX:MaxPermSize=1g
      -Xms2g
      -Xmx2g

    12. Re:Netbeans! by Myopic · · Score: 1

      "Eclipse not spamming .project and .classpath all over the place is just fabulous as well."

      Amen, man, that's a shortcoming of Eclipse, which I mostly love. Those .classpath files are as annoying as those Mac .DS_STORE files. Someone should be assassinated for those files.

    13. Re:Netbeans! by Miamicanes · · Score: 1

      Sigh. Don't remind me. I miss Netbeans every time I'm working on an Android project & Eclipse gets into one of its "moods", like...

      * when it decides that your class is full of syntax errors that aren't there & the only way to fix it is to cut the class into the clipboard, save the empty .java file, paste it back, and save it again.

      * when Eclipse forgets how to look up the syntax of Android classes.

      * when, for god knows what fsck'ing reason, it thinks it should pretend you hit cursor-left after you type a semicolon at the end of a line so the semicolon you just typed gets shoved down to the next line. The unbelievably annoying bug that's been around for... what, FOUR GODDAMN YEARS now?

      * when it spontaneously quits regenerating R.java, and you get to spend the next 3 hours going through your XML files one by one trying to figure out which one is silently failing.

      * Anything that has to do with Eclipse and Subversion. Can we say, "hot mess"?

      * ___(fill in the blank)___

      Sigh. I really wish Google would dip into a few molecules of its nearly-infinite cash and just hire the developer of NBAndroid to work on it full time. It's almost like some senior member of the Android development team passionately *hates* Netbeans, and lives in daily fear that allowing Netbeans to become an equal alternative to Eclipse will cause the entire Android developer community to abandon Eclipse overnight. Actually, I'm sure at *least* 10-30% of Android developers would still stick with Eclipse, if only out of habit and documentation ;-)

    14. Re:Netbeans! by Anonymous Coward · · Score: 0

      Statically allocating memory to a process? Which archeological dig did you find that software in?

  9. Reviewer doesn't know the first thing! by Anonymous Coward · · Score: 3, Insightful

    "Studio also requires a working set of about 250 megabytes of memory, while Eclipse requires about 3 megabytes of memory..."

    Erm, working set on a newly launched eclipse (no project) takes 13x,xxxK.

    Plus working set is actually a GOOD thing - in theory. Imagine two programs which each take 700 megabytes running on a machine with only 1000 (and 24). Imagine them sharing some ... libraries, we could call them, of 500 megs each. So the working set would only be 900! Yay! Disk thrash averted :)

    Oh, DLL hell? Ah.

    Yes.

  10. Visual Studio always just works by Anonymous Coward · · Score: 1

    Eclipse is like, first you waste half an hour trying to get all the RPM and JVM dependencies fixed up, and no, that's not just a matter of running yum.

    Then you launch it and are immediately dazzled by a web portal-style desktop app, which obviously was designed so that everyone's pet feature is available within 3 mouse clicks. The problem is that there are 100's of these features.

    Then you get their "hello, world" app to run and debugging, and it works fine.

    4. Then you try to debug your app and it runs out of Java heap space.

    Then you google and find where in the .ini file you're supposed to increase the memory parameters, so you go do that.

    Goto step 4 and repeat. I've given up on Eclipse.

    1. Re:Visual Studio always just works by binarylarry · · Score: 1

      Whats that thing they say about poor workmen?

      --
      Mod me down, my New Earth Global Warmingist friends!
    2. Re:Visual Studio always just works by Anonymous Coward · · Score: 0

      And god help you if you start adding in plug-ins. Eclipse goes from pretty buggy to full-on fucking schizo.

    3. Re:Visual Studio always just works by Anonymous Coward · · Score: 1

      A poor workman blames their tools for poor work. Your analogy fails because the GP is evaluating the tool itself, not using the tool as an excuse for having produced poor work.

      A valid example in this case would be, "I would have written the greatest game ever, but instead I produced Daikatana because all I had was Eclipse."

      So good try, but unfortunately you haven't contributed anything to the conversation.

    4. Re:Visual Studio always just works by Anonymous Coward · · Score: 0

      not to say that isn't true, but a good workman can be equally displeased by bad tools; especially if they are used to better tools

    5. Re:Visual Studio always just works by Anonymous Coward · · Score: 0

      They produce things like Eclipse?

    6. Re:Visual Studio always just works by binarylarry · · Score: 1

      How's your reading comprehenion, chocho: "4. Then you try to debug your app and it runs out of Java heap space."

      --
      Mod me down, my New Earth Global Warmingist friends!
    7. Re:Visual Studio always just works by Anonymous Coward · · Score: 0

      That they use shitty tools like Eclipse because they can't afford a VS license? That's true. I'd rather write code in MS Paint that work with that garbage.

    8. Re:Visual Studio always just works by Myopic · · Score: 1

      That's weird, that's the opposite of my experience. Here's how it always went for me with VS:

      1. Start a new project.
      1. (a) File -> New -> Project...
      1. (b) WHAT THE FUCK THERE ARE 300,000 PROJECT TEMPLATES? WHAT THE FUCK IS THE DIFFERENCE BETWEEN A "WEB PROJECT" AND A "WEB APP" AND A "WEB SITE"?
      1. (c) try "Empty Project", doesn't work
      1. (d) weep, quit my job

      Notice I never got to step 2, "write the first line of code". VS is the *perfect* IDE analogy to Windows.

    9. Re:Visual Studio always just works by Anonymous Coward · · Score: 0

      If a simple UI confuses you, you should probably stick to janitorial work. Leave the developin' to professionals.

    10. Re:Visual Studio always just works by terjeber · · Score: 1

      I don't think you should work with computers. It seems like the simplest things confounds you. Try becoming a bus driver instead.

      To your "points":
      1 - Start new project, chose the category I need (Web, Office, Windows, Android)
      2 - Use the specific template I want.

      Your 1. (b) - there are Empty, ASP.NET Webforms, and MVC apps. If you don't know the difference, why the f*ck are you looking at them?
      Your 1. (c) - Sorry, there is no "Empty Project", but there is "Blank Solution". Works no problem.
      Your 1. (d) - Good idea, find something that doesn't require much intellectual skills, you clearly are lacking in that area.

    11. Re:Visual Studio always just works by Myopic · · Score: 1

      You are totally right. I'm just not smart enough to work with Microsoft products. People who can make Windows and Visual Studio function are like magical wizards compared to me. I am like a tadpole wallowing in the tepid waters of easy-to-use, easy-to-understand Unix compared to the soaring big-brained eagles who can decypher the Windows "command line", or figure out how to get past the New Project dialog box in Visual Studio. I'm way too dumb to do that, which is why I stopped trying, and now I work on software which is much easier to understand -- self-configuring self-healing multi-node big data platforms. Compared to Windows, this stuff is a cake walk. Lo! How I wish I could be as brilliant as you Windows users! Lo! How ashamed I feel as a sad little peon compared to a person who can memorize the directory structure and target application of those 300,000 project templates! Alas, I am familiar with so few, such as the Maven project structure, which is dumbed down to the level of noobs like me. You, madam terjeber, have my utmost sincere respect.

    12. Re:Visual Studio always just works by terjeber · · Score: 1

      Sigh. I develop on Windows and on Linux. I use Eclipse on Windows, Eclipse on Linux and VS on Windows. The first thing I install on any PC is Cygwin, since "find . -name -exec {} +" is in my spine. By far the fastest and most efficient way to make quick changes to (for example) config files is using vim. I can't even use "dir" since I have no clue what its command line options are but "ls" (aliased to ls --color=tyy -F) again in my spinal repertoire and has been since I started using SunOS (that one before Solaris) some time back when your mommy and daddy went on their first date and you were just a vague potential in his pants. I probably have longer time developing enterprise software deployed on Linux than you have out of your diapers. I was also part of one of the very first teams to develop enterprise software in Java deployed to some of the largest companies in the world. We were so early doing commercial Java enterprise software that Sun had our company name in their very first New York Times ads.

      That doesn't change the fact that what you complained about would indicate you are a total moron, or even worse, one of those retards who have a religious relationship with something as stupid as an operating system and you think Linux can walk on water and Microsoft is evil. Here is a clue for you, they are both far from ideal, but archtecturally Windows is slightly ahead of Linux, but neither can hold a candle to things like QNX. However, on one point, Windows is, with a huge margin, the very best Operating System out there. It has apps. I can manage and do most of the "post" work needed on my extensive (and growing) collection of images (shot in RAW) in Lightroom, Linux has nothing that comes close. On some I can do the very last touch-ups in Photoshop, Linux has nothing that comes close enough (no, GiMP is not it. I assure you. It isn't.)

      Oh, and on my PC, Visual Studio has 43 templates, arranged nicely by category, the largest category has 11 templates. When starting a new project I assume you know whether you want to write a web application, an Android application or a Windows application. Only one of which has more than ten templates. If you can't get your head around that, your software development skills are the least of your problems. Then I'd recommend you go see a doctor. Ten is a far cry from your stupid 300K nonsense.

  11. From C++ perspective by postmortem · · Score: 2, Interesting

    Eclipse's gcc code parser integration is better than IntelliSense. It actually understand OO code. VS struggles badly with understanding OO code. for example, if every class re-implements one virtual function, VS cannot figure out usage of one particular implementation; even if there are object declared with that class.

    Thus VS is good for debugging, for everything else in C++... not much so.

    1. Re:From C++ perspective by BitZtream · · Score: 2

      Ironically, everyone else who makes IDE's doesn't use GCC for code parsing because it sucks ass ... Maybe when you get around to using LLVM, you'll really that Eclipse is actually the shitty one.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:From C++ perspective by Anonymous Coward · · Score: 1

      Maybe when you get a few more years of experience under your belt, you'll realize that this style of speaking makes you come off as a douchebag who is incapable of considering that he might not be the smartest person in the room.

    3. Re:From C++ perspective by shutdown+-p+now · · Score: 1

      Which version of VS was your experience with?

      In my experience, VS has the single best C++ IDE parser out there. It's the only one of two IDEs that seems to be able arbitrarily complicated template metaprogramming code thrown at it (e.g. Boost.Lambda). The other is KDevelop.

    4. Re:From C++ perspective by MrEricSir · · Score: 1

      Intellisense is okay, but anyone who does serious work in Visual Studio should be using Visual Assist

      --
      There's no -1 for "I don't get it."
    5. Re:From C++ perspective by Darinbob · · Score: 1

      Problem is that GCC is far more portable and in wide use, so support for GCC is important. LLVM is probably great if you're on x86 only stuff or don't have to deal with a mixture of languages or systems.

    6. Re:From C++ perspective by Anonymous Coward · · Score: 0

      Both LLVM and GCC use yacc for creating ASTs. Quit talking out your ass like you have any idea how the compilation process works.

    7. Re:From C++ perspective by Xest · · Score: 1

      I suppose it depends how slowly you type. Eclipse has always been too slow with it's intellisense for it to offer me any value. In contrast Visual Studio's works excellently because it's fast and can keep up with the speed at which I type and hence autocomplete for me on time and speed me up even more.

      So sure even if Eclipse's is more intelligent (I don't think it is anyway) then what use is that if it's too slow as to be of any benefit unless you hen peck the keys at a grandad rate?

  12. Qt Creator!! by goruka · · Score: 5, Informative

    For all of those that love Visual Studio for C++ programming, and having used eclipse for some time, I believe Qt Creator is by far a much better alternative, as it has around the same level of functionality of VS+expensive commercial plugins.

    Even letting the Qt integration out, It has excellent code completion, shows warnings and errors as you type, provides great refactoring tools, It's extremely lightweight, works with any compiler and any build system, in any platform, integrates with a wide array of debuggers and profilers, has a high degree of customization, and some unique features like the best search/replace I've ever used and the locator (ctrl-k).

    The only reason it's not more popular is that most people believes it's only useful for writing Qt applications, which couldn't be further away from the truth. It's simply awesome. If I worked for Digia, I'd try to change the name and promote it to something unrelated to Qt, that way it would be really easy to bring new developers to their platform.

    1. Re:Qt Creator!! by gl4ss · · Score: 2

      you going to code java with qt creator? only an idiot - masochistic glorious idiot - would try to code qt with eclipse.

      which pretty much gets us to the point of why the fuck make this comparison? really, the c/c++ in eclipse is horrible and you most definitely are NOT going to be coding .net in eclipse.

      I've used both eclipse and visual studio for the past year.. and just as well. the other for android stuff and the other for windows phone development.

      trying out the new android studio now though.. now there's a comparison that could actually be useful: comparing another hammer to another similar hammer, so compare eclipse with idea because that's something a lot of people are contemplating now, if they should switch. but I guarantee that pretty much nobody was trying to decide if they should do what they do in visual studio in eclipse or the other way around. what's next, a compiler comparison between rcvt and intels compiler? oh wait I think we had that already..

      --
      world was created 5 seconds before this post as it is.
    2. Re:Qt Creator!! by shutdown+-p+now · · Score: 1

      I agree that Qt Creator is an awesome IDE, especially so if you want something cross-platform. However...

      It has excellent code completion

      How well does it handle templates? Can it figure out, say, std::bind? Or even std::vector<std::string>? Last time I tried it (a few months ago), it still had problems with the latter (v.begin()-> would not give you members of string).

    3. Re:Qt Creator!! by Anonymous Coward · · Score: 0

      Yea, found it awhile ago. Use it for all my C++ needs. Considering I use it on a Mac, Windows and Linux - not only is it a great IDE but it's amazingly cross platform.

    4. Re:Qt Creator!! by Kjella · · Score: 1

      Well, at least as recently as May they said:

      Unfortunately there is no ready-made builds for KDevelop on Windows as far as I know, since it lacks someone who is willing and able to work on KDevelop on Windows. Contributions would be very much welcome here!

      If anybody is using Visual Studio there's a good bet they're on Windows, so with no Windows build how can KDevelop be an alternative?

      --
      Live today, because you never know what tomorrow brings
    5. Re:Qt Creator!! by goruka · · Score: 1

      I'm currently using it for complex templates without issues. Maybe the problem is that it can't find the respective std headers?

    6. Re:Qt Creator!! by shutdown+-p+now · · Score: 2

      No, it finds the headers just fine, since it gives completion for the corresponding types. But it seems to be unable to handle typedefs inside a template. Here's a sample:

      #include <string>
      #include <vector>
       
      int main() {
          std::vector<std::string> v;
          v.at(0).
      }

      Here the completion at the dot should be for std::string, but none is actually provided. And if you look at deduced signature that QtC shows when typing "at(", it shows the return type as const_reference rather than const std::string&.

      Additionally, I don't know what you mean by "complex templates", but to me this implies template metaprogramming that heavily uses specializations. And my experiments seem to show that QtC "handles" them by basically merging them all together, e.g.:

      template<bool> struct foo;
       
      template<> struct foo<true> {
          void is_true() {}
      };
       
      template<> struct foo<false> {
          void is_false() {}
      };
       
      int main() {
          foo<true> f;
          f.
      }

      This shows both is_true and is_false in the completion list for f, while it should only show is_true. Coincidentally, this also means that completion for std::vector<bool> is incorrect, since it's missing flip() (I'm not sure why in that case it completely omitted the specialization instead of just adding its members). Here's a less trivial example of template metaprogramming that's completely broken because of this:

      #include <string>
       
      template<class T>
      struct remove_pointers {
          typedef T type;
      };
       
      template<class T>
      struct remove_pointers<T*> {
        typedef typename remove_pointers<T>::type type;
      };
       
      int main() {
          remove_pointers<std::string**>::type s;
          s.
      }

      Type of s should be std::string and provide the appropriate completions, but QtC can't handle that, presumably because it couldn't properly handle the specialization. This kind of thing is going to break code completion for large parts of Boost, for example.

      This all is on QtC 2.7.2. I know that 2.8.0 has just been released, but I haven't tried this on it yet; I prefer to install the SDK, to avoid the hassle of setting up MinGW myself, and the SDK has not been updated to 2.8 yet.

    7. Re:Qt Creator!! by Bill_the_Engineer · · Score: 2

      KDevelop? Gorunka is talking about "Qt Creator" and you can find the Windows binary on their download page.

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    8. Re:Qt Creator!! by updatelee · · Score: 1

      Same here, I use it for Qt development as well as C apps and kernel devel. Its just a really nice IDE.

      UDL

    9. Re:Qt Creator!! by gbjbaanb · · Score: 1

      you going to code java with qt creator? only an idiot - masochistic glorious idiot - would try to code java nowadays.

      TFTFY.

      You have a point though - C++ in eclipse is a real PiTA. Code::Blocks is much better, and I shall give QtCreator a go now. For java, if you must, then I guess Eclipse is made for you.

      Na, next - compiler comparison between GCC and LLVM...

    10. Re:Qt Creator!! by Anonymous Coward · · Score: 0

      One problem with QtCreator is that it requires glibc 2.14. If you have an older version of gcc (and hence glibc), there's no good workaround except (yeah, wait for it) "It's open source, so why don't you study the code and contribute a workaround?"

    11. Re:Qt Creator!! by jma05 · · Score: 1

      > you going to code java with qt creator?

      He never suggested that. He meant QtCreator is a good C++ IDE, even if you just want to create non-Qt C++ apps.

      > only an idiot - masochistic glorious idiot - would try to code qt with eclipse.

      Why? Why call names?
      Eclipse was an officially supported IDE for Qt, before QtCreator. It supported both C++ and Java (Qt Jambi - now defunct) for Qt.

      > c/c++ in eclipse is horrible and you most definitely are NOT going to be coding .net in eclipse.

      Why bring up .NET? .NET is not officially supported by the Eclipse project and there are no major efforts underway by third-party efforts. But C++ via CDT has been supported by the project for a very long time, even if it stalled for a bit, in between.

      While CDT may not be a perfect C++ IDE for you, it is still a pretty good C++ IDE compared to the popular open source options.

      I don't think there is any ground for any of your snarkiness in what he said.

    12. Re:Qt Creator!! by micahraleigh · · Score: 0

      I used to use Qt Creator all the time. Worked great.

      Problematically it has "abandoned" written all over it, so devs have trust issues.

      Also, there are not a lot of jobs that require Qt Creator experience. The ones that do are government jobs!!

  13. A real study is needed by mlwmohawk · · Score: 3, Insightful

    As far as I am concerned, IDEs are largely similar in their view of software development. They are like bloated bureaucracies that one has to deal with to do anything constructive. If you dare have a project format that VS, Eclipse, or what have you, doesn't understand, and you have to set up the environment to do everything manually. I know I sound like I am saying "Get off my lawn," but I am really saying we need to understand the development process better. IDEs obscure it too much. Tools like VIM and Emacs expose 100% of it. (In full disclosure I use VIM, ctags, make, etc.)

    We need to come up with the programmer's equivalent of the SAE and define basic tools of the trade. It will never happen, of course, but that's *really* what we are fighting about.

    1. Re:A real study is needed by BitZtream · · Score: 2

      There is no benefit to knowing how to make a Make file if you're only going to compile a Windows app. Pretending that we all need to know the inner details of make is retarded.

      Protip: You can edit visual studio project files in VIM!!!! So its pretty hard to say it hides stuff from you when you have access to everything in a .proj file that you do in a Makefile and can use the same editors.

      I guess you think visual studio hides stuff because it doesn't require you to use a shitty editor for the project files? You seem to think using a shitty editor is a good thing?

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
    2. Re:A real study is needed by gl4ss · · Score: 1

      yeah, so you craft your own makefiles for wp8 compilation? look there's practical reasons for why people use visual studio and it's pretty simply getting paid...

      I use multiple IDE's depending on what product the code is for, you still end up knowing the build process because things can conflict and fail at different points in the building and they will fail.

      also I don't agree that much with understanding the development process being out of tools that show you basic options.. if you're really hardcore and want to compile from commandline drop the make too then(what happens in many ide setups is just running make in-window anyhow)..

      --
      world was created 5 seconds before this post as it is.
    3. Re:A real study is needed by lgw · · Score: 1

      VS actually isn't bad in this regard. At least with C++, every project can be a "makefile project:, which is pretty trivial to set up and get full VS integration. All the cross-platform C++ development I've done has worked that way.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    4. Re:A real study is needed by Anonymous Coward · · Score: 0

      Well, in the Java world, "Maven" oriented projects are pretty well automatic. And possibly "Ant" as well. So projects that use "Maven" to define the build make it easy to pull them into Eclipse.

    5. Re:A real study is needed by mlwmohawk · · Score: 1

      There is no benefit to knowing how to make a Make file if you're only going to compile a Windows app. Pretending that we all need to know the inner details of make is retarded.

      Ignorance of the very foundation of what you are doing is what it is. If you choose ignorance, that is certainly your choice. I choose otherwise because I am a professional.

      Protip: You can edit visual studio project files in VIM!!!

      This is true, but I have projects that I still work on that can over 20 years old. I work on brand new stuff too. Find me an IDE that works for multiple varied projects in Java, C, C++, PHP, Python, and yes, even assembler.

      You seem to think using a shitty editor is a good thing?

      No, I would like easier tools, but I can't find them. IDEs almost by nessesity, force you into a working methodology that I find very unproductive.

      In fact, on Linux, with a good desktop, the whole desktop is a very powerful IDE. I have editing Windows, source code indexing with ctags. Multitasking compilation, debugging, etc. Why limit myself with an IDE?

    6. Re:A real study is needed by mlwmohawk · · Score: 1

      yeah, so you craft your own makefiles for wp8 compilation? look there's practical reasons for why people use visual studio and it's pretty simply getting paid...

      I can't tell you the last time I had a simple "Windows only" project. Most of the times windows is in the mix, but so is Linux and Mac.

      I use multiple IDE's depending on what product the code is for, you still end up knowing the build process because things can conflict and fail at different points in the building and they will fail.

      Try adding cross platform and custom and thirdparty libraries to that mix.

      also I don't agree that much with understanding the development process being out of tools that show you basic options.. if you're really hardcore and want to compile from commandline drop the make too then(what happens in many ide setups is just running make in-window anyhow).

      Cross platfom, automated build, QA run test/release, and "professional" considerations like these make IDE generated projects almost impossible to use.

    7. Re:A real study is needed by Darinbob · · Score: 1

      Make is very simple really. And it's portable. Even if you're only going to compile a Windows app you will not necessarily be tied to exactly one IDE forever. There are multiple IDEs for Windows and their projects formats are incompatible (and inevitably they require a project before you can use them). Whereas a lot of them do allow the use of an external Makefile. Thus the Makefile is a step at more portability, even on Windows.

      Also the Makefile is great for automated builds. No need to have the build engineer pull up yet another IDE just to kick off a build rather than have it all scripted.

      (As for Visual Studio, last time I used it I did edit its project files by hand because they kept getting screwed up if modified using the UI only.)

    8. Re:A real study is needed by Darinbob · · Score: 1

      IDEs really seem oriented to a project only if they're used from the beginning of the project. Too many of them insist on their own directory structure, like all files in a directory always being linked together or put into the same library, or each directory having its own separate project, etc.. It is hard to adapt a lot of IDEs to existing projects. They also tend to think that they're the only tool in the mix; ie, the IDE for an embedded chip thinks that it is the only chip in the entire system.

    9. Re:A real study is needed by dwpro · · Score: 1

      IEEE has a computing society that seems like what you're looking for:

      http://www.ieeeusa.org/

      http://www.computer.org/portal/web/swebok

      --
      Millions long for immortality who do not know what to do with themselves on a rainy Sunday afternoon. -- Susan Ertz
    10. Re:A real study is needed by XcepticZP · · Score: 1

      Ignorance of the very foundation of what you are doing is what it is. If you choose ignorance, that is certainly your choice. I choose otherwise because I am a professional.

      No, you choose to make your life unnecessarily complicated. Understanding the underlying foundation of the build process, and hand-writing the build files are two completely different things. And hardly a thing that you can use to call yourself a "professional".

      This seems to relate to some very basic concepts of programming. We created higher-order programming languages for a reason, and that reason was that we didn't want to fiddle with the inner automatable details every time we wanted to do something. That is in essence what you're doing by hand-writing make files, when a tool could do it in much less time, with less errors and in a more standardized way of doing things. While you're busy still hand-writing make files, a professional developer would have used the right tool for the job, and had a working prototype with acceptable performance long before you.

      And to touch on your use of the word "Ignorance". What is programming if not ignorance? Are we not ignorant by not understanding an entire library and it's inner workings when we include that library? Are we not ignorant when we code to an API instead of coding passed that interface boundary and fiddling with the other module? The obvious answer is no. Just because you choose to call yourself a "professional" by voodoo-hand-writing make files doesn't make you a professional. It makes you a hack with decades of experience to hold over the rest of us as some sort of proof of your technical superiority.

    11. Re:A real study is needed by mlwmohawk · · Score: 1

      No, you choose to make your life unnecessarily complicated.

      Define "unnecessary." If you've ever needed to build an application that is worked on by a team of developers targets multiple platforms, i.e. Linux, Windows, and Mac. Toss in iPhone and Android, you'll son learn that understanding the "build process" is far from "unnecessary."

      This seems to relate to some very basic concepts of programming. We created higher-order programming languages for a reason, and that reason was that we didn't want to fiddle with the inner automatable details every time we wanted to do something. That is in essence what you're doing by hand-writing make files, when a tool could do it in much less time, with less errors and in a more standardized way of doing things. While you're busy still hand-writing make files, a professional developer would have used the right tool for the job, and had a working prototype with acceptable performance long before you.

      Perhaps, but I submit that the tools at hand are not developed well enough that they actually provide the functionality they promise. IDEs are fundamentally too limited to be used in a generic setting. They can target something very tightly constrained, but get dramatically overcomplicated quickly.

      And to touch on your use of the word "Ignorance". What is programming if not ignorance? Are we not ignorant by not understanding an entire library and it's inner workings when we include that library? Are we not ignorant when we code to an API instead of coding passed that interface boundary and fiddling with the other module? The obvious answer is no

      The obvious answer, BTW is yes. You need to know all of this stuff, and if you don't, you will get screwed by it eventually.

    12. Re:A real study is needed by Anonymous Coward · · Score: 0

      Every hour fooling with the development environment is a hour taken away for developing the application.

    13. Re:A real study is needed by MikeBabcock · · Score: 1

      target: dependancy
      commands to make target from dependancy

      How is that so obscure or hard to know?

      all: program

      program: main.c support.c library.o
            gcc -o program main.c support.c library.o

      library.o: foo.c bar.c ... and so on.

      --
      - Michael T. Babcock (Yes, I blog)
    14. Re:A real study is needed by MadKeithV · · Score: 1

      If you dare have a project format that VS, Eclipse, or what have you, doesn't understand, and you have to set up the environment to do everything manually. /p>

      You can use CMake to generate Visual Studio projects (and XCode projects, makefiles, probably Eclipse projects, I haven't a clue). From text files, so they are reproducible, for different versions of Visual Studio, without all that messing around accidentally changing a setting only in Release mode to find out a week later that you broke the Debug build. I worked in VS exclusively for, oh, probably about 15 years. I like the way it works for debugging, text editing, and some sugar like intellisense, plugins to switch between headers and source files, etc., but I wouldn't go back to using it without CMake for the types of projects (cross-platform) that I'm now working on.
      Heck, I probably wouldn't do it for windows-only projects, mostly because of the pain in the arse that configuration management can end up being.

    15. Re:A real study is needed by MadKeithV · · Score: 1

      There is no benefit to knowing how to make a Make file if you're only going to compile a Windows app.

      There are many benefits to it, not least the broken way that Visual Studio manages settings for different configurations and platforms - i.e. that the default editing mode is always "just the active configuration and platform", which is nearly always wrong.

    16. Re:A real study is needed by Anonymous Coward · · Score: 0

      The vast majority of time doing software development should be spent either designing, coding, fixing bugs or debugging (or other various misc tasks that actually do something productive).

      Your point, if we are to be generous here, is so irrelevant that nobody sane would ever hold the view that IDEs are bad because they abstract the build process. Seriously? You couldnt think of any better criticism? Or maybe some dementia has set in after hating IDEs all these years...

    17. Re:A real study is needed by Xest · · Score: 1

      IDEs have a learning curve and this puts a lot of folk like you who are stuck in their ways with their command line tools off and that's okay.

      But it's not a particularly steep learning curve, and if you bother to sit through it you become way more productive because things like intellisense let you churn out code way faster than you can manually type it.

      But despite this, Microsoft actually provides a ton of documentation about it's command line tools (the same was VS utilises) and VS project/configuration files so you can work exactly as you like to with VS projects and command line tools if you really must. Microsoft mainly provides them for automation purposes though because it's silly to develop that way in this day and age.

    18. Re:A real study is needed by mlwmohawk · · Score: 1

      IDEs have a learning curve and this puts a lot of folk like you who are stuck in their ways with their command line tools off and that's okay.

      *A* learning curve is OK, but every IDE has its own learning curve, then every iteration of those IDEs have learning curves as well. I like learning about new technologies and algorithms, but I'm busy. I'm sick of re-inventing the wheel every time I want to get down and get some work done.

      But it's not a particularly steep learning curve, and if you bother to sit through it you become way more productive because things like intellisense let you churn out code way faster than you can manually type it.

      I typically work on cross platform stuff, Linux, Windows, Mac. I have tried many IDEs and when all is said and done, I end up configuring a standard makefile based project. I have to do all the I normally do, but then I have to deal with the IDE on top of that. It just does not make my life any easier.

      Lastly, to use VC, I'd have to run Windows, and, really, that's not something I'd want to do. I find the terribly unproductive.

    19. Re:A real study is needed by Xest · · Score: 1

      "*A* learning curve is OK, but every IDE has its own learning curve, then every iteration of those IDEs have learning curves as well. I like learning about new technologies and algorithms, but I'm busy. I'm sick of re-inventing the wheel every time I want to get down and get some work done."

      I disagree. The first IDE I used was Borland Turbo C++ in DOS and Turbo Pascal shortly after. My first GUI based IDE was MSVC++ 4. In recent years I've used things like Eclipse, and NetBeans and have used pretty much every edition of Visual Studio as well as some "fringe" IDEs like BlueJ.

      The biggest differences are in configuration - i.e. debugging is built into Visual Studio so it "just works" but getting XDebug working for PHP in NetBeans was a fucking nightmare.

      But assuming everything is working they all work pretty much the same, there are a few different features but it's pretty intuitive as to how they work. This is slightly less so in Eclipse with things like Maven but you could throw a new IDE at me tomorrow and I'd be productive in it in no time at all. At the end of the day when developing you know you have a few key tools you need - a code editor, a debugger, build tools and so forth and finding them and figuring them out if you've worked with one IDE like Visual Studio is really quite trivial.

      There's always going to be something to learn when using new software or technologies but I don't find switching between IDEs prohibitive in this respect.

      "I typically work on cross platform stuff, Linux, Windows, Mac. I have tried many IDEs and when all is said and done, I end up configuring a standard makefile based project. I have to do all the I normally do, but then I have to deal with the IDE on top of that. It just does not make my life any easier."

      I sympathise with this, it does get more awkward if you have to work cross platform. Few IDEs are any good at creating cross platform projects. The normal solution though is to have a Visual Studio project file for VS Windows, XCode files for Mac, and whatever else for Linux and other platforms you want. Creating them (you can put them in separate folders) is easier and quicker than building makefiles, but of course if you're talking about one IDE to work across all platforms then again I sympathise, none are really good at that.

      "Lastly, to use VC, I'd have to run Windows, and, really, that's not something I'd want to do. I find the terribly unproductive."

      It's probably just a question of what you're used to, but even Windows supports things like Cygwin if you must. Once you get going with Visual Studio specifically though as I say I'm convinced it's the single most productive development environment around, some others come close but I've felt nothing quite touches it and it is in large part as I say because of intellisense, it's just so smart in terms of guessing what you want to type next such that you don't have to.

      For example, just an arbitrary demonstration from the IDE window I have open right now:

      string name = MySpecialType.GetType().Assembly.FullName;

      Can be typed as:

      string name = My.GetT().A.F;

      That's typed 16 characters after the equals vs. 40 and less scope for typos requiring backspacing as a result. Across a full class or project you can surely imagine this results in code being churn out way way faster. It's a wonderful feeling being able to churn out code as quickly as you can think through the problem, rather than as quickly as you can type which is what this sort of thing helps allow you to do.

      Things like Eclipse support this too but it's dog slow as to be useless as you've typed it before the intellisense pops up. NetBeans is better but not very smart.

      IDEs also make things like refactoring and jumping between code easy as well, click a classname, method or whatever and hit F12 and it takes you to where that class/method/variable is defined and visual diff between multiple files/versions is excellent. Language features in C# are helpful too in terms of IDE integration, like code regions for example.

    20. Re:A real study is needed by terjeber · · Score: 1

      Also the Makefile is great for automated builds

      Rubbish. Make today is useless for anything but trivial stuff. Sure, make is good for older stuff, but you should look at alternatives that are much better. Even Ant is a generation or two more useful than make.

    21. Re:A real study is needed by mlwmohawk · · Score: 1

      It's probably just a question of what you're used to

      Sorry, but you have no idea what I am "used too" and its almost always a mistake to assume.

      From my perspective, and I've used Windows since version 1.03, I see IDEs as nothing more than a construct to get over the failure of the desktop environment. Think about it, the GUI desktop should be able to handle this, and for the most part in UNIX, it does. Windows, specifically, has a VERY BAD desktop metaphor. The ability to share between text windows and graphical windows is not natural. A command line text window is a kludge in Windows. In UNIX this just works. Highlight text in one window, middle click in another.

    22. Re:A real study is needed by Xest · · Score: 1

      You seem to have gone off on a tangent about a very fringe edge case which you personally dislike, none of which changes the fact that IDEs make you way more productive as a developer.

      Further, contrary to all the FOSS FUD one of the reasons that Microsoft's products like Windows and Office are succesful is because people actually find them easier to use. This is in part because Microsoft spends a fortune on usability studies that let them objectively design in the way that best helps the user do what they need to do, something which FOSS software almost never benefits from because most UI work is done by developers who think they know better, but don't.

  14. Very differant experience by doas777 · · Score: 3, Interesting
    The author and I have had a almost oppositionally different experience with the platforms I've had. Visual studio, for all its flaws, feels smooth and solid, with prompt code assistance features and a generally good approach to code organization. It has its share of issues, but it seems to be clearer and more directed.

    Eclipse however just feels generally clunky. I pause for 20+ seconds just to get code completion prompting to come up in python or java, and half the time its in the wrong context. the perspectives is also really annoying. everytime I go to debug, it halts everything to tell me it wants to switch, and then gives me a 2inch high window for viewing the code, anchoring is weak, and it always seems like I never get back the space I should when I dock a sub-window. Personally I really don't care how extensible my IDE is. any given ide is not going to be able to support all langagues and technologies, so why try to shoehorn it in?

    1. Re:Very differant experience by inasity_rules · · Score: 0

      I haven't used eclipse, but I have found Visual Studio to be a memory hog. Sure, the code completion works instantly(and well), but on occasion I have found myself stepping over the code and then between two simple lines waiting some seconds while the disk thrashes a bit. To be fair, I only have 4Gb of memory and normally at least one VM running, but still... 1Gb for windows 7, 1 for the VM, and 2 for Visual Studio? Apparently not enough....

      --
      I have determined that my sig is indeterminate.
    2. Re:Very differant experience by Anonymous Coward · · Score: 0

      -1 for making me read "almost oppositionally different experience"

    3. Re:Very differant experience by Anonymous Coward · · Score: 0

      What are you doing that causes VS to use 2gb of memory? I have a project with 1million+ lines of code over thousands of files and it's sitting at 300mb.

      Pretty sure you're using it wrong or your antecdote is fabricated.

    4. Re:Very differant experience by gaspyy · · Score: 2

      Agreed. I use Eclipse regularly (FDT and PDT) but whenever I get to work in Visual Studio, it's a much smoother experience.

    5. Re:Very differant experience by TWiTfan · · Score: 2

      It's a perfectly cromulent term.

      --
      The cow says "Moo." The dog says "Woof." The Timothy says "Thanks, valued customer. We appreciate your input."
    6. Re:Very differant experience by gl4ss · · Score: 1

      depends what you're doing with it.

      eclipse needs ssd and 8gb, then it's ok.

      --
      world was created 5 seconds before this post as it is.
    7. Re:Very differant experience by Anonymous Coward · · Score: 0

      I've been developing with Eclipse for the past 2.5 years, and I've never had even a one-second pause. My project has over 800 files and 120kLOC.

      FWIW: For the first two years of that I was using 3.5.2 (Galileo) on Ubuntu 10.04 on a Q6600 with 6 gigs of RAM. Now I'm using 3.7.2 (Indigo) on Ubuntu 12.04 on an i7-3770 with 16 gigs of RAM.

    8. Re:Very differant experience by Nivag064 · · Score: 2

      I've NEVER had Eclipse pause for 20 seconds!

      Be sure to increase the heap memory & enable parallel garbage collection in the 'eclipse.ini' file - see an earlier post by me.

      You can resize and reposition all the panels in Eclipse, so I don't have your problems with "2 inch" windows.

      Hey wait you must be an American (everyone else uses metric), find a non-American developer to help you & ask them to speak slowly... :-)

    9. Re:Very differant experience by Anonymous Coward · · Score: 0

      I tried eclipse on a RAID-0 array of SSDs, 64GB of RAM, and an overclocked 4.2GHz i7 with 6 cores (12 virtual) and it was slow as a dog. So slow I deemed it unusable, and switched to another IDE.

    10. Re:Very differant experience by Myopic · · Score: 0

      Ah, yes, the metric system, where "kilogram" is a base unit but "kilometer" is a thousand base units, because if they stuck with grams then all the derived units would be even more preposterous than they already are. I say scrap the metric system and have a new system which uses base 12, for easy divisibility, and has non-retarded base units.

      MURIKA!

      also Liberia

    11. Re:Very differant experience by Nivag064 · · Score: 1

      I was brought up on Imperial units: pounds, feet, etc. - I hated it, I found metric much, much easier to deal with.

      12 inches in a foot, 3 feet in a yard, 880 yards in half a mile

      16 ounces in a pound, 14 pounds in a stone, 112 pounds in a hundredweight, 20 hundredweight in a ton
      (if a new born baby is 6 lb 4 oz, and the mother is 10 stone 10 pounds, what fraction of the mother's weight is the baby?)

      The metric system is much easier, and is consistent with the numbering system most of us are used too!

      If you want truly fundamental units we could adopt those in use by physicists, such as string theorists, see:
      http://superstringtheory.com/unitsa.html
      where they describe things in terms of Planck length, Planck time, & Planck mass - but not very useful for everyday life!

    12. Re:Very differant experience by inasity_rules · · Score: 1

      To be honest, I have no idea what is eating that memory. But it is not my responsibility to convince an AC of my truthfullness. For reference it is Visual Studio 2010 with about 20 000 lines of code.

      --
      I have determined that my sig is indeterminate.
    13. Re:Very differant experience by Xest · · Score: 1

      That's because the author is a first class idiot. Slashdot for some reason seems to parrot his views all the time now, in fact, I think he's even employed by them.

      The problem is he also has no idea what he's on about, because every one of his opinions that have been posted to the news page recently have been based off of lack of knowledge or outright wrong.

      For example, he tried comparing a simple servlet against an MVC page for his Java vs. .NET performance test claiming they were equivalent but this is utterly nonsensical as an MVC request does an awful lot more (it has to route the request for one, as well as run any action filters etc.).

      The guy is just completely clueless, he has really no idea of what he's on about. I can't help but wonder if Slashdot employed him knowing how inexperienced and lacking in knowledge he was just to stir up page hits with his articles that basically amount to trolling.

  15. Conclusion: meh by Aviancer · · Score: 5, Insightful

    So the conclusion is "both work; each has some flakiness".

    That's a long-winded way of saying "meh".

    vi or emacs debates anyone?

    1. Re:Conclusion: meh by UnknownSoldier · · Score: 1

      > vi or emacs debates anyone?

      Yup. Meh. Only the immature junior programmers flame each arguing over which editor is better instead of channeling their energy into _writing_ code. /flame They ALL suck. Some just suck less then others.

    2. Re:Conclusion: meh by TWiTfan · · Score: 0

      I had to program in vi for a couple of Cobol classes back in college. Afterwards I would go home and beat myself with a spiked club to relax.

      --
      The cow says "Moo." The dog says "Woof." The Timothy says "Thanks, valued customer. We appreciate your input."
    3. Re:Conclusion: meh by jbohumil · · Score: 1

      Why not ISPF?

    4. Re:Conclusion: meh by Anonymous Coward · · Score: 0

      nano

    5. Re:Conclusion: meh by Darinbob · · Score: 1

      "Had to" program with vi? Why is that? There were no other alternatives whatsoever?

    6. Re:Conclusion: meh by Anonymous Coward · · Score: 1

      This is absolutely correct. Now let me tell you in great detail why emacs sucks the least...

    7. Re:Conclusion: meh by smellotron · · Score: 1

      I've seen people program with Pico and Nano. Oh, the humanity!

    8. Re:Conclusion: meh by Myopic · · Score: 1

      Vi? Emacs? What is this, 1986? Wake up, man, we've had BBEdit since the Clinton administration.

    9. Re:Conclusion: meh by TWiTfan · · Score: 1

      The instructor thought it would be a valuable skill to learn. I still send him dead animals every Christmas.

      --
      The cow says "Moo." The dog says "Woof." The Timothy says "Thanks, valued customer. We appreciate your input."
  16. JetBrains by Anonymous Coward · · Score: 0

    Absolutely no tool stands up to JetBrains. It is hands down the best software for development. I've recently switched back to Dreamweaver for PHP and Javascript, and realized it's basically just a bloated syntax highlighter. I will stop using it as soon as I get a moment to install something better. It is hands down the WORST IDE. Resharper for Visual Studio makes Visual Studio an excellent IDE. IntelliJ from JetBrains makes it better than any tool-set available in eclipse. And I'll bet you it never takes a day to load. I have no affiliation with JetBrains other than I bought their product.

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

      You probably know this, but JetBrains also has IDEs for PHP and JavaScript.

  17. PostSharp & Reflector by whitedsepdivine · · Score: 1

    I run VS Ultimate withe PostSharp and RedGate Reflector. It is really the best set of tools you can get. PostSharp completely helps with cleaning code. Reflector help debug what 3rd party assemblies are doing.

  18. Left out MyEclipse and IntelliJ by Kagato · · Score: 4, Insightful

    You're comparing an expensive IDE to a free one. I'd be more interested how it compares to a curated Eclipse experience like MyEclipse or a closed source IDE like IntelliJ. All that being said, Eclipse is mostly used by folks using Java or languages that run in the JVM. Visual Studio is going to be used by those on a Microsoft stack.

    1. Re:Left out MyEclipse and IntelliJ by Anonymous Coward · · Score: 2, Informative

      http://www.microsoft.com/visualstudio/eng/products/visual-studio-express-products

      There is the free version. Can't help with the source though. ;)

    2. Re:Left out MyEclipse and IntelliJ by Anonymous Coward · · Score: 0

      Where's the Linux version?

    3. Re:Left out MyEclipse and IntelliJ by Anonymous Coward · · Score: 0

      In the same place as the Windows version of Xcode: at whocares.com

    4. Re:Left out MyEclipse and IntelliJ by Kagato · · Score: 1

      Express is a crippled product that only works in specific use cases of OS and containers. The only reason it's free in the first place is to use as a carrot to get people to support RT, 8 Desktop and a handful of other technology stacks MS is having trouble getting people to use.

    5. Re:Left out MyEclipse and IntelliJ by terjeber · · Score: 1

      Express is a crippled product

      Crippled? How? It doesn't support TFS, Plugins and remote debugging, but how is it otherwise crippled?

  19. refactoring by swan5566 · · Score: 2

    MSVS needs to get refactoring. This is huge for maintaining large software projects.

    --
    In debates about Christianity, there are two groups: those looking for answers, and those looking to just ask questions.
    1. Re:refactoring by Shados · · Score: 1

      You have to be more specific when you say stuff like that. VS does have all the basic refactorings, and has more in every version (not really worth talking about 2010 and earlier when we're in 2013).

      Of course, whats build in is primitive compared to other IDEs, because of all the plugins and extensions that fill the gap. If you're one of the 2-3 VS users who don't use Resharper or other plugins, well, tough.

    2. Re:refactoring by UneducatedSixpack · · Score: 0

      VS C# support is awesome. I tried plugins that do refactoring (maybe resharper?) but found out that built-in refactoring support is enough for me. Now if you are C++ dev then you can go and MFC yourself. No refactoring for you.

  20. Debugger by Anonymous Coward · · Score: 1

    Has anything come close to matching Visual Studio's integrated visual debugging capabilities yet? The only reason I stick with VS (Express) is because I haven't been able to find anything that matches the power of the debugger. If there's an IDE with a better integrated debugger I'd love to know about it.

    1. Re:Debugger by ifrag · · Score: 1

      Not really, and the article neatly avoids this issue by not even mentioning the word "debug" once.

      --
      Fear is the mind killer.
    2. Re:Debugger by Anonymous Coward · · Score: 0

      This is a biggie. I wrote stuff in C that ran on *NIX and Windows. On those occasions when the bug could only be reproduced on *NIX, I felt like I was bombed back to the stone age with GDB. I'm not sure what Eclipse has to offer because it ran... like... this... on my hardware and VS wasn't broken so why fix it?

      Side note: We had a would-be "project manager" who interviewed at the same company. Big Java guy. When we told him the software ran on Windows, FreeBSD and Linux he was like, "so it must be written in Java, right?". Met with astonishment that it wasn't, yet *still* followed up with, "Why aren't you using Eclipse?". I'm sooooo glad I didn't have to work with that guy. He would have rammed all that down our throats no doubt, if given the authority.

  21. On Comparisons by Anonymous Coward · · Score: 0

    Visual Studio is a sloppily put-together car. Eclipse is a well-designed and beautifully-crafted horse-drawn carriage. Actually, never mind, it's not well-designed or beautifully-crafted. This guy (an obvious Java-booster, if you've read his previous articles) tries to deal with Eclipse's speed issues off the bat by blaming it on "slow systems." I'm sorry, but taking 500 MB of RAM with nothing loaded is crazy. Eclipse crashes, it hangs, it's just not usable to the same degree as Visual Studio. At home I have a choice of environment, and I choose VS if it's even remotely possible. I'd rather use nano or emacs than Eclipse, and code::blocks is a genuinely viable alternative for the Linux crowd. Just because something doesn't come from Microsoft doesn't mean it's better.

  22. Needed a bit of editing. by ndykman · · Score: 1

    "Eclipse requires about 3 megabytes of memory (depending on what you're using it for)."

    If you are using it for anything, I think it probably does use more memory than that. The only other thing I'd note is that the Python Tools for Visual Studio work with CPython, not just IronPython.

    The rest of the article isn't that bad, but it does seem like a lot of words to say that both have advantages and disadvantages and are targeted towards different use cases and environments.

    1. Re:Needed a bit of editing. by dkf · · Score: 1

      "Eclipse requires about 3 megabytes of memory (depending on what you're using it for)."

      If you are using it for anything, I think it probably does use more memory than that.

      If you're using Eclipse to fill up your hard disk a bit more, it uses less memory than that. Otherwise, if you want to do something foolish and actually try executing it... a bit more than 3MB will be required. I don't think it can finish checking for updates without using 50 times more than that IIRC.

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
  23. Drag and freeze by phorm · · Score: 1

    I haven't had this issue with Eclipse for quite awhile (at least not the Linux version).
    Actually, I was just discussing the other day how I'd started using it again in the last few months and how it seemed much more stable these days, as previously it used to lock up or crash quite regularly (often on code-completion, etc). I'm particularly impressed by how well it generally handles C++ and not just Java. I tried Codeblocks for awhile and while project setup was easier, code-completion was hit-or-miss for various libraries.

    Comparing to Visual Studio... well no comparison for anyone who isn't a Windows user.

  24. I'm still using VS 2008... by Anonymous Coward · · Score: 0

    The newer versions of Visual Studio have some great features unfortunately, usability isn't one of them...

    Here is a minor example but exemplifies the entire experience. On windows there is this feature where you can right click and drag an object. Then you are given the choice of copying or moving the object. In VS 2008 that same feature exists within the editor but later versions have removed that feature... Remember, that feature is common throughout MS software but has been removed from their front line development environment. The list goes on... but this example really emphasizes the point.

    One more thing, with VS 2008, I'm still able to write software for all platforms with the exception of windows phone... (Since no one uses windows phone... I think I'm safe for a few more years.)

    1. Re:I'm still using VS 2008... by XcepticZP · · Score: 1

      Ever heard of copy-paste and cut-paste?

      Either way, I just tried it in 2010, and I was able to successfully copy a piece of code with selecting the code and then using ctrl+drag. Same goes for dragging files around, ctrl+drag creates a copy. And shift+drag moves the file without making a copy.

      Too bad you posted as AC, as you might have learnt something new today.

  25. Why are you surprised? by Anonymous Coward · · Score: 0

    This is the same Jeff Cogswell that has been making the other brain dead comparisons in articles recently. Nerval's Lobster has repeatedly accepted postings from this dolt since Dice bought /. so I assume there's some kind of business relationship Jeff has with Dice.

  26. IDEA & ReSharper by Cheburator-2 · · Score: 1

    Google threw out Eclipse to replace it with IntelliJ IDEA as a basis for its Android Studio. Why didn't author consider comparison with IDEA instead of Eclipse? Also Visual Studio is commonly used together with ReSharper, it made sense at least to mention it.

    1. Re:IDEA & ReSharper by N0Man74 · · Score: 1

      Google threw out Eclipse to replace it with IntelliJ IDEA as a basis for its Android Studio

      Threw out? It certainly seems like they are in the transition, but they also give a pretty strong disclaimer that the new Android Studio might not be ready for primetime, and advises that some might want to stick to Eclipse.

  27. Both are good. by Anonymous Coward · · Score: 0

    Visual studio works, with any of the languages and works well, Eclipse works well, with Java, anything else its a fight for stability especially if targeting some obscure runtime like MinGW or something, Eclipse is also a pain in the ass to configure for paths and libraries, when it works it works well (with Java).

  28. Getters and setters by MemeRot · · Score: 3, Insightful

    "One full-time Java programmer told me that he hasn’t had to manually type in any setters and getters in years, and he has a template from which all his objects are typed in automatically, thanks to the code snippet tools in his favorite editor (which isn’t Eclipse—he uses IntelliJ). Clearly, methods of automated typing seem to be a favorite among a lot of programmers. So why did Visual Studio remove a feature that facilitated this? Who knows."

    Let's not mention the fact that in C# you don't need to manually type in all the getter/setter junk, just public int MyField {get; set;}

    1. Re:Getters and setters by AdamHaun · · Score: 4, Interesting

      Tangential question: What's the advantage of having getters and setters vs. just accessing the variable directly? If automatically generating getters and setters is just an easy/common thing, what function do they really serve?

      I've only done OO programming in college (I do embedded C now), so I'm assuming there's some real-world advantage that I'm not aware of.

      --
      Visit the
    2. Re:Getters and setters by Noughmad · · Score: 2

      There are many situations where you want to do something else just before or after a variable is modified. One example is that you want to verify the new value is in a certain range, or is non-empty, or whatever. Maybe you have to delete the old one before the new one is assigned. A very common example is that you want to notify something else that a value has change. This is used in UI programming, when you want multiple controls/displays to be synchronized. At a certain point, you find out that it's simpler to just writte getters and setters for everything than figure which ones you'll actually need.

      --
      PlusFive Slashdot reader for Android. Can post comments.
    3. Re:Getters and setters by HaZardman27 · · Score: 5, Informative

      One advantage is that it makes it easier on you if in the future you realize that you need to do any sort of validation or other logic that's not directly related to the accessing or mutating of a property's value, but needs to happen every time that property is accessed or mutated. If you were already calling 'getValue()' whenever you wanted 'value', all you have to do is add the new logic to the 'getValue()' method. It also allows you to have a private scoped object property while still making the property accessible to outside classes. Once again, you might want to do this so that you can always ensure that a value being set as the value of the property is valid and sanitized (if the property were public, any other class could directly change its value without the guarantee of the new value being valid).

      --
      Apparently wizard is not a legitimate career path, so I chose programmer instead.
    4. Re:Getters and setters by Anonymous Coward · · Score: 1

      Encapsulation and backwards-compatibility. You can change the underlying data format (or add event hooks or additional processing) and keep your existing properties/getters/setters to be compatible with old code.

      Also, interface classes can have virtual properties, getters, setters, and events but not data members, so if you're doing data or interface abstraction you need to use them.

      Our coding standards say no public members on anything except simple structs/value types. No naked data in public!

    5. Re:Getters and setters by SOOPRcow · · Score: 1

      You may only want to be able to get the variable but not set the variable. Plus you can do data checking in the Set function and what not.

      In the case of his example it was probably a little weak because you're right he could've just used a public int member variable to the same affect. A better example would be public int MyField { get; private set; }

    6. Re:Getters and setters by Anonymous Coward · · Score: 1

      The point is that in a good language (for example, C#, or Python) you don't need to wrap everything in a getter just in case the underlying call changes later -- you just access the variable directly and then if it needs to change later, you use the "properties" feature to turn all those accesses into a function call transparently, so that it's still compatible with old code. Cuts down on boilerplate markedly.

      Of course, sometimes you're stuck with a crappy language that doesn't have this feature (for example, C++, or Java) so you generate thousands of lines of getters and setters just in case. At least there are tools to do most of this crap for you.

    7. Re:Getters and setters by Anonymous Coward · · Score: 0

      Code snippets haven't gone away - the automated templates that get filled in with values. Only the record / playback keystrokes style of macros have been removed.

    8. Re:Getters and setters by Anonymous Coward · · Score: 0

      At least in C# (don't know about Python), the behind-the-scenes mechanism is exactly the same. The C# syntax is basically just a prettier style of achieving the same goals, by putting a bit more smarts into the compiler *.

      (*) Whereas in C++ the compiler is already so heavily burdened will all kinds of crazy syntax that language designers prefer to add new functionality via standard libraries ;-)

    9. Re:Getters and setters by cpm99352 · · Score: 1

      "What's the advantage of having getters and setters vs. just accessing the variable directly?"

      A few replies listing the usual reason, but as a c# programmer w/ the current automated get/set in Visual Studio, I have to ask the parent's question. Currently Visual Studio will create auto get/set if you do something like int foo {get; set; } that creates "anonymous" get/set functions. The problem, though, is you can't get at them!!! So, if you wanted to modify the just the setter you can't do int foo {get; } and write your own set function.

      So, I guess I'm in the same boat - if you've got a get/set that can't be easily modified, why not just allow access to the variable directly?

    10. Re:Getters and setters by Anonymous Coward · · Score: 0

      Command completion for properties in Visual Studio as well:

      type: prop TAB TAB for shorthand =

      public int MyProperty { get; set; }

      type: propfull TAB TAB for property and backing field =

      private int myVar;

                      public int MyProperty
                      {
                              get { return myVar; }
                              set { myVar = value; }
                      }

      You can then change the backing data type and it'll update the matching type on the property, as well as change the backing variable name.

      You can also Ctl + R then Ctl + R to create a public property for a protected/private member variable.

    11. Re:Getters and setters by MemeRot · · Score: 1

      The automated get/set provides the ability to come back later and add your own custom get/set functions. Knowing that 90% of the time you never will. But if you do come back and do it, you have to do the whole shebang - declare your private variable and have the get and set operate on that variable. I believe the need for an explicit common private variable to use in both of them is why you can't leave one as automatic

    12. Re:Getters and setters by WuphonsReach · · Score: 1

      Tangential question: What's the advantage of having getters and setters vs. just accessing the variable directly?

      The even better question is "why are your developers having to create the getter/setters by hand"? There are tools in Eclipse that will generate get/set methods. And if you make use of Spring Roo / AspectJ, you don't even have to deal with those methods for POJOs (plain old Java objects).

      Nice part about Spring Roo is that you can always "push-in" anything that you want to do by hand. So if you need a custom get/set method, you just create it in the main .java file. Spring Roo will notice this and stop injecting their own version from the .aj (AspectJ) file.

      --
      Wolde you bothe eate your cake, and have your cake?
    13. Re:Getters and setters by MemeRot · · Score: 2

      Not mentioned in the other responses is the opportunity to use the "resource acquisition is initialization" or "lazy loading" pattern. You may have a field that gets populated by a relatively expensive operation like a database query. So your options are to fill it in during the object initialization. Or to have a get method that will check whether the private variable it exposes has a value yet. If not it goes and fills it in and then returns it. If you access that field in ~50% of your uses of the object you've saved a ton of database queries. The the calling code just uses CompanyConfig.AllowSomeOption freely.

      That requires you to actually code that of course. The automatic get/set is just giving you the opportunity to do stuff like that. Once your class has exposed a public int MyField; you really can't come back later and change that. But exposing a public int MyField {get; set;} lets you come back and fill in the get/set logic when needed

    14. Re:Getters and setters by Anonymous Coward · · Score: 0

      Oops, Ctl + R then Ctl + E for the public property encapsulation

    15. Re:Getters and setters by Anonymous Coward · · Score: 0

      To define a public variable is simple. You simply declare:
      public int foo;
      To define a public property is almost as simple, and seems deceptively unnecessary. You simply declare:
      public int foo { get; set; }
      To define a public property that must be defined in a sub-class is where that property shines. You declare:
      public abstract int foo { get; set; }
      When you do this, the derived class must define
      public override int foo {
      get { /* do something */ }
      set { /* do something else */}
      }

      If you want to allow them to define a special getter or setter instead of requiring it, just swap the abstract keyword for the virtual keyword. The implementation in the derived class would then be optional, but identical if present. If not present, it works as if either of the first two examples were used.

    16. Re:Getters and setters by T-Ranger · · Score: 1

      Presuming you can trivially create the getters/setters, the advantage is that once created, any future customizations to accessing/setting data on that object doesn't require any refactoring of code that does those things. While its possible to refactor simple blah->property17 to blah->getProperty17() in _your own code_, its not at all possible to do for external users.

      Might as well setup the access methods early. And with autogenerated methods, no reason not to.

    17. Re:Getters and setters by Anonymous Coward · · Score: 0

      Python uses their implicit interface thingy, where making a call/referencing a member is just a lookup in a hashtable and it ends up resolving to a function rather than a value, or something like that; I'm totally botching the explanation.

      The point is that you shouldn't need to write getter/setter boilerplate until you actually need to do something other than return/assign to a variable. Having to "defensively" write them all up front is stupid, and a poor workaround for bad language design.

    18. Re:Getters and setters by Anonymous Coward · · Score: 0

      scenario at time T: You write an object with a member, and there are, say, a half dozen accessor/mutators in the system

      scenario at time T++: You now have to protect the member with a mutex, as the object is being used in a multithreaded environment.

      If you do get/sets up front, at time T++ you just add the mutex protection to the object. If you don't, you have to change the scope of the member, add the get/sets, and update at least a half dozen references to the member, as well as the mutex protection.

      BT,DT enough times to warrant the rule of thumb, IMHO.

    19. Re:Getters and setters by steelfood · · Score: 1

      It also separates the reading from the writing. When accessing a variable directly, you don't know if your code is necessarily reading from the variable, writing to it, or both (actually, because of passing by references in Java, there's a high chance of both). Simple bugs like = vs == can turn into a side-effect nightmare without the layer of protection a getter/setter affords.

      Even in Java, where you're not always able to tell if the routine has side effects, at least with getter and setter wrappers, you can determine the intention of the routine. This is especially true if you didn't write the code but is tasked to debug it, and true even otherwise, as it's very common to write something and then forget what you're trying to do with it a few weeks or months down the line.

      --
      "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
    20. Re:Getters and setters by McLoud · · Score: 1

      "One full-time Java programmer told me that he hasn’t had to manually type in any setters and getters in years, and he has a template from which all his objects are typed in automatically, thanks to the code snippet tools in his favorite editor (which isn’t Eclipse—he uses IntelliJ). Clearly, methods of automated typing seem to be a favorite among a lot of programmers. So why did Visual Studio remove a feature that facilitated this? Who knows."

      Let's not mention the fact that in C# you don't need to manually type in all the getter/setter junk, just public int MyField {get; set;}

      These days in java, I just use Lombok. Put an @Data over your class and it generates everything. Pull in extra @EqualsAndHashCode on entity classes so the Equals/HashCode gets generated on proper business fields for database stuff and done. No more getter/setters needed to be typed and Netbeans even recognize the new methods on save

      --
      sign(c14n(envelop(this)), x509)
    21. Re:Getters and setters by benjymouse · · Score: 1

      "One full-time Java programmer told me that he hasn’t had to manually type in any setters and getters in years, and he has a template from which all his objects are typed in automatically, thanks to the code snippet tools in his favorite editor (which isn’t Eclipse—he uses IntelliJ). Clearly, methods of automated typing seem to be a favorite among a lot of programmers. So why did Visual Studio remove a feature that facilitated this? Who knows."

      Let's not mention the fact that in C# you don't need to manually type in all the getter/setter junk, just public int MyField {get; set;}

      Yep. And let's also not mention the fact that VS2012 *does* have snippets: http://msdn.microsoft.com/en-us/library/vstudio/ms165392.aspx

      Of course, the "one developer" is heavily biased towards Java (his previous articles were outrageous) and probably *do not know* that snippets exists in Visual Studio because he has never use VS in any professional capacity.

      --
      Reading slashdot one-liner: (irm http://rss.slashdot.org/Slashdot/slashdot).rdf.item | fl title,desc*
    22. Re:Getters and setters by Anonymous Coward · · Score: 0

      JavaBeans (http://docs.oracle.com/javase/tutorial/javabeans/) are a good usecase.
      JavaBeans use the getter setter to describe properties.
      There are a whole set of technologies built upon using them:
                      from Jgoodies binding (www.jgoodies.com/freeware/libraries/binding/) to provide support to use Presentation Model, Model-View-Presenter (MVP)
                        to JAXB (http://www.oracle.com/technetwork/articles/javase/index-140168.html) to transform to and from XML.

    23. Re:Getters and setters by Anonymous Coward · · Score: 0

      In addition to adding control to the getter/setter later, there is also the case where you want different visibility. Declaring something like "public ... {get; protected set;}" or "protected ... { get; private set; }" also covers 90% of the these cases and reduce the amount of code and the need to declare the private field.

      There is also the fact that automatically generated properties is something that was added in order to prepare the ground for anonymous objects (new { X = 1, Y = 2}). There are some talks from Anders Hhejlsberg on Channel9 that talks about this.

    24. Re:Getters and setters by Nivag064 · · Score: 1

      The value you access today might be a variable, in the future it might be derived. Accessing variables directly exposes you to implementation details that are 'none of your business'!

      For example: a container class could have getters for:
      height
      width
      length
      baseArea
      totalArea
      volume

      An obvious implementation might be to derive 'baseArea', 'totalArea', and 'volume'. However there maybe reasons (legal?, performance?, ...?) to make 'baseArea' a variable and to derive 'width'.

      By using getters, you are shielded from the actual implementation, so external classes are not affected by these types of implementation changes.

    25. Re:Getters and setters by Anonymous Coward · · Score: 0

      What's the advantage of having getters and setters vs. just accessing the variable directly?

      1: You can omit "set", making it read-only.
      2: It gives you a place to put a breakpoint in the debugger.
      3: You can do validation and/or canonicalization on the "set" value.
      4: It gives you a place to insert tracing whenever it's accessed and/or changed.
      5: It can be useful in the same way that triggers are useful in a DB.

    26. Re:Getters and setters by AmericaRunsOnDunkin · · Score: 1

      And if you use python, you can do this with operators. Getters and Setters are so gauche.

    27. Re:Getters and setters by AdamHaun · · Score: 1

      Thanks for the examples, everyone! I understand this much better now.

      --
      Visit the
    28. Re:Getters and setters by Anonymous Coward · · Score: 0

      I get where you're coming from. I make games in C+ (I call it C+ because I really write C, but with C++'s automatic inclusion of the "this object" in method calls, and avoiding "typedef struct" all over the place), and this has come up. I think it is NOT like most others said -- adding things here and there within the getter/setter...because most of the time, you know in advance if a variable will need accessors or not.

      However, what I've found really useful for having getters and setters is to find out WTF is touching that variable. If all you have is "foo = bar.varName;" sprinkled all over the place, good luck placing breakpoints on all of those lines that touches bar.varName. On the other hand, data breakpoints are super slow, and a freaking pain in the butt to enter in VS.

    29. Re:Getters and setters by MikeBabcock · · Score: 1

      Validation!

      class ipaddress {
            private unsigned long address;
            private unsigned long netmask; /* storing length would be easier but hush */

            void setaddress(const long newaddress) {
                  address = newaddress;
            }
            void setnetmask(const long newnetmask) { // woah, not all longs are valid netmasks!
                if (validatenetmask(newnetmask) {
                      netmask = newnetmask;
                } else { die("invalid netmask!"); }
            }
      }

      --
      - Michael T. Babcock (Yes, I blog)
    30. Re:Getters and setters by Anonymous Coward · · Score: 0

      Well, duh, but it doesn't address the original problem.

      In most cases this is a code smell, and indicates that you don't have a design - a class should be something and implement appropriate operations, not just be a carrier of validated parameters.

    31. Re:Getters and setters by hibiki_r · · Score: 1

      Modern JVM languages already do that for you: In Groovy and Scala object.property is really calling the object.getProperty() under the covers, which is autogenerated when you define the property. If you create a getter manually, the code will call it automatically without polluting it all with getters.

      There's so much syntactic sugar in those languages to give anyone type 2 diabetes. Bad for our health, good for the codebase.

    32. Re:Getters and setters by Anonymous Coward · · Score: 0

      It's called "Encapsulation". Google it.

    33. Re:Getters and setters by Patman64 · · Score: 1

      Tangential question: What's the advantage of having getters and setters vs. just accessing the variable directly? If automatically generating getters and setters is just an easy/common thing, what function do they really serve?

      Future-proofing. Due to the rigidity of Java/C++ you can't just switch a variable to a method call without breaking all your code (might also be true of C#, never bothered looking into it). So you give everything a getter/setter even if it's just Foo getBar() { return bar; } void setBar(Foo foo) { bar = foo; } for hundreds of lines.

      Contrast to a language like Python, where you can transparently move from attribute access to methods just by putting the @property decorator on the methods.

    34. Re:Getters and setters by Common+Joe · · Score: 1

      There are many situations where you want to do something else just before or after a variable is modified.

      No. In OOP, there are things you want to do when an object is modified, not a variable. Do not think in terms of modifying variables. This is similar to using triggers in databases and that is usually a bad idea. It is better to put changes into functions that are clearly named and preferably documented. About the only thing I can think of where a getter/setter might be useful is for logging or debugging. Also, if there is a value change in a UI, that is what the valueChange event is for.

    35. Re:Getters and setters by Common+Joe · · Score: 1

      It also separates the reading from the writing. When accessing a variable directly, you don't know if your code is necessarily reading from the variable, writing to it, or both (actually, because of passing by references in Java, there's a high chance of both). Simple bugs like = vs == can turn into a side-effect nightmare without the layer of protection a getter/setter affords

      Using a getter or setting affords you the same opportunities as directly accessing a variable. About the only thing a getter and setter offers is an advantage of doing something before / after accessing the variable for a read / write operation... which breaks the objected oriented mentality. That means an getter and setter shouldn't be used. Now... a function or subroutine which modifies a variable is ok. Here's why: an object should be read or modified... not the variable. It's a subtle, but important difference that affects how the code is written and maintained. Sometimes, with trivial code, they can (but not always) look the same.

      Another point, with modern IDEs, I know where a variable is used. I use "find all references"... which is (I believe) the only thing you can do with a getter and setter as well.

      As far as your = vs ==, I don't see where getter / setter can afford you any different protection. Perhaps you can give me an example? In my mind, the only example I can come up with is if (variableA = 5) vs if (obj.getSomeValue() = 5) when the variable is accessed outside of the object is exists in and is properly encapsulated. If the code exists within the same object where the variable lives, then neither of these statements will protect you. obj.getSomeValue() won't stop you from directly accessing the variable if you accidentally (or another programmer purposely) uses variableA.

    36. Re:Getters and setters by Anonymous Coward · · Score: 0

      This variable represents some property of the object and you may want to hide internal representation. E.g. Shape may have Area property - if you provide this in form of a getArea() method you are free to change this internal representation as you wish. In some cases it is reasonable to give object a member variable to cache the value, in some it might be better to calculate it somehow each time it is needed, putting it in a method allows class clients not to worry about that. Myself I'm a great fan of interface based programming and this comes out naturally.

      It also increases code readability and eases debugging - if you want to know when property is changed you just search for places the setter is called or put a breakpoint inside and voilla. In case of variables you may try data breakpoints but my experience shows it is more troublesome.

    37. Re:Getters and setters by Noughmad · · Score: 1

      It is better to put changes into functions that are clearly named and preferably documented.

      Of course, such functions are commonly called setters. Sometimes you just want to modify one attribute.

      --
      PlusFive Slashdot reader for Android. Can post comments.
    38. Re:Getters and setters by david_thornley · · Score: 1

      First, public variables in a class are bad. It pretty much destroys the ability of the class to have invariant meaningful properties. (This doesn't apply to simple bundles of data, since they don't have meaningful properties anyway.) Public variables also lock you into a class design that cannot later be changed, and introduce high coupling into your design. Getters and setters are better because they allow you to impose some structure on variable access, perhaps filtering out invalid values or something, and also a step away from exposing internals.

      Second, getters and setters are usually not what you want anyway. Member functions should be meaningful in the context of the class, not reflections of its internal structure. This may include getters and setters, but I'd rather write them explicitly and keep them as explicit functions. Never have getters or setters that don't make sense in the context of the class as a whole.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    39. Re:Getters and setters by HaZardman27 · · Score: 1

      In languages such as Java, there is no analogue to a struct. Because of this, things like 'Beans' and Data Transfer Objects were invented, which are essentially just classes that hold properties and don't typically implement any interesting logic.

      --
      Apparently wizard is not a legitimate career path, so I chose programmer instead.
    40. Re:Getters and setters by Duhavid · · Score: 1

      You are missing a closing parentheses in the first line of setnetmask.

      --
      emt 377 emt 4
    41. Re:Getters and setters by MemeRot · · Score: 1

      About the only thing a getter and setter offers is an advantage of doing something before / after accessing the variable for a read / write operation... which breaks the objected oriented mentality.

      How does it do that? A form might pass over [date] [time] [timezone] and my object might have [utc_datetime]. The setters for date, time, and timezone set private variables that i don't care about individually. And my getter for utc_datetime will stick date and time together, then look at the timezone and the date and figure out what amount of hours to add or subtract, and return the utc_datetime. But only in cases where the calling code actually ends up requesting it. Otherwise that calculation can be skipped.

    42. Re:Getters and setters by MemeRot · · Score: 1

      The syntactic overhead in C# is at least lighter than Java/C++. It's just Foo.Bar == 'something' or Foo.Bar = 'thing', you just have to declare Bar with a {get; set; }

    43. Re:Getters and setters by MemeRot · · Score: 1

      Depends on your context a bit. When dealing with automatically binding form fields to a view model like with an MVC .net project the convenience and speed pay off handsomely, even at the cost of having to have your form fields and properties identically named.

    44. Re:Getters and setters by MikeBabcock · · Score: 1

      You are correct (in the if statement) ... not bad for writing from the top of one's head in slashdot comments iidssm ... but one still gets the point. I also left out getters entirely and assumed someone would point that out.

      --
      - Michael T. Babcock (Yes, I blog)
    45. Re:Getters and setters by Common+Joe · · Score: 1

      The definition of a getter and setter from wikipedia:

      In computer science, a mutator method is a method used to control changes to a variable. They are also widely known as '''setter''' methods. Often a setter is accompanied by a '''getter''' (also known as an accessor), which returns the value of the private member variable.

      In other words, the only function of getters and setters is to directly change the private variable within an object. If you do anything else (like update more than one variable at at time), then you have a function / subroutine / method. If I understand correctly, what you propose is changing the status of an object by updating three pieces of information. One method can do that. Even if you use three separate methods to do this (but only because the project requirements say should be done that way), then it should be viewed as changing the state of an object -- not setting variables. Everything in "object oriented" programming should be treated like an "object" and viewed through the lens of "objects". Calling a method to update a "variable" (which is the idea behind a getter and setter) is a bad idea. Calling a method to update the state of an object (even if, internally within the object, it updates only a single variable) is a good idea. The code between these two ideas can be the same, but the reasoning is different. Using the terms "getter and setter" not only waters down the distinction between object oriented programming and procedural programming, but (over time) subtly alters the way a program is ultimately written and documented. Why? Because your "lens" is different from my "lens". That makes it harder for us to understand each other when I have to update your work or you have to update my work. The idea behind strict object oriented programming is to make communication between programmers easier.

      Still not quite clear? Let me put it this way: Using getters and setters is like using goto statements instead of if-then statements. Both do the exact same thing. Heck, under the hood of what is really happening inside a computer, our if-then statements in high level languages are being translated into goto statements in machine language when you compile and run executables. Why don't we use goto statements? What makes an if-then statement so much better? If you can understand that if-then statements are the same thing as goto statements and if you can understand why if-then statements are superior to goto statements (these are not contradictory statements even if they look like it on the surface), then you can understand why getters and setters are bad ideas.

  29. QtCreator by protomala · · Score: 1

    The best IDE I've used is QtCreator, just because it is simple, the UI is clean and it does not get into your way. Lets use the points on this article to add it to the comparsion: - speed: much faster/lean than Eclipse, netbeans and Visual Studio. - usability: second place, have a nice debug view, but nothing as flexible as Eclipse perpective. - overwhelming: first, as I've said, have lots of features that do not make the UI big/fat/dirty. - customizability: last. You basicaly don't, just some panels you can change/add. But this is actually part of it's beauty: keeping the UI clean. - code: while it supports basically C/C++, Qt Crerator is one really good IDE. In one project, made in C++/Boost, that we used VS to build, we had to use QtCreator, as VS could not follow functions/symbols correctly, while QtCreator did without any delay. Plugin support is there, but you will only find a few like doxygen. But I would put it in second, as perspectives and custom-builds (like the Flex Builder IDE) makes Eclipse an all-in-all language and coding support. QtCreator is a really decent IDE, that sadly is not known by most people, but if you are developing a project in C/C++, I recommend you give it a try, you could end up being in love with it ;)

  30. Would you rather be hung or gassed? by Maudib · · Score: 0

    Really, two of the worst IDEs out there. Of the memory bloated ones out there, I can really only stomach the Jetbrains stuff.

  31. This article lacks the most important thing: debug by Anonymous Coward · · Score: 2, Insightful

    Yes I use IDEs for coding, and I want to be confortable using syntax highlight, shortcuts and fancy tools. But the most important feature I want is to have a professional and versatile debug interface.

    This article sounds like the propouse of an IDE is to be super fancy text editor.

    From my point of view, the capabilities of Visual Studio for debugging are far better developed than the ones in Eclipse.

    - My two cents.

  32. Abandoned projects by Anonymous Coward · · Score: 0

    >it's more difficult to modify Visual Studio to meet some programmer needs, which has led to any number of abandoned projects over the years.

    I really doubt any worthwhile project was abandoned because the user wasn't bright enough to handle Visual Studio without modifications.

  33. I haven't read the article yet.. by Sla$hPot · · Score: 0

    But at this very moment i'm about to fire up my gold old blow torch..Nah!

  34. Biggest Visual Studio defect: Runs on Windows by swillden · · Score: 3, Informative

    The biggest problem with Visual Studio, for me, at least, is that it only runs on Windows. I use a lot of different operating systems, but Windows isn't among them.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    1. Re:Biggest Visual Studio defect: Runs on Windows by iggymanz · · Score: 2

      Nevermind where it runs, can it generate code for anything but Windows? Haven't used for over a decade, I honestly don't know.

      With Eclipse, I can generate code for many platforms from mainframes to embedded devices with over a dozen different processors

    2. Re:Biggest Visual Studio defect: Runs on Windows by DCFusor · · Score: 1

      Not sure how it is now, but earlier versions of VS could indeed handle other than windows targets. My outfit regularly built custom embedded hardware, that had to be connected to windows PCs. So we wrote code for both, and inside the same project in VS - had to add a little batch file kind of stuff that VS would invoke to build the embedded stuff, but it was way cool, and could, with one button - build both and run them both for testing. As VS moved along, this became harder and harder to do, and I'd bet that by now, it's useless for such things - I gave up on it right around the .net "revolution", mostly because if I'm going to write in some interpreted language, none of .net (or java) would be my choice - at least for me, perl works better as reasonably quick duct tape than any of the others in that class of things. And now I go to download Qt creator to see how that one is. I haven't liked any of the IDEs for linux as well as I *used* to like devstudio (up to 6 - after that, I couldn't stand it).

      --
      Why guess when you can know? Measure!
    3. Re:Biggest Visual Studio defect: Runs on Windows by MemeRot · · Score: 1

      There is a product by a company called Xamarin that lets you write C# and compile it for many platforms - iOS, Android, Mac, and Windows. You can either develop in their IDE, or treat their product as a plugin to Studio.

      There's also Mono. The ServiceStack web services framework is completely portable between windows and mono on linux.

      Or you can use PyTools (http://pytools.codeplex.com/) to write python.

      It's still predominantly used for Windows. But the other opportunities are much more than they used to be.

    4. Re:Biggest Visual Studio defect: Runs on Windows by Anonymous Coward · · Score: 0

      Xamarin uses Mono.

    5. Re:Biggest Visual Studio defect: Runs on Windows by deuterium · · Score: 1

      What constitutes the lot? From my limited vantage, I see only Linux, OSX, and Windows. Of course, this just shows my myopia.

    6. Re:Biggest Visual Studio defect: Runs on Windows by Anonymous Coward · · Score: 0

      Nevermind where it runs, can it generate code for anything but Windows?

      Yes, it can.

      I use VS to develop mono application daily, it runs on linux and all development happens on windows.

      The project folder is synced to samba share from which the VS generated exe file can be run simply by:

      $ mono file.exe

  35. Why compare? by Anonymous Coward · · Score: 0

    Visual Studio is for MS environments, Eclipse is for the rest.

  36. The worst reviewer by Anonymous Coward · · Score: 1

    Please stop even mentioning Jeff Cogswell. Every final word from him is like "Meh. You could do this or that," and he has little to no integrity to his research. He's just a guy giving his unwarranted shitty opinion, and should be relegated to this comments section, not given his own article in the main feed.

    1. Re:The worst reviewer by sapgau · · Score: 1

      Agreed +1 Total waste of time

  37. 3 MB of memory? by abroadwin · · Score: 1

    "Eclipse requires about 3 megabytes of memory"

    Hah! My current instance of Eclipse, with a handful of relatively small Maven modules open, no build in progress, is using about 800MB. If you look at help.eclipse.org you'll also find:

    "By default, Eclipse will allocate up to 384 megabytes of Java heap memory"

    I'm not so sure I trust the credibility of this author.

  38. Any Number? by Anonymous Coward · · Score: 0

    it's more difficult to modify Visual Studio to meet some programmer needs, which has led to any number of abandoned projects over the years.

    I suppose that since it could be any number and the submitter included none, I am justified in assigning a value of -4.

    It is hereby declared that since it is more difficult to modify Visual Studio to meet some programmer needs, -4 projects have been abandoned over the years.

  39. this stupid phrase again by Anonymous Coward · · Score: 0

    A poor workman blames his tools because picking the correct tool is part of his job, ergo if he's blaming his own tools he failed somewhere.

    Lots of decent workmen criticize tools that they don't use anymore. The brake line flare tool I bought from Harbor Freight was terrible; it broke after two uses. You know, just a heads up to others to avoid that one.

  40. Well by ledow · · Score: 2

    Different people prefer different tools.

    I set up Eclipse, personally. It's free. It detects and plugs into Cygwin, MinGW, gcc and I can add a cross-compiler by entering a gcc build prefix into a box (just set up a new Eclipse in a VM with the intention of cross-compiling code to ARM, GP2X (a particular ARM device), Linux (32- and 64-), Windows (32- and 64-). It took about 20 minutes to install, and the rest was faffing about getting libraries to compile the same in all architectures (but now it's just a drop-down box and click - and it cross compiles).

    It works. It does what I need. It compiles. I can do it on Linux or Windows and it works the same.

    It's also fast. God knows what you people are doing but with C99 code, I haven't managed to crash Eclipse or make it churn and I don't sit around waiting for it to do anything (from Helios through to Kepler, on Windows and Ubuntu). Maybe if you're running it on some old sloth of a machine, but if you're programming why don't you have an 8-core, 8Gb machine at minimum nowadays? Hell, my laptop beats that and it cost next to nothing in terms of good laptop prices (sub-£500). The Linux VM I set up for Eclipse has 2Gb RAM and 2 cores running under VMWare on the machine and I'm never really waiting for it to compile unless I do a clean build (and I don't see that compile time should ever really be a huge factor - if you're that worried and have that large a project, stop faffing about with "consumer" programming tools and distcc it or something).

    Eclipse has little quirks of setup, like anything, but it's just the same as any other program of a similar complexity. Don't apt-get it. Just install it into a sub-folder in your home (an ultra-powerful feature in itself - keep Helious, Indigo, Juno and Kepler in separate folders and copy/paste/upgrade your whole IDE and workspace when a new version comes out).

    Debugging is marvellous. Probably it doesn't do some things that the MS software does but, you know what, it's infinitely better value for money and a darn sight better than struggling with gdb directly.

    I don't get it - maybe it USED to be a load of crap, I can't know that. But from Helios onwards, which was my first real exposure to it, it's become my IDE of choice. And you know what? If I want, I can give someone a copy of my VM that has my complete development environment and OS installed on it. 50% of handing off a compile is in the associated libraries, tools, setup and build config rather than what's in the source, and with an open-source environment and an OS IDE, you can just hand them your complete setup.

    If I was writing a programming book, I'd bundle an Eclipse VM setup. Most of my first exposure to any language is pissing about for weeks getting the toolchain set up. The most off-putting thing when I was learning programming was all the hoops you have to jump through to get a compiler that knows what it's compiling, from where, and what to do with it.

    I don't understand the gripes. Sure, I don't have a billion lines of code in there, but I have large multi-arch ports of gaming frameworks that tie into all sorts of bits. I have 20-30+ libraries inside a single program. I have 100,000 lines of my own C code in just one project. I know people might be doing a LOT more than me. But, fact is, Eclipse is damn-near perfect for that, especially for the amateur / beginner programmer, and you REALLY have to go some to outgrow it. I remember struggling along with some of the early Sun Java IDE's - it was actually easier to just not bother and code on the command-line for my university courses (especially as I'd already started on Java a few years before that on my own).

    You can say "it's not for me", sure, but all this "it crashes" and "it's dog slow" crap - I'm not sure I buy it. If it's that easy - reproduce the crash and submit it.

    To be honest, I'd be prepared to suffer quite a lot of performance problems when compiling just for the IDE-and-workspace-as-folders concept, the multiple platform availability, and the debugger interface to GDB itself. But I don't - because they aren't there for me at all.

  41. banish "it can" by epine · · Score: 2

    Some people are surprised to learn that you can also extend Visual Studio with new windows such as those I just described.

    This is typical of Microsoft products: obscure "yes it can" capabilities that you can't rely upon for continuity from version to version. Macros? Poof.

    Come on reviewers, picking out chopsticks does not count as "playing the piano". Microsoft products in particular needs to auditioned savagely before giving credence to any self-assigned tick marks, or awarding gold stars for limbo dancing under the bar instead of over the bar on standards compliance. Simon says "That's four noes." Especially in the late nineties, the vast majority of Microsoft product reviews were channelling Paula Abdul. Eventually I burned "yes it can" in a Salem bonfire.

    I've used Eclipse fairly heavily for C++ and R and I don't find it sluggish. Yes, it's far from perfect. Docking operations on the newest release went a bit insane on my 22" monitor in portrait mode. Hopefully that's just teething pains early in the release cycle.

  42. Re:Let's stop using "That being said" by Anonymous Coward · · Score: 1

    I agree with you, Irregardless; for all intensive porpoises, I feel like youre complaint is just spam.

  43. Memory? by avandesande · · Score: 1

    For someone making 6 figures a year spending 100$ for enough memory isn't a big stretch. If you really want to get fancy buy a SSD drive to compile on....

    --
    love is just extroverted narcissism
  44. IntelliJ IDEA by Anonymous Coward · · Score: 0

    IntelliJ IDEA

  45. Both are horrible piles of cr*p! by Murdoch5 · · Score: 1

    Neither Eclipse nor Visual Studio is a model for sound usability

    Doesn't do it justice. Visual Studio is the poster child for overhead and over complication. As an embedded, web and desktop developer, it fails on all accounts. I wouldn't use Visual Studio for any single reason, not to mention it's not even cross platform. If you ask a class of kindergarten students to plan an IDE I think you'll find many of there suggestions under the hood. What an IDE should be is slim, light, fast and snappy. It should come with low overhead, work on all major OS's and leave the configuration up to you. Visual Studio is almost the opposite of what an IDE should be.

    Eclipse on the other hand is almost just as bad, it's overhead is to the point that it's almost not even worth using. It's menu layout system and over all design are horrible and leave so much to be desired it could be a guide on how not to make a GUI. Apart from that it has a horrible configuration and it's a mess to even use for simple or complex projects, requiring more tweaking then a rocket ship.

    So what IDE do I use? I don't! I've worked on huge projects and with out fail all I need is Vi and a toolchain. I've said it over and over that IDE's are really for people that don't want to get work done. A good text editor with features and a solid terminal will serve you better in all aspects of writing and debugging code. For the overhead that all modern IDE's come with I can't think of a reason to use them, they don't give me anything I can't get already with my editor and terminal windows and they don't speed up any aspect of development. Oh and to counter the argument about not being able to see what is in a class or autocompletion, Vi has autocompletion and you need to write the code properly in the first place, I shouldn't have to hunt to figure out what's in your class and if it's just a library that I can't see into then the documentation should be more then capable.

  46. Not grandpa - Overlord by SuperKendall · · Score: 2

    Gee whiz grandpa, I don't think any of the IDEs support punch cards.

    What you fail to understand is that all Emacs users are in fact travelers from the 25th century, trying as best they could with primitive technology to create an editing environment as elegant and direct as what they were used to back in their own time-stream.

    So while you cackle about punch-cards we Emacs users are rolling our eyes and figuring out which gene of your grandmothers to re-sequence to give you embarrassing flatulence in your thirties.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
    1. Re:Not grandpa - Overlord by Anonymous Coward · · Score: 0

      So while you cackle about punch-cards we Emacs users are rolling our eyes and figuring out which gene of your grandmothers to re-sequence to give you embarrassing flatulence in your thirties.

      A-Ha! Jokes on you, gramps... I am in my thirties and already have embarrassing flatulence...

      Oh, wait...

    2. Re:Not grandpa - Overlord by Nivag064 · · Score: 1

      Heh!

      I am a grandfather, and I have used punched cards for FORTRAN & COBOL programming on minicomputers & mainframes - I REALLY DON"T want to go back to having to use punched cards!

      I've used emacs for editing & debugging multi-module C programs, and at the time, I loved it.

      Now I use Java and use Eclipse, on a Linux box. So Visual Studio is not relevant.

      I found NetBeans slow & clunky. IntelliJ was the first Java IDE I used, loved it at the time, but now I prefer Eclipse.

      Please don't imply that us ancient ones want to use punched cards!

    3. Re:Not grandpa - Overlord by Anonymous Coward · · Score: 0

      Its a good thing emacs has a vi plugin, otherwise they wouldn't have a text editor.

  47. Not the comparison I want to see by SuperKendall · · Score: 1

    The ultimate comparison I would be interested in would look at:

    Visual Studio
    Android Studio (IntelliJ)
    XCode

    That's kind of the modern set of IDE's.

    Since there's not as much overlap in users of each one it would be interesting for users of one platform to see the strengths and weaknesses of the other two.

    --
    "There is more worth loving than we have strength to love." - Brian Jay Stanley
  48. Re:Happy Tuesday from The Golden Girls! by Anonymous Coward · · Score: 0

    Good to know.

    We'd all been wondering.

  49. Acme by Anonymous Coward · · Score: 0

    Or Sam if you don't like mouse chording.

  50. Dumb and Dumber by jtara · · Score: 1

    You decide which is which.

  51. Pointless by Anonymous Coward · · Score: 0

    Seems like a pointless comparison. No Java developer would ever use VIsual Studio and no C# developer will ever use Eclipse.

  52. Eclipse has a bug I think by GoodNewsJimDotCom · · Score: 1

    I'm not sure if it is Eclipse or Flashbuilder, but if you go over about 60k lines of code, you start getting type lag that gets progressively worse the more lines of code you write. If you like writing large systems in procedural while using OO sparingly, you can easily end up with 200-400k lines of code in one file.

    1. Re:Eclipse has a bug I think by Yosho · · Score: 1

      As somebody who has never used Flash, I have to say that that sounds terrifying. I feel like my code is starting to get ugly and bloated if I have more than 4,000 lines in one file. Over 10,000 lines means it's desperately in need of being cleaned up. I do mostly Java nowadays, which is a well-deserved reputation for its verbosity. One file with 400,000 lines of code in it? Wow.

      --
      Karma: Terrifying (mostly affected by atrocities you've committed)
    2. Re:Eclipse has a bug I think by GoodNewsJimDotCom · · Score: 1

      MMORPGS are big man :) The number of lines in your code automatically mean you coded badly. It could mean your code is very complex with a lot of functions.

    3. Re:Eclipse has a bug I think by dkf · · Score: 1

      It could mean your code is very complex with a lot of functions.

      But do they really need to be in one code unit? One source file?

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
    4. Re:Eclipse has a bug I think by GoodNewsJimDotCom · · Score: 1

      There's several advantages people don't realize to keeping much of your code in one source file. Ctrl+f is much more powerful, the less fragmented your code is in different files. Your code is much easier to read for new coders on the project than someone who puts 100 lines of code in 200 different files. You reserve other files for stuff that really benefits from the OO style so you don't lose flexibility. There's probably several other reasons to go for a gigantic single file, but the only major downside is that it affects compile time. I'm not going to downplay that, losing a few seconds per compile can add up if you're hyper agile like myself. But to say that there are no benefits for keeping your project in a single file is to be ignorant of alternative coding styles that are still high quality, manageable, and readable.

      To conclude: Don't claim I'm using the software wrong when I find a bug in it.

    5. Re:Eclipse has a bug I think by XcepticZP · · Score: 1
      There are NO advantages to keeping much of your code in one source file. Other than the fact that you know where all your code is. Quit trying to justify/defend your horrible coding style. All code has separate components, and as soon as you have TWO separate components, you are able to start putting them into separate files.

      To conclude: Don't claim I'm using the software wrong when I find a bug in it.

      No, but your usage scenario is extreme to say the least. Try open up a multi-gigabyte text file in any standard text-editor, and tell me how that goes. You're essentially pushing eclipse to the limits. Most sane people don't put that much code into a single file. You can design and implement highly complex, and huge systems with man times less code than what you've put in one file.

    6. Re:Eclipse has a bug I think by Yosho · · Score: 1

      I don't see any advantages there. grep is far more powerful than "Ctrl+f", and Eclipse's context-sensitive search functions are more powerful than that. For the last five years I've been working on a project that has several million lines of code total and has had over a dozen developers, and finding what I'm looking for is much easier when the code is separated logically into different files -- not to mention that merging in VCS is a nightmare when you've got six people all trying to edit the same file at once.

      You haven't found a bug, you've found a natural consequence.

      --
      Karma: Terrifying (mostly affected by atrocities you've committed)
  53. Birds-eye view. by Anonymous Coward · · Score: 0

    Disclaimer: I code/build/compile with vi (vim). Uff. Now that's out of the way, I use Eclipse for the indexing/navigation. Yes, it's slow as molasses but what's the hurry when you are just surfing the code right? VS gives me the creeps.

  54. visual studio... by bored · · Score: 2

    I was under the impression that for a editor to be considered a "programmers editor" it had to have some kind of programming/macro language built in. Because, sometimes you find yourself repeating some action over and over and over. Dropping to $shellutiilty to perform the same task is basically just admitting your editor sucks.

    Bonus points if your editor lets you assign arbitrary keys to the given macro.

    Frankly, I sort of gave up on visual studio after version 6 when they decided to rebind all the keys, and started rewriting parts of it in .net. Before that, it was a pretty good C++ environment, after that the C++ functionality took a back seat to the C# functionality that appeared to be trying to replicate visual basic/delphi, and frankly doing a pretty crummy job of it.

    Actually, having worked with a couple of ex-microsoft guys in the OS division, my understanding from them is that huge swaths of Microsoft actually use slickedit (IIRC) rather than visual studio. Basically anyone not programming in a .net environment. Maybe that has changed as Microsoft has tried to add support for driver development in VS, but it was definitely frowned on for a while.

  55. I've fallen out of IDE by Anonymous Coward · · Score: 0

    Coming from windows I LOVE MSVS, albeit v6.0... Next up I prefer Code::Blocks (codeblocks) for my cross-platform multi-module/sourcefile dev. Or I just use gedit (tabbed & many code/language highlighting plugins), plus a terminal window. I've been on a gedit or vim only spree lately.

  56. eclipse by bored · · Score: 1

    I've tried time and time again to like eclipse. I think they have done a pretty good job of providing a lot of useful functionality via plugins. I've even recommended co-workers use it, only to have to later apologize..

    The problem is that it always seems like its 90% done. There is always some critical problem that keeps it from working correctly. Plus, the last couple of times I started it, it was such a resource hog, and kept crashing so frequently I couldn't actually use it. Of course i've never used it for java development rather trying to use it for C++ or PHP, so that is probably the real issue. I can only hope that the java portions are more polished.

  57. MSVC, KDevelop and Qt by Anonymous Coward · · Score: 0

    I am talking C and C++ here:

    You cannot beat the feature rich Visual Studio IDE. The latest preview of 2013 is so dang sexy. However, Using Qt as an IDE for a general platform is nice when you have to maintain portability across platforms; or just need a dang feature rich platform toolkit. If you are hardcore Linux, KDevelop is sexy. I think KDevelop IDE is based on Kate.

    I use all three, but end up in Visual Studio most of the time.

  58. Visual Studio wins in GUI designer, ALM and more by elabs · · Score: 0

    Visual Studio definitely wins in most categories. The visual designer(s) in VS can't be topped anywhere in the industry. The XML editor is superior. The binary "hex" editor is superior. The built-in memory, performance, concurrency and other profilers don't even exist in Eclipse. The project template system (not to mentionT4 text templates) is also far superior.

  59. are you serious@!? by Anonymous Coward · · Score: 0

    how the fuck do you compare the pile of dog shit that is eclipse to ANYTHING? and visual studio is no angel but at least it doesnt completely suck ass like eclipse. visual studio isnt even cross platform i DONT UNDERSTAND THIS COMPARISON AT ALL!!!! so im not even going to click on the article link because it makes absolutely no sense to compare the two.

  60. Sublime++ by Anonymous Coward · · Score: 0

    Sublime++

  61. Eclipse incremental compilation by Anonymous Coward · · Score: 0

    The incremental Java compilation in Eclipse does have something to do with that IDE. It is definately not javac. So different IDE:s really can compile Java at different speeds.

    (Comparing Java to C was dumb, no contest there.)

  62. Should have been VS.Net vs IDEA IntelliJ by Anonymous Coward · · Score: 0

    Any Java developer that knows what's good for him uses IDEA IntelliJ instead:
    https://www.jetbrains.com/idea/features/

    That would be a better comparison.
    Eclipse has been stagnating for a long time now.

  63. SlickEdit... by jasno · · Score: 1

    I just wish Eclipse could tag and browse code as well as Visual SlickEdit. I have to deal with huge, constantly changing codebases and I couldn't survive without it.

    I got hooked using a pirated copy years ago. Once I realized how much money in made me during my stints as a contractor(and because I was able to use it as a deduction!), I finally spent the $300 and bought a copy.

    The one thing I wish they would change is needing a license for each platform. I rarely use windows, but when I do I'd like to be able to use my favorite editor without shelling out another couple hundred $$$.

    --

    http://www.masturbateforpeace.com/
  64. Spoiled by Visual Studio by Tony+Isaac · · Score: 1

    I have to admit, I've been spoiled by Visual Studio. It's the "Apple" of IDE's--it "just works."

    Speed - The author starts out by dismissing reports of Eclipse's slowness, blaming it on the hardware. I have both VS and Eclipse installed on the same machine, with 8 GB RAM and 8 processor cores. Visual Studio runs circles around Eclipse.

    Intellisense - works flawlessly in VS. Eclipse takes forever to show the dropdown list of properties or whatever, if it shows it at all. Sometimes I have to backspace and type that . again several times to get it to show something.

    Perspectives - I'll turn them off when I figure out how. Why doesn't it switch back when debugging is done?

    Flakiness - I keep having problems with the "clean" function not rebuilding the "gen" folder. Or the debugger suddenly stops breaking on breakpoints until I restart Eclipse. Or an incremental update breaks the configuration. Eclipse is NOT the polished machine that VS has become.

    If I could easily write Android apps in Visual Studio, I would!

    1. Re:Spoiled by Visual Studio by Shados · · Score: 1

      You can use VS for android apps. Xamarin or whatever. I personally never used it, but one of my collegues makes android/iOS games on the side (pretty good ones....his last one made 30 grands in a month? So its no Angry Birds, but its not garbage either) using .NET, and you'd never be able to tell...it looks like any other "top notch" iOS or Android game. And if it can make a game, it can easily do most anything.

      He wasn't even a .NET dev when he started...he tried objective C and stuff, said "fuck this", tried other options and settled on that. So I guess its not half bad.

    2. Re:Spoiled by Visual Studio by Tony+Isaac · · Score: 1

      Xamarin might be nice, I don't know, but if you want Visual Studio support, it's $999. That's a little steep for personal / hobby projects.

      https://store.xamarin.com/

    3. Re:Spoiled by Visual Studio by MemeRot · · Score: 1

      Intellisense *almost* works flawlessly. The times when it doesn't show properties that I know exist drive me bananas.

      The unit testing changes from VS 2010 to VS 2012 were quite confusing and a big step down in usability. Wasn't even at an ok level until update 2.

  65. Penny Arcade by jbolden · · Score: 1

    Penny Arcade is funny but in some ways oversimplifies the issue. The 8.1 feature is to add dashboards to the desktop. The first of those is a start dashboard which launches the Metro application launcher. But the potential is there far more. Desktop is going to be further integrated into the new look and feel. There is no escaping the world of tiles.

    1. Re:Penny Arcade by MikeBabcock · · Score: 1

      I escaped tiles just fine on both Android and Linux. I see no reason to believe I'm stuck with something when I can be productive ignoring the entire platform quite happily.

      --
      - Michael T. Babcock (Yes, I blog)
    2. Re:Penny Arcade by jbolden · · Score: 1

      From context I think it was rather clear that "no escaping" meant Microsoft's future direction. Obviously switching to a different OS allows you to escape most issues.

    3. Re:Penny Arcade by MikeBabcock · · Score: 1

      The sentence seemed overly broad so I commented on it as I did. If you meant it narrowly, my apologies (although still applicable).

      I assumed you meant it the same as if you'd said "the world of icons is inescapable" ten years ago.

      --
      - Michael T. Babcock (Yes, I blog)
  66. TLDR: It's a flaw of the language by marcosdumay · · Score: 1

    Well, I guess you've already read the ton of answers that state that if you define the getters and setters, you can modify them in the future, while if you accessed the attribute directly, you couldn't.

    That's both true in Java and .Net, and a stupid feature of those languages. There is no reason why you shouldn't be able to change how an attribute is accessed without writting all that boilterplate.

    1. Re:TLDR: It's a flaw of the language by MemeRot · · Score: 1

      No good reason I shouldn't be able to shoot laser beams out of my eyes either. But I can neither change how an attribute is accessed in Java/.Net nor shoot laser beams out of my eyes.

  67. who missed the bird? by Anonymous Coward · · Score: 0

    I think the 2 main points are missed here:
    1. If you write c# or for asp.net you have to use vs or your shooting yourself in the leg.
    2. If you need to design a gui for c# c++/cli you have to use vs or your shooting yourself in the leg.
    Bonus: vim and stuff is good iv seen developers crank out code quicker then it took me to load a project in eclipse without errors. But for gui design/debugging/code tracing vs ultimate takes the crown.
    Final conclusion: if you write for cli use vs. Otherwise does not really matter what you use.
    Bonus2: an ide is good if your working with a new language and it has autocomplete.

  68. The real problem with both by PJ6 · · Score: 1

    is that they're still not abstracting away from the file system, which IMO remains a major impediment to the advancement of both IDE and source control.

  69. vi v. emacs by Anonymous Coward · · Score: 0

    When I was your age we had this same argument, but it was vi and emacs. Now it's become what editor can paste shit from stackoverflow faster.

  70. Modern Text Editors are not for the masochistic by Anonymous Coward · · Score: 0

    Not trying to be macho or anything, as I think I'm a pretty noob coder, but I personally love the simplicity and power offered by modern text editors like Sublime Text.

    To me, the most important features are that the editor be multi-platform, have a great text editor and fast code searching. Sublime has the best code editor I have ever used, and pretty fast searching in multiple files. It's also very customiseable, works great out of the box with a large number of languages (with pleasant syntax highlighting and default colours) and has plenty of features to help navigate code when working on more complex projects. It isn't free, but at $60 it's cheap enough that I don't care.

    Sometimes I think people mainly want an ide for the integrated debugger and build systems more than anything, but depending on your language, these can be extremely unimportant aspects of a good programming environment.

  71. Really comparing apples and oranges by msobkow · · Score: 1

    For C#, I live VS. For Java, it's Eclipse all the way. Both are, however, buggy.

    Eclipse will randomly crash while loading large projects, then load the next time just fine. It also takes forever for Eclipse 3.8 to initialize all it's "plugins" for web development.

    But I wonder if VS still has the most notorious bug it had back in the C/C++ days. If you hit a breakpoint, and were playing a CD in the CD player, the whole machine would crash and blue screen if the player switched to the next track while you were stopped in the break point.

    --
    I do not fail; I succeed at finding out what does not work.
  72. I use Netbeans by Anonymous Coward · · Score: 0

    Anyone else?

    1. Re:I use Netbeans by amannm · · Score: 1

      Yeah I used it for Java/HTML/CSS/Javascript. Eclipse is really ugly

  73. VS.Net person by Horshu · · Score: 1

    I used Eclipse back in the day, but my main problem with it was: it's used for Java, and I despise Java. 2nd problem is that everyone seems to have their own set of plug-ins to get it "usable", so on a new project, you have to deal with 3-4 different chefs telling you how you should cook. VS, on the other hand, is usable straight out of the box, and that includes source control, if using TFS. My problems with VS are: 1) it's got this weird breakpoint quirk where deleting a breakpoint during debugging does actually delete it for all sessions, 2) The debugger too often times out on an evaluation (screwing up all other evaluations) or optimizes away BCL variable watches, 3) it sometimes starts blacking out sections of the IDE (a bug that originated with the WPF conversion), 4) the webdev.webserver40.exe process crashes too much, 5) the exception breaking UI is tedious to use, especially with ASP.Net, as you often have to click through all of ASP's initial exceptions or start debugging, bring up the exception window to turn on exceptions, then debug. 6) periodic UI freezes while it does God-knows-what, 7) orphaned devenv.exe and msbuild.exe processes, 7) it likes to send you to the code analysis window by default rather than stay on Solution, and 8) to this day, you do a search on something, and it highlights "Matching", so your next search doesn't keep your last search...it wants to search your solution for "Matching" (I filed a Connect issue with this, but they rejected it; MS and I disagree about who owns focus). But fantastic intellisense, IMO, and the code contract integration kicks serious ass.

  74. Apples and Oranges by Cammi · · Score: 1

    You cannot compare the two since Visual Studio is an IDE (code editor, debugger, designer) while Eclipse is a glorified text editor. Really... every programmer knows that.

  75. Refactor, refactor all day long... by Anonymous Coward · · Score: 0

    > For instance, renaming a class method that is called by numerous other classes is a 3 second operation in Eclipse

    Lemme guess: if that's your main workload you must be using Java. Or some similar turd.

  76. Nothing about lack of ctrl-tab? by Anonymous Coward · · Score: 0

    Every other mutli-document editor I've used the past decade supports switching between files using ctrl-tab. I've read for at least seven years now whines from the Eclipse developers that that is too hard to implement. NetBeans isn't great, but at least you can easily switch between source files with it.

  77. Eclips Vs Visual Studio by GeverLances · · Score: 1

    Both Eclipse and Visual Studio are good IDE. They have their advantages and disadvantages so I am hesitant to state "X is better than Y". Having said that, the language you are using will determine which is the more appropriate IDEA. For Java, Python, Ruby, etc, I would go with Eclipse since there are some really good plugins for it. For languages developed/maintained by Microsoft (such as C#, VB.Net, etc), I would go with Visual Studio since it will probably have better built-in support.More about Visual Studio http://net-informations.com/ Microsoft Tutorial. Eclipse can be very messy and unpredictable when working on dynamic web projects due to its annoying interaction with Tomcat Server which fails 73% of time. Visual Studio has IIS server built in it and the user does not have to manually install a messy server like apache tomcat. Eclipse also takes like forever to load workspace while VS has everything well organized to load fast. With Visual Studio everything is straight foward unlike eclipse where u have to keep on configuring settings from its disorganized menu, for some features to work. gever.

  78. Eclipse by bitterblackale · · Score: 1

    One is a professional, high-powered, flexible, IDE for developers of high-quality code in almost any platform and language. The other is a Microsoft product. :P

  79. Embarcadero XE4? by tjstork · · Score: 1

    I'm just throwing it out there, but I had a chance to play with Embarcadero XE3, and am going through the trial of XE4, and if you are looking to write native C++ windows apps, its hands down better than Visual Studio could dream of. It's faster, I prefer Firemonkey to WPF, and its also a bit more portable...can hit Mac desktops as well and there's an IOS version I guess in the works. Plus, if you want to write a standard Windows forms app, I think VCL and all the rich VCL controls is way better than using old resource editor and some hokey MFC.

    Just saying. Everyone is talking Eclipse vs Visual Studio, but honestly, Embarcadero is really worth a serious look.

    --
    This is my sig.
  80. Microsoft Programmers' Workbench (PWB) by Cruxus · · Score: 1

    Has Microsoft made any strides in developer friendliness since Microsoft Programmers' Workbench, released c. 1993?

    --
    On vit, on code et puis on meurt.
  81. VS was best? When? Obviously never used Borland by HannethCom · · Score: 1

    Back in 2000 I was working on a project and we started in Visual Studio. It took 6 months to get half way through the part of the project I was working on. The team lead decided to try switching us over to Borland C++ Builder.

    Due to the differences in how everything was setup I had to rebuild most of what I had already built. 2 days. I was able to use some of the code I wrote in VS, so it probably saved me about 3 days of work. In the next 5 days I finished what would have taken me 6 months in VS. C++ Builder was just so much easier as I would plunk things down and the IDE would write most of the repetitive code for me.

    Back then the Borland products were even price competitive. VS has come down a lot in price since then. Last I looked, the Embarcadero products have gone way up. Borland is now called Embarcadero.

    VS has caught up a lot with where Builder was 13 years ago, but still hasn't quite caught up on the ease of use, though I think the intellisense is almost there. Of course I hope in 13 years Builder has gotten that much better too.

    --
    Microsoft, Apple, Google, Amazon what's the difference? All steal money from devs and control with walled gardens.
  82. MVS distorts code design by Required+Snark · · Score: 1
    I have a huge problem with MVS because of the way it dictates GUI multi-threading interaction. Every MVS C++ project I have ever worked on used the GUI threading model that was automatically created when the GUI was designed. This invariably had no relationship to the multiprocessing model that the code actually needed.

    For good multiprocessing design the architecture needs to be explicitly tailored to the problem domain. The GUI builder in MVC has it's own paradigm, and I have never seen or heard of a way to modify what it does. Everyone blindly accepts this because lower level use of the MS GUI system is like removing your own appendix with a rusty spoon and no anesthetic. It's just not worth the pain.

    There is a way out, but no one seems willing to do it: design the API to the mutiprocessing code and separately design the GUI. Then figure out what MVS does with the GUI interface, and map that to the API.

    What happens instead is the that the GUI threading model becomes intertwined with the code threading model. Because of bad partitioning and unintended interactions everything becomes much more difficult.

    I realize that not everyone solves this kind of problem, but it was something that I ran into a lot. To me it epitomizes the MicroSoft model. They remove the ability to choose so they can lock you into their system.

    --
    Why is Snark Required?
  83. The moderation here is a joke! by Anonymous Coward · · Score: 0

    A request for a feature that nearly every other modern editor or IDE has is moderated downward, but XKCD jokes get moderated upwards nearly every time? I remember when technical people used to use this site.