Recs.
Updated
SpecsUpdate
Pros
Pro Total customizability
Customizations can be made to a wide range of Emacs' functions through a Lisp dialect (Emacs Lisp). A robust list of existing Lisp extensions include the practical (git integration, syntax highlighting, etc) to the utilitarian (calculators, calendars) to the sublime (chess, Eliza).
Pro Emacs provides magit, the best and most complete GIT interface
Complex git history editing become a breeze with very few keystrokes. And simple ones are quickly stashed in muscle memory. Git becomes an direct extension of your brain thanks to Magit. Cherrypicking, blaming, resetting, interactive rebasing, line level commit, spinoff branches... you name it, magit already has it and has typically all those 5 to 10 git CLI commands of higher-level patterns also tide to one simple shortcut (want to amend a commit three commits away ? forgot to branch out and you've got already N commits on master
? ... etc... ).
Pro Self documenting
Emacs has extensive help support built-in as well as a tutorial accessed with C-h t.
Cons
Con User interface is terrible
Emacs existed in the early 1980's, before there were GUIs. In fairness to Emacs, its original design was conceived in that context and is rather good at some things, like flexible ability to bind commands to keyboard shortcuts. Unfortunately, it didn't keep up with the times and fails to take advantage of the entire world of GUI design that's revolutionized computer science since then. So Emacs does 5% or what an editor should do quite well, and is surprisingly under-powered and old fashioned at the other 95%. To this day, it lacks or struggles with very basic things, like interactive dialogs, toolbars, tabbed interface, file system navigation, etc., etc. Those things are all present in some limited and inept form, but falls far short of current standard of good user interface design. For this reason, Emacs can not be recommended to anyone who is under 50 year old, or who needs power user capabilities. For casual, unsophisticated applications by someone who grew up with green screen character based computers, it's probably OK.
Recommendations
Comments
Flagged Pros + Cons
Pro It's also an IDE
You can debug, compile, manage files, integrate with version control systems, etc. All through the various plugins that can be installed.