Emacs, modern editörlere rağmen kullanıcıların vazgeçemediği köklü bir araç olmaya devam ediyor. Yazarın deneyimleri ve diğer kullanıcıların hikayeleri, VSCode veya Cursor gibi platformlara geçiş denemelerine rağmen Emacs'e geri dönüşün yaygın bir durum olduğunu gösteriyor. Kullanıcıların Emacs'i tercih etme nedenleri arasında, editörün derinlemesine kişiselleştirilebilir yapısı, "üzerine dikilmiş bir elbise" hissi vermesi ve OrgMode, Magit gibi benzersiz ve vazgeçilmez araçlara sahip olması yer alıyor. Ayrıca, büyük teknoloji şirketlerinin kontrolünden uzak, Özgür Yazılım Vakfı'nın özgür yazılım ruhunu taşıması da Emacs'in sadık bir kullanıcı kitlesi edinmesinde önemli bir rol oynuyor.
Makale, Emacs'in sadece bir kod editörü olmaktan öte, aslında C ile yazılmış bir Lisp runtime olduğunu vurguluyor. Bu tasarım felsefesinin kökenleri 1970'lere, MIT AI Lab'deki hacker'ların TECO adlı metin editörünü kullandığı döneme dayanıyor. TECO'nun karmaşık komut dizilerini kolaylaştırmak için yazılan makrolar zamanla büyüyüp karmaşıklaştıkça, değişkenlere, koşullu ifadelere ve döngülere ihtiyaç duyuldu. Bu noktada, Richard Stallman ve Guy Steele, makrolar bir programlama dili gibi işlev görüyorsa neden gerçek bir Turing-complete programlama dili olmasın diye bir karar aldılar.
Bu stratejik karar, Emacs'in (Editor MACroS) doğuşuna yol açtı. Editörün kendisi programlanabilir hale geldi, böylece kullanıcılar onu canlı olarak genişletebilir ve geliştirebilirdi. Başlangıçta TECO'nun makro dili kullanılırken, daha sonra GNU Emacs, Lisp'i benimsedi. Lisp, basit sözdizimi, güçlü makroları ve küçük, esnek yorumlayıcısı sayesinde canlı özelleştirmeyi kolaylaştırdığı için doğal bir seçimdi. Lisp makinelerinin ticari başarısızlığı ve C'nin endüstriye hakim olmasıyla birlikte, Stallman Unix üzerinde özgür bir Emacs istediğinde Lisp ortamı yoktu. Bu nedenle, bir Lisp sanal makinesi ve yorumlayıcı çekirdeğini C ile yazarak Lisp'in gücünü modern sistemlere taşıdı.
Emacs'in temel tasarım felsefesi, onu sadece bir metin editörü olmaktan çıkarıp, kullanıcıların derinlemesine özelleştirebildiği ve genişletebildiği güçlü bir programlama ortamı haline getirmesidir.