The SitePoint Forums have moved.

You can now find them here.
This forum is now closed to new posts, but you can browse existing content.
You can find out more information about the move and how to open a new account (if necessary) here.
If you get stuck you can get support by emailing forums@sitepoint.com

If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.

About a 30% increase in productivity at most. There was a classic study in which programmers had to use their favourite editors and a minimal benchmark one. The resulting improvement? The absolute best was 30%, with most showing next to no difference and some beloved tools came out negative. Sorry, I don't think there is a link as the study was old. From memory there is more information in "Facts and Fallacies of Software Engineering" by Glass.

I personally tend to go for simple tools and set my own bar at syntax highlighting, tabs as spaces, and a basically sensible mouse driven interface (so I don't have to learn lot's of keystrokes). I tend to use Komodo (works on Linux) and when I have to use Windows I'll use UltraEdit or possibly PHPEdit. I tend to use the Unix command line (or cygwin) for searching and major pieces of text manipulation. I don't memorise these commands, I just type...

Code:

egrep --help

Don't spend too long searching for tools. I would expect an improving programmer to double their productivity every 1-2 years anyway. Software development skills are more important than tools.

Rightly or wrongly I have always used notepad to develop my PHP applications. I have always found it very quick and easy to use

What? Are you kidding? Quick? Easy? Compared to what? Having to chisel your program into a granite tablet?:'(

I would think the first thing to motivate anyone to abandon Notepad is the lack of line numbers. When you get an error on a certain line, are you currently counting the lines by hand to find your errors?

I used to do a lot of local php development on my pc, and after about my first 3 programs, I switched to EditPlus. Here are some of the things you can do with EditPlus:

1) When you open a new php file, EditPlus doesn't open a blank file. In the file that opens, there is an outline of the html you always use. Any type of program file you can open with EditPlus, e.g. C++, Java, php, html, etc has its own corresponding template file. You can change the template file to anything you want, and then when you open a file of a certain type, whatever is in its template file is displayed. That saves you having to type all the mundane stuff at the start of every program.

2) I think EditPlus's best feature is auto complete. There is an autocomplete file corresponding to each file type you can open. When you open a php file, the php autocomplete file contains shortcuts you can type instead of having to type out the whole command. For instance, when I want to add a for-loop, I type 'for' and hit the spacebar, and this is what is displayed:

for(var i = 0; i < | ; i++)
{
}

The red mark is where the cursor ends up, and I just fill in the maximum value for i. The result is I don't have to type out the whole for loop. You can determine where you want the cursor to end up as well. Another example, Java has interminably long commands, like:

System.out.println("some string");

I have my Java autocomplete file set up so that when I type "Sys" and then hit the space bar, the rest of the code is typed for me.

You can very easily change the autocomplete file on the fly to add shortcuts for any long variable names you repeatedly find yourself typing. In addition, you can add things to the autocomplete that you find yourself repeatedly typing from program to program.

3) Ever change a variable name, which repeatedly results in errors because you have track down all the places the variable appears that you didn't think of? You can use search and replace to easily change all the places the variable appears in the whole program with one click.

4) You can set up EditPlus so that your browser executes your php files inside EditPlus. At the click of a button, the results of your php file will display in a window inside EditPlus.

5) Spell check for common text files.

6) An HTML toolbar that you can click on to automatically insert various html tags at the cursor. (Do you really type those by hand?)

7) Line Numbers, custom syntax highlighting, font settings(ever use a font where a 1 and an l look exactly the same? O and 0?), and about 200 other features.

EditPlus costs around $30 and there are other similar commercial text editors like TextPad, as well as open source text editors. Pitch Notepad lickety split and find out what a real text editor is like.

I would think the first thing to motivate anyone to abandon Notepad is the lack of line numbers. When you get an error on a certain line, are you currently counting the lines by hand to find your errors?

About a 30% increase in productivity at most. There was a classic study ...

Fascinating!

I was searching for the classic study and also couldn't find it, but I found a couple other related tidbits.

One is Amdahl's Law, which suggests that improving the speed of a task is only as important as the time spent using the task. So, for example, if a special editor speeds up one task by 2000%, but you only do that task 5% of the time, your overall productivity doesn't change much.

I think too many people are concentrating on the editor side. I use Zend because it does more than just edit files. I have found the build in debugger and profiler a great help lately. Whenever I try something new I run it through to see some before/after of the code I've written and it's been a great help in finding areas of my code that need to be improved.

Aside from the profiler I've found the Zend auto-complete to work best for me. I've always seemed to have trouble with editors auto-completing functions from my own classes. I also love being able to hit F1 on any function and getting an opened manual page. It's just one more shortcut that makes life handy.

That being said, when a quick fix is needed nothing is faster than ssh, vi filename /string and a cw for that quick correction.

mitechie.com
"Techies just think a little differently
...at least that is what they keep telling me."

I would hand over $299 to Zend right now if you could actually disable the auto-indentation system it uses. I can not stand over zealous auto-indenting and Zend Studio is the absolute worse. Here's how it goes:

1) Edit a line and hit enter to go to the next line
2) ZS will automatically indent to the same start point as the line before - that's fine
3) Press delete to go back to the edge - that's fine
4) Press enter to leave a line blank and ZS will jump back to the starting point of number 1 on your new blank line

This is enough to drive me mad, as if you don't take care you end up with lines that should be blank starting with spaces. I've tried all combinations of settings and have tried it on my Mac and PC and get the same thing.

Oh good grief, not another "what editor to use?" discussion! Stop already. The question is about as useful as "what car should I buy?" I am sure the vehicle you chose perfectly achieves being parked all day and the hour of highly unusual driving you do. The difference between most editors is the difference between cup holders. You can test drive editors. Just download some interesting ones and see if you like where the cup holders are.

I agree with lastcraft that is the to whole tool chain that you use that makes more of a difference.

Oh good grief, not another "what editor to use?" discussion! Stop already. The question is about as useful as "what car should I buy?"

I found question very useful thanks as I now have a list of editors to try. You don't know if you don't ask!

What? Are you kidding? Quick? Easy? Compared to what? Having to chisel your program into a granite tablet?

I honestly didn't find notepad quite THAT bad! I certainly don't think it's a bad thing having used notepad for so long. It's amazing how quick you get at spotting syntax errors. As seanf said, it has line numbers so no counting required! If you're quick at typing and generally acurate with coding notepad isn't that bad.

Thanks to posting this question though, I am now getting on very well with Crimson Editor, it has all the extra features I wanted that notepad hasn't. Thanks for your input everyone.

I was searching for the classic study and also couldn't find it, but I found a couple other related tidbits.

Fascinating back at ya ! I enjoyed those.

Originally Posted by samsm

I am curious how old that classic study is as I could see the margin growing as editors (hopefully) improve. Any estimate on that time frame?

One interesting development is refactoring support, which is something I miss. Being able to effectively rename a method in one go without a costly search and replace is a real time saver. It's these strategic higher level operations tuned to developer needs that will bring some real gains I think.

Bleh. I don't really care for heredoc, but I used it in the past and all the editors I've used highlight it as PHP. So everytime you wrote an apostrophe (or quote), you would have to write a <!-- ' --> after it.

But I actually prefer to have a big single-quoted string.

BBEdit does it right.

Heredoc can be useful sometimes. If you're taking output from cpanel, for example, the cpanel tags are parsed before the PHP. You can't guarantee they won't contain quotes of either type, so you have to use heredoc.

I'll second HomeSite. Especially for newer programmers the different font colors for the different types of code are great. For a page you haven't really looked at yet it realy puts things into perspective.

i agree with linmed01.
i used to use notepad, and i know it is hard to find errors, but on theother hand it makes you a good debugger.

No, Notepad really is awful. There are many problems with it which are not obvious, it messes up files as it automatically changes carriage-returns/line-feeds, screwing up files that get interchanged between Linux and Windows (and there's no way to disable this). It does other similarly bad things with Unicode (appending a certain byte signature at the start of a text file which is ONLY ignored by Notepad, but gets interpreted as nonsense by every other program) and its word wrap feature. I think you'll be surprised how many of the problems you may have ran into in the past that you gave up on (or blamed another application on), without realizing that it was actually caused by Notepad.

So I don't even think it is a subjective thing. It's just plain bad. It's like a broken plane. You can't really argue that it'll make you a better pilot if you always fly a plane with one wing... yes, it would be quite a feat, but it actually makes you a worse pilot for taking the higher risk of causing a crash (and inevitably, having more crashes).

The ONLY legitimate excuse to use Notepad is if you don't know any better. And no, Dreamweaver is not much better for modifying PHP and anything non-HTML.

I should add, that I do use Notepad, but not for editing PHP, or for any development work. I use it to get to my "todo" list quickly, and when I need to make very slight changes to a text file, simply cause it starts up quickly and I have it binded to F4.

So i'm not saying it's the bane of all evil or something. Just that, it is not at all suitable for development work.

Well, I may as well add my own thoughts. My journey through editors went something like this:
ISP's web based templating system
MS Publisher - save as web page (Ugh!)
MS FrontPage Express (when I came across it on my computer one day)
Notepad (once I gained a bit of html knowledge and realised how bloated Frontpage code was)
Wordpad (Found it a bit nicer to use than Notepad)
HotDog (line numbers and syntax highlighting was useful when I started coding in Perl. Other useful features as well)
DzSoft PHP Editor (When I started using PHP and HotDog couldn't handle it as well as I wanted - particularly for syntax highlighting)
EditPlus (Never looked back - nor sideways - since)

The features I find most useful:
syntax highlighting
line numbering
templating
menu bar "one-click" html tags
tabbed windows for working on multiple files at once (and side by side viewing in window split)
search/ search & replace.
indentation tabs as spaces
matching brace finding
the ability to change blocks of text to upper case, lower case, or capitalised (especially when updating old files with upper case tags)
linefeed formatting (PC/Unix/Mac)