Most of the GNU Emacs integrated environment is written in the programming language called Emacs Lisp. The code written in this programming language is the software-the sets of instructions-that tell the computer what to do when you give it commands. Emacs is designed so that you can write new code in Emacs Lisp and easily install it as an extension to the editor.
(GNU Emacs is sometimes called an "extensible editor", but it does much more...