Anders als viele andere Programmiereditoren kann Emacs mit nicht-proportionalen Schriftarten umgehen, Textteile verbergen und ist umfassend programmierbar. Wo viel Licht, da auch Schatten: Emacs ist berüchtigt vor allem für seine steile Lernkurve (was er mit seinem historischen Konkurrenten, dem Editor Vim teilt). Dann sind da seine als kryptisch verschrienen Tastenkürzel (weswegen Spötter behaupten, Emacs sei ein Akronym für die Tasten Escape - Meta - Alt - Control - Shift).

Außerdem ist Emacs in Emacs Lisp programmiert, einer Variante der Programmiersprachenfamilie Lisp, die Ende der 1950er Jahre von John McCarthy erfunden wurde. Lisp hat eine eigentümliche Syntax, in der vor allem runde Klammern ins Auge springen, weswegen böse Zungen sie als Abkürzung für “Lots of irritating, superfluous parentheses” bezeichnet haben (eigentlich steht sie für “List processing”).

Obwohl Emacs Lisp ein vergleichsweise simples Lisp ist, ist es vor allem auch wegen seiner von den heutigen Mainstream-Sprachen abweichenden Notation ungewohnt und das trägt zur steilen Lernkurve von Emacs nicht wenig bei, denn Emacs wird mit Emacs Lisp konfiguriert und ist - abgesehen von einem kleinen Kern in C - vollständig in Emacs Lisp implementiert.

Emacs ist eine Mischung aus Programmierumgebung und Editor. Darin ähnelt Emacs vielleicht ein bisschen Smalltalk-Umgebungen wie Squeak oder dem davon abgespaltenen Pharo. Es gibt den Scherz, Emacs sei ein großartiges Betriebssystem, aber ohne vernünftigen Editor. Tatsächlich sind zu Emacs ziemliche viele Erweiterungen in Emacs Lisp geschrieben worden, die im Prinzip die Funktionen von eigenständigen Applikationen haben, darunter Shells, Music-Player, Dateimanager, Email-Clients und mindestens ein halbes Dutzend Notizverwaltungen, darunter vor allem org-mode.