Hacker News new | past | comments | ask | show | jobs | submit login

I think that's a little harsh. What a lot of people (including myself) dislike about IDEs is that you lose a lot of tool composability, and to some extent you have to play by the IDE's rules. With a Vim + CLI setup, you get to define the optimal flow, but the tradeoff is maintainability.

For many, though, once you get your environment set up, it feels amazingly natural, more than an IDE could provide. It's more a matter of taste than anything.




Here is the key value provided by an IDE:

* Autocomplete. This deserves way more recognition than it gets. Having function signatures, documentation, overloads, types, available IN-LINE while you type saves so much work from programming and is essential to delivering correct code. If you want to be an effective programmer, this is a fundamental tool.

* Debugger. Easy breakpoints, conditional breakpoints, built-in profiling... Without these features, you will consistently produce inferior code.

I don't see how someone who calls themselves a serious programmer can throw away these exceptional tools.

VIM and other lightweights have their place, their place just isnt serious programming (by which I mean large software projects).

Whats more, VIM and similar tools make each step of the process, including incredibly simplke things like compiling and running your program, take exponentially longer and are similarly more xpensive to the programmer. I think most folks who don't believe this are simply in denial. VSCode delivers on these two features and is instantly an infinitely superior programming experience.

Its a cult.


I've noticed your trolling re: emacs & vim vs IDEs in the previous days (ie: mostly argumentless name calling), but I'll bite anyway.

Linus uses microEMACS, Guido uses emacs, Bjarne uses sam. The list goes on. What is your point exactly? That they are all fools & idiots? Or that the Linux, python & C++ projects do not qualify as serious programming?

Is it unfathomable that they know something you don't? Is it inconceivable that some people out there have a different yet valid opinion?

My personal experience with the few large codebases I've had to work on in the past is that IDEs would choke on them. If we wanted to get any work done that day we'd have to do it in a lighter code editor. As an added bonus, if we used vim or emacs we could now be as proficient remotely as we were locally.


You're presenting opinions (strong ones) in the guise of facts, but you have no data nor even really anything to go by other than your experience/preference/anecdotes.

In general, the stronger your opinions the more you must work to ensure that they're communicated in as non-alienating a way as possible. This is one of the fundamental forces of communication/persuasion. As it stands, your current comment leans on hyperbole quite a bit, and uses unkind labels for groups of people who are quite likely to read your comment. As a result, I suspect your comment may not go over well.


Your opinion is well reasoned and helpful. I think its valuable in that others who actually want to communicate could learn and benefit from it but I think the party you are talking with is just a troll unfortunately.


> * Autocomplete. This deserves way more recognition than it gets. Having function signatures, documentation, overloads, types, available IN-LINE while you type saves so much work from programming and is essential to delivering correct code. If you want to be an effective programmer, this is a fundamental tool.

Coding. This deserves way more recognition than it gets. Having function signatures, documentation, overloads, types available IN-YOUR HEAD while you type saves so much work from programming and is essential to delivering correct code. If you want to be an effective programmer, you need to stop relying only on autocompletion.

And as always.. have a nice day!


Autocomplete is obnoxious. I write Ruby primarily and if you need autocomplete for Ruby, you're probably doing it wrong.


I'm telling the same thing. Brain is required for coding not autocompletion. :)


For a debugger I usually run gdb in a terminal it initially had a pretty steep learning curve but I find it to be extremely powerful I mostly use it for analyzing core dumps rather than stepping through breakpoints. Being able to backtrace and step through stack frame by frame is really, really useful.


This.

I've only spent a few hours in GDB so far (mainly because my working environment doesn't let me), but once you've tried it, it's astonishing how little comfort most IDEs actually give you when compared to it.

I had to remotely debug C/C++ code on a very obscure ARM platform. Normal IDEs didn't get me anywhere. There are GDB wrappers like Nemiver that worked, but still were very clunky.

But with GDB in TUI mode, I just had to SSH in. If I have to learn two or three commands to use it, so be it.

Every time I have to do any of that remote debugging dance with any Microsoft product, I still long back for my GDB terminal. :-/


If you really want I'm sure we could list out plenty of "serious programmers" that use vim.


Their existence doesn't surprise me, but they deserve less respect for making foolish choices.

An idiot savant is still an idiot.

I'll welcome any points made for VIM that acknowledge the immense value provided by IDEs, but if I had already seen such points I wouldn't even be posting here today.

Every argument I've seen for VIM systematically denies:

* That programming is hard work.

* That making life easier is a good thing.

Its just an extension of the masochism that permeates programming culture.


Your tone and absolutism is getting you down voted like crazy. You're placing the IDE experience on a pedastal and it's really not warranted. IDE's can have lots of problems, speaking as 15 year enterprise java developer. The primary problem is hiding complexity from the developer, which is obviously good and bad. For example, IDE's typically maintain an internal representation of a project, which can get out of sync in wierd ways. It's easy to spend multiple minutes rebuilding and refreshing "objects" (ie file and subprojects, and maven modules, etc) trying to get things back in sync. Here I'm speaking from years of fighting Eclipse, other Java IDE's like in IntelliJ are purportedly better in this regard. The fact remains, it provides an abstraction over the source files on disk, which are the source of truth.

Where vim and command line tools shine is giving the developer powerful tools to examine and manipulate projects, as they exist, on disk.

I personally believe there's a place for both. Vim and the cli are my secret weapon when it comes to comprehending, researching, and working with large, legacy, java enterprise applications. I only use an IDE when I'm actually editing java source files, which isn't very often. YMMV.


Yea you're right I've overstated my position. Don't really see how vim is useful for excploring a codebase.


Ever heard of ctags bud?


That isn't what the word idiot savant means it would be helpful in future discussions if you would learn the terms and idioms you intend to use. Idiot savants is a term for those who possess some interesting intellectual talent despite profound mental disability.

The individuals you are disparaging are merely talented developers working on useful projects they possess neither a surprising intellectual talent nor profound disability.

Despite your very superior opinion of yourself disagreeing with you doesn't imply mental disability.


You know why I don't like IDEs (especially bloated crap like RubyMine?) Because they're reasource hogs. They run slower. Vim + Tmux is as fast as you can think.


Its amazing that you don't realize that its trivial to bind a single key to build your project in any editor under the sun. You could literally use ed and a shell script and bind a key on your desktop to fire off a build when you press a single button.


re. Autocomplete - have a look at Vanilla vim's help files on Completion. Not the greatest, but still quite good and easily extensible (even without compiling in YouCompleteMe).

http://vimdoc.sourceforge.net/htmldoc/usr_24.html#24.3

And a debugger doesn't have to be built into an editor to be functional. PDB, GDB, PRY, your browser's built-in debugger... all are quite useful without being built-in to your code editor. As a bonus, all but the last can be easily accessed from your terminal (which, hey, you have multiple terminal windows readily available in tmux!).

Sorry, troll fed. My apologies.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: