This is true. I think the typical approach with Emacs is to leave 1 instance open for a long period of time and just keep coming back to it. (This is what I do, anyway.) I don't think this is any worse in general than opening and closing the editor as needed, it's just different. Especially when you consider that you can run terminals/shells within Emacs, it's a completely inside-out workflow. Instead of:
1. do a bunch of stuff at the terminal
2. need to edit a file
3. open my editor
Once you've gotten to step 2 you're already in your editor!
I run up an emacs server on startup and use emacs client to connect to it. It gives me the instant on of VI, plus the power of all the plugins and tweaks I've made to my emacs config.
These days, most coders using vim or gvim have a pretty large config setup which takes as long as emacs to startup anyway.
There's a reason why vim has support for multiple buffers. That you can keep multiple files open simultaneously. Read about vim remoting, and you can use a single gvim instance (which offers better performance and font rendering), and edit all files in just that.
Even in emacs, buffers are everything. Nobody opens a new instance of emacs for each file.
To sum up, nobody sane opens a new Emacs for each file. VISUAL=emacsclient is your friend, as are Dired and M-x compile....