Recs.
Updated
A robust text editor capable of achieving whatever it is the writer wishes. It supports a plethora of programming languages and other faculties of text editing. Yet its advantages do not stop there. If one wishes to delve into the wizardry of Emacs, they can use it for email, web browsing, organizing ones life and so much more. With all these factors pertaining to the sovereignty of Emacs, only one question remains. What is stopping you from beholding its power?
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.
Pro Can handle anything you throw at it
On a 64 bit system, Emacs can handle pretty much any text file.
Cons
Con User interface is terrible
I was using Emacs 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 will, 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. The things I just mentioned, are all present in some limited and inept form, but falls far short of current standard of good user interface design. For this reason, I would not recommend Emacs 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.