I come from a long history of using simple notepad as a text editor and have only rarely explored IDEs - Eclipse, NetBeans, Aptana.
In fact I only a few years ago switched to Notepad++, a more powerful text editor but not an IDE
Be aware though, that for me coding is not as an employee but more as a “fun hobby”.
I code by myself, for myself, what I want, when I want, no deadlines or specs (but also no income). I am also a “scientist” and tedious monotony is not only not a problem for me, in some ways it is even therapeutic.
IMHO using an IDE has advantages especially if you are part of a team or relying on coding for income.
For me the “learning curve” vs the benefit has so far proven to be not worth it. My experiences with the IDEs were more “this is interesting” that anything I felt I should spend time learning in depth.
- But - I learned using plain text editors. This forced me to learn the hard way how to do things right and while figuring out why something didn’t work as expected I learned yet more.
I feel that IDEs are “tools” and should not be used as “crutches”. That is a coder should know what the code is all about and only use the IDE to make the work easier and faster.
That said, one thing I think anyone who is going to code for a while should do, with or without an IDE, is think about version control. I have learned the hard way that keeping different files of the same code can get real messy real fast. Many IDEs will handle this for you and save you from mental anguish.
Have you installed Ember Inspector?
I love Visual Studio for C#/.NET projects.
I love Eclipse for anything Java related and even some C/C++ efforts.
But when it comes to Perl, PHP, Ruby or any other dynamic language, I’ve immediately hated any IDE I’ve ever tested.
With statically typed languages, the IDE can leverage type information and class declarations for all its little helpers. It helps by auto-completing keywords, class names and function names. It can offer a full class hierarchy browser.
Dynamic languages, however, have no type information. Often enough, there aren’t even static class declarations. You’d need to run the program to figure out what classes and methods exist, so all the little helpers suddenly fail, yet you’re still paying the price: you still have to have projects and workspaces; you have to deal with the IDE’s ideas of a default project layout; you still have to make the UI happy instead of working on your code.
And that’s why I, too, use a plain old text editor when working with Discourse… except that it’s not that plain:
This is Sublime Text 3, a text editor on steroids. You can use it as a plain text editor, but you can also have lightweight projects. It can parse a wide range of languages, can find keywords, class names, method names and other symbols rapidly in the entire project, and lets you open their declaration at the touch of a button. It’s fantastic at moving around files quickly. It does auto-indent well, it supports every kind of encoding imaginable, it has autocompletion and snippets, it’s customizeable with a vast range of plugin packages, and it’s fast, free of lags, delays or flickering when UI elements are shown.
Sublime Text! I have that as well. The search capabilities spanning multiple non-consecutive folders is worth the price. I use that for everything. I’m in @Mittineague’s camp, in that I stick with souped-up notepads. I switched to Sublime Text from using Notepad++ for years.
Can’t believe I didn’t find that thread when I searched. Thanks! Lots of good posts in there.
Like one of the folks in the thread, I would love being able to see the origin of methods and stuff, just like I can with Java. Makes it really easy to figure out how things work. Seems like my best bet is WebStorm or RubyMine by JetBrains.