News for hackers. Stuff that matters.
Re:Visual Studio 2013 by skrebbel on Tuesday November 19, 2013 @02:17PM (#6763634)
I mostly agree with your argument, except:

> You're right; IDEs encourage lazy programming habits.

Nonsense. You know what's lazy? Working on a project with millions of lines of code and deciding that digging through it to find the routine you need is more work than just coding it again.

My conspiracy theory is that editors that allow you to enter code real fast encourage a personal not-invented-here syndrome. Coding it yourself is faster than looking up how to use someone else's code (be it code by a team member or an open-source library). If the only way to use a lib is to read bad reference docs on the internet, or, god forbid, the source, and you're on vim/emacs/sublime, then sure, hack it together yourself. It's faster, more fun, and all the trouble caused by code duplication and added complexity is for your successors anyway. Not your problem! This why all PHP, Ruby and Python programmers build their own HTTP request router at some point in their career (I sure did).

On the other side, editors that make it very easy for you to discover and navigate code will encourage you to use existing code. Typing `someObject.` and getting a precise, documented and navigable list of exactly what you can do with that object. That causes you to use that object the way it was intended. Maybe refactor one of its methods so that it's more flexible or general. You wouldn't refactor a method that you don't know existed, right? Direct, at-your-fingertips insight in the code you use, and the code you wrote last month, encourages appropriate use of said code.

(Sidenote: of course there's absolutely no reason why an IDE can't have great text-editing keybindings. I suspect that the only reason most fakevim plugins for IDEs are mediocre is because the user group is so small. After all, the average vim/emacs user looks down on IDEs)

Re:Visual Studio 2013 by bad_user on Tuesday November 19, 2013 @03:40PM (#6764289)
> My conspiracy theory is that editors that allow you to enter code real fast encourage a personal not-invented-here syndrome.

If your "million lines of code" project isn't well documented or designed, then relying on an IDE to find pieces of code doesn't really help.

It is also my "conspiracy theory" that because IDEs are so good at hiding the junk under the carpet, developers become sloppy and stop carrying about things like modularization and API design, immersing themselves into sloppy code and factories of factories. E.g. no project should ever get to millions of lines of code, because no developer is able to keep it in one's head, which is why monolithic code bases are a mess. If you're not splitting your project in multiple modules/libraries, you're doing it wrong.

And such users can't see it, because they are developing in languages in which IDE usage was encouraged from the start (e.g. C#, Java), so libraries are naturally developed with IDEs in mind, being really hard and frustrating to use them without an IDE, creating a vicious circle. It is also my opinion that IDE "users" (because seriously folks, many of you are not the kind of people that can adapt their environment to their needs, therefore you are just users) have never tried to develop in Vim or Emacs in combination with a potent REPL, plus the Unix toolchain. Unfortunately for you particularly, you'd also have to change languages and immerse yourself in the Unix culture for that to be a pleasant experience. But seriously, try it sometimes, you might just like it.

Note that I'm currently using IntelliJ IDEA, from the same guys that are delivering ReSharper, the plugin that makes Visual Studio usable. IntelliJ IDEA is a really potent IDE. But many times I hate it and I can't wait to get back full-time on Emacs, unfortunately I have to use IntelliJ because I'm dealing with Java's ecosystem right now. Well, at least Java has Maven and SBT.

Re:Visual Studio 2013 by lemming on Wednesday November 20, 2013 @03:23AM (#6766914)
But seriously, this is almost entirely bullshit. I've used IDEs for a long time, and they just don't encourage the problems you're describing here. Bad developers do, and that's totally independent of your language or your editor. Maybe you don't have to work on million line projects but lots of people do, and maybe, just maybe, it's not their fault and maybe, just maybe, there are totally valid reasons that their projects are like that. It is my opinion that mere editor "users" (because seriously folks, many of you are the kind of people who can't get off your high horse) never understand that, and refuse to accept that perhaps other people might like different tools or work in different scenarios than they do.

And yes, I used Emacs for 8 years. You couldn't pay me enough to go back.

Re:Visual Studio 2013 by breckinloggins on Tuesday November 19, 2013 @04:34PM (#6764644)
Good points. How about "IDEs can encourage lazy programming habits, but that's more an indictment of the programmer rather than his or her toolset."

I've personally moved to Vim because I found that I like it, but I still have all the plugins that turn it right back into an IDE of sorts. I try to resist looking down on IDE users... I used IDEs for a long time and suffered no ill effects (that I know of).