A more experienced colleague: "Pah, that's just a crutch". Well, yes. And?
My personal tipping point was watching a sysadmin edit resolv.conf and type "namesrever": vim picked it out in reverse red. This mistake could otherwise have gone unnoticed for a while. Good crutch.
That said, I'm completely the opposite when it comes to the command line. I think colour coding can add a lot (ls for example) but it has to be light-on-dark or not at all. Funny how that works.
It's ... meta-syntactic-highlighting for your entire desktop! Different types of windows are colored differently, just like different kinds of identifiers in one window.
By the way, something is wrong: my Vim isn't responding to ":set background=light" (or dark). The colors change, but not the background.
I believe that the color scheme is crucially important; it's a form of ergonomics. Bad colors will lead to fatigue.
Certain choices are obviously bad, like hues that make comments or other elements almost impossible to read; insufficient contrasts and so on.
I found it weird he was so deriding towards syntax highlighting.
People often think they are acting logically when frequently they are working backwards to write narratives that justify the way they choose to act.
Looking at code without coloring is like looking at a road atlas that has been photocopied in black and white.
Even some grayscale cues are better than nothing.
I actually run the Vim editor dynamically out of Apache to colorize TXR files. You can see that here and here:
http://www.kylheku.com/cgit/txr/tree/share/txr/stdlib/struct...
http://www.kylheku.com/cgit/txr/tree/tests/010/align-columns...
The second example shows a mixture of two languages: a Lisp dialect and an extraction language. Both have their own sets of standard symbols (which intersect: there are some symbols in common). They are correctly rendered in a different color: the Lisp words are green, and the extraction language words are burgundy red. This kind of thing is very helpful.
The Vim definition I maintain is quite accurate --- and not only for correct programs. I stuffed in rules so that errors are boldly flagged. For instance, even little things like using an undefined escape sequence in a character string or regex literal. (And it knows the exact set for all literals.) This works remarkably well; hardly any typos I make get by it.
Syntax highlighting definitions also help with formatting; they provide the editor with nesting cues for indentation.
Working without this stuff this day and age is completely silly.