Every program was made in an environment, a programming environment (not necessarily suitable to the task but possible). Text editors like notepad, gEdit, textEdit, and others are multipurpose text editors that a programmer can program in and that ordinary ( I mean non-programmer) user can use to take notes or to do ordinary, non-programming tasks.
But “editors” like emacs and vi (or vim) are editors suited to be a programming environment that the programmer can easily and efficiently use to write seamlessly. These editors can also be used by non-programmers (although I think it might be too complex for the average user). Emacs, for example, can be used as a browser and a mailing agent (used to read and write email). These functionality make these editors popular and extremely useful.
However, to the programmer (I mean the intermediate/hard-core ones), these editors (emacs and vim) just provide them with enough functionality to make programs and build systems. They can run through the whole cycle of making programs as fast as possible (writing, debugging, building, refactoring using hot keys, addons, and plugins). Some programmers claim that with emacs you can write a thousand lines of code in an hour. I can’t do that now because I am not an expert user of emacs but some of my friends who have been programming for some time in emacs now can.
I started programming using netbeans (bad choice). Why did I say it was/is a bad choice. It is good/useful for the fledgling programmer to gain an understanding of how computers work and how the development cycle actually works barebones. When I started using netbeans, I would write java programs and then click on the compile/run button without even understanding the underlying process of compiling and running the program. When I came to college, we were made to use TextWrangler. Although this editor is not the best programming tool, I could write programs and debug (frustrating process!) and therefore understood what was going on under the hood in the computer. I understood how the computer works and the write-debug-compile-run process. I process that a complex IDE like netbeans shielded from me.
IDE’s!! Yeah!!! They are great. They enable you to do a lot of things seamlessly and easily. You don’t need to get out of an IDE when writing code. You can write, debug, compile, and run in the same place. But a word of caution for the beginning programmer. IT IS BETTER TO START WITH A PLAIN TEXT EDITOR! With a plain text editor, you get to understand the internal structure of the development process. However, for the expert programmer, it automates most tedious functions and he will be able to program better and faster!
That was why I even came to write on this blog. What IDE/text editor should I use. With time and experience, I have more tasks at hand and I feel an IDE will make me program better. IDE’s for web development include Netbeans, Eclipse, Komodo Edit, and others. But are these going too complex for me to use. I hope not! I honestly don’t know which IDE I should use/try.
I think I would continue with emacs/gdb (debugger) and then stretch out my hands to Eclipse after some time. I know that I would eventually have to use an IDE because Web Developers do to automate a lot of their tasks (eg. writing, uploading, and publishing).
Another argument just popped into my mind. Dreamweaver (WYSIWYG editors) or editors. Should I write raw HTML in editors or should I use a WYSIWYG editor to write pages/code? Let’s see what happens.
I will start to explore as soon as possible. Let us see what I end up with eventually.
What editor do you use? What IDE do you prefer?