
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. This introduction to Emacs Lisp is designed to get you started: to guide you in learning the fundamentals of programming, and more importantly, to show you how you can teach yourself to go further. This manual is available online for free at gnu.org. This manual is printed in grayscale.
An Introduction to Programming in EMacs Lisp is also good for the first few chapters even if you don’t use emacs because you are given fundamental concepts of lisp that can be applied to the understanding of other dialects. It’s also free.
Learn you a Haskell (despite Haskell being not a flavor of list, they share similar DNA ) is great at understanding functional programming with lisp like languages.
Understandably, some people complain that it shouldn't need a tutorial or the defaults are bad. There's validity to that angle. There's also validity to Emacs pre-dating GUIs, the IBM keyboard, and the x86 instruction set. Once you get past the history of windows and killing, you can explore. The history is also super interesting!
https://www.emacswiki.org/emacs?EmacsHistory
https://dl.acm.org/doi/abs/10.1145/3386324
After you've read the tutorial, go wild. Try stuff out. Break things. Fix them. Learn your limits. Learn that there are very few limits imposed by Emacs itself.
Hands down, the best resource for Emacs is Emacs itself. Especially, the Emacs manual and the Elisp manual. The "An Introduction to Programming in Emacs Lisp" is also excellent if you're not familiar with Lisp. Learn to read Info files and learn the help system (basically C-h f and C-h v)
https://www.gnu.org/software/emacs/manual/
Emacs really is a flagship of Freedom, with all its pain and glory. It lets you exist at the threshold of your zone of proximal development. Every bit you put into Emacs, you get a return on investment.
Welcome to the Emacs community! It's full of weirdos and wizards, as well as regular folk. Stick around and I'm sure you'll make friends in no time.
Next, read An Introduction to Programming in Emacs Lisp. It's a lovely book and fun to read: https://www.gnu.org/software/emacs/manual/html_node/eintr/in...
Learn to read and work with Lisp by reading the Emacs source code and playing with it.
Check out the Evolution of Emacs Lisp. It's a neat little Lisp! https://dl.acm.org/doi/10.1145/3386324
Emacs has the best documentation and documentation system ever made. Learn C-h f, C-h v, and friends, as well as the info system and the power of indexes.
I hope you find joy and wonder exploring Emacs and Emacs Lisp like so many others have for nearly 40 years!
You can see the language work, by looking at the code.
It may not get me a fancy computer job, but I think I am happier on the whole anyway, giving myself to lisp. Something therapeutic about it.
Once you have that foundation, you shouldn't have much trouble scratching whatever itches that arise. The community is thriving so often a web search will return a blog or video explaining how to do exactly what you want. And once you're familiar with it, Elisp is a fairly readable language, so you can learn a lot from looking at the source for other packages to get ideas.
Edit: Sibling comment for Advent of Code is also a solid idea. Arguably Emacs's greatest strength is that it's a fantastic Elisp development environment.
It looks like it's been kept up to date and you could do worse than starting there, especially in an Emacs context.
Here is the online version in case you don't know how to navigate info manuals yet: