Why spend so long worrying about your IDE of choice when they are all effectively glorified text editors?
edit: I'm glad that my comment provoked such a fantastic discussion
Why spend so long worrying about your IDE of choice when they are all effectively glorified text editors?
edit: I'm glad that my comment provoked such a fantastic discussion
Why spend so long worrying about your Hammer of choice when they are all effectively glorified Rocks?
Will it make me type faster and think faster? I spent 6 months working in a doctors office were I had to type every word spoken for 7 hours a day, the block here is not my efficiency, it is in fact my intelligence.
No, but syntax highlighting greatly enhances code readability and your brains ability to recognize what types of objects or properties or functions are being represented in code. Associating the color blue with a variable declaration, for example, is just there as a visual cue or shortcut for your brain.
I understand your point that it can be done perfectly fine with notepad, but let's not pretend that these visual cues don't give your brain a jump-start.
But I still pose the question, why is it worth the time to learn what is considered a complicated IDE (if it needs to be taught)? Would the time not be spent better, say, being genuinely productive, rather than merely preparing for future productivity?
We live in the here and now, my boss wants to hear that my project will be done on time, not that it will be a week late because I need to learn the more fickle aspects of an IDE he didn't sanction before I can finish it.
Little things like jumping to a function with pressing a button, or finding all things that are referencing a function\class\etc are extremely useful, but certainly not necessary. Then things like intellisense are a godsend.
That being said, a lot of my time is spent out of visual studio, but with Sublime Text which add's a lot of things that simply make me have to type less, and focus more on the actual task at hand.
why is it worth the time to learn what is considered a complicated IDE (if it needs to be taught)? Would the time not be spent better, say, being genuinely productive
Why delegate work when that takes time you could spend doing the work yourself? Because you can't do everything. At some point delegating starts to pay a return on the effort.
The goal is for You + Computer to create a system which is greater than the sum of its parts. For you to use the computer as an external brain.
If it's just you and notepad-as-typewriter, you're doing all the work.
You shouldn't spend a week learning about an IDE feature in the middle of your project, but you should eventually spend ten minutes to learn to write a macro instead of making the same change seventy times, and maybe you should spend an hour and a half wiring your editor up to your favorite static analyzers and compiler so that you can test and debug your code quickly over the next month.
Vim is very well suited to programming because we spend a significantly longer time thinking about, navigating and modifying code than actually writing it.
That's how most people do programming and Vim is ace for all of that thanks to:
* text-objects and motions to fly through your code and edit with laser-like precision in as few keystrokes as possible
* counts to perform repetitive actions in a flash
* ranges for when you want to act on a specific part of the file
* incsearch
* :global
* macros
* :s/foo/bar
* etc.
When it comes to actually write new code, Vim doesn't help much. Well… if you don't consider:
* filename completion <C-x><C-f>
* keyword completion <C-n>
* line completion <C-x><C-l>
* <C-r>= to insert the result of an expression
* <C-y> to input the char above the cursor
* etc.
But then again, we are talking about programming, here, and nobody ever pretended that Vim was the answer to every problem. Or even your problem, for that matter.
In a situation like yours, I'd probably use something like Dragon or simply use stenography like my secretary mother did 30 years ago. I'm very much in love of Vim, actually, but I wouldn't recommend it to anybody that is not a somewhat experienced coder. And even then, there's an entire population of programmers who spend their days generating code, fighting against OOP hell and refactoring refactorings. Those people would probably not derive any benefit from using Vim. Just like you. And nobody is trying to sell them Vim. Just like you.
Use the right tool for the job.
Notepad++ with its syntax highlighting is awesome.
When I get home it's anything from C++ to Java, but occasionally in my spare time I throw together the occasional Python script (and once, Ruby, when I was working with a program called GameMaker which accepted plugins only as DLLs or imbedded ruby scripts)
You can certainly code in Notepad, and you can write code with "cat > filename" too. Most of us that have had even the slightest exposure to more powerful editors dismiss Notepad as "Not the Right Tool for Programming", in much the same way that a chef will dismiss a butter knife (or a spoon) as not a proper tool for slicing vegetables. Consider that there may be some merit in such an assessment, and that there may be ways in which other editors may serve you better.
If you _seriously_ use Notepad regularly as a programming editor, I urge you to try Notepad++ or Komodo as an alternative for at least a WEEK, and see what you like better about Notepad. This will help you overcome the initial unfamiliarity enough to see the things that they offer which Notepad does not.
In the other editors: - You can open more than one file easily. - They will re-open what you last had open, if you like (I do). - Komodo will recognize nearly every format you might be coding in, and color-code it in a way which helps reduce errors, because you can immediately see when the color coding is different from what you expected. - Some editors will flag syntax errors as you type.
Give it a shot. Try another editor. Nearly any other editor. I personally enjoy using Komodo at home and at work. Sublime Text 2 is beautiful, though its keybinds do not agree with my muscle memory. Notepad++ is free and awesome.