A properly configured and well-curated collection of packages will yield an exceptional experience using emacs - if you're into that kind of thing. Add in some custom elisp and you're well on your way to a fully customizable development environment.