Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

On IDEs: I have the 'pleasure' of being one of those chaps who spends parts of his day job reworking massive Java projects. There is no way in hell I'm touching that without an editor that deeply understands Java.


There are multiple variables in your equation. You may be altering the wrong one.


I was editing for brevity, there are some awesome things about my job that balance the terrible.


What are you talking about? His job?


Java.

Seriously, it's a language sufficiently verbose and inexpressive to effectively require an IDE. If you're just going to be generating 70% of your code from your IDE, why is it there in the first place?


Languages don't just fall into two black and white categories of whether or not it requires an IDE that understands the language. It's a spectrum, which means that all languages should benefit from an IDE that understands the language. If not, then you've just found the perfect holy grail of computer languages. Until then, face the fact that language integration is nice.

Unless I'm missing something, specialized non-VIM IDEs tend to be much better at auto completion (especially in C++), jump-to-definition, refactoring, etc. IDE users (who typically are ignorant to VIM) can use these features with extreme productivity. On the other hand, VIM users tend to be rather ignorant of how incredibly productive you can be and how nice it feels to have these powerful context-sensitive tools at your fingertips (and sorry, but CTAGS is useless). Regardless of what IDE you use, nobody can deny IMO that having an editor look up APIs and function lists for you in a context-relevant manner is productivity-boosting versus the alternate of scanning headers manually.

So in this sense I think both VIM/EMACS and IDE users are ignorant to other editor paradigms. What I don't like is how each party tries to claim that their method is the best, without having truly tried both.

I've used both extensively (used VIM for years) and I prefer IDEs by far, but that's just my personal preference.


I've used both IDEs (Eclipse, IntelliJ IDEA) and Emacs. Originally I preferred the IDEs, but then I learned how to use Emacs properly. Besides, Emacs actually combines the best of both worlds for some languages like Scala or any sort of Lisp. (But, notably, not Java.)

I may be crazy about Emacs, but I'd probably still use an IDE if I had to do significant Java development. This says far less about IDEs and editors than it does about Java: I'm going to try very hard not to do any significant Java development in the future, thank you very much!

And that's really the entire point of my earlier post: it was not in favor of editors or IDEs, it was in favor of not using Java. Java is a poor language cursed with a good implementation: it's too good to die but not good enough to use.

A common argument I hear from people defending Java is that their IDE can generate half their code for them. And that was what I was really responding to: if you can use a tool to automatically generate all that code, it should just not be there in the first place!

Your experiences using an IDE for Java say as little about the relative merits of an IDE or text editor as experiences using Emacs on some Lisp: they're both extreme cases. And, more importantly, the reason normal editors are poor for Java, and the reason that SCdF is not touching a normal editor, are endemic to Java and not to the other tools.


You spend as much time reading code as writing it. An IDE that can show you context relevant info at all time and facilitate browsing is interesting in any language. (like where is this set, where else it is used, what the doc for it, ...)

You can also see it as a "problem" of the language if you cannot create an IDE that improve your productivity over a text editor.


Again, what you say is equivalent to saying "I quit". Not everyone has the luxury to choose all the tools he works with.


Now is a great time to quit: the job market is crazy for software developers. Maybe you don't have the luxury of choosing what tools to use, but you certainly have the luxury of choosing where to work!

Unless you're planning to stay at your current company forever, this is as good a time as any to try something new. Put some excitement into your life :).


Actually I wasn't talking about myself. So far I've only been working part time as a software engineer during my studies and I want to start a company next year. So, IF it works out, I could have that luxury. But I still find it a bit silly to tell someone to quit his job just because his current tooling doesn't involve vim or emacs. Tools are just that. Tools. And IMO Java is just fine if you use it where it is the strongest: enterprise business applications. As long as you don't try to push it to places where performance / power optimization is relevant (I'm looking at you, Google -.-).


Actually, I could live with using an IDE. And most places let you use Emacs if you're crazy enough. (I know both from others and a bit of personal experience :P.)

It's the Java that would really drive me off the wall. Even in enterprise business applications (which aren't fun as is), Java is exceptionally annoying. But it is easy to hire for!




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

Search: