|
During the period of about 10 years that I was using Emacs as my main editor, I invested countless hours in mastering Elisp, configuring this and that, writing custom functions, fixing abandoned minor modes that I still found useful... It was literally all over the place. At some point, the list of things that were broken/didn't work well for me got quite long, and I became dissatisfied enough to stop what I was doing and start going through various elisp packages, trying to understand what was really happening. Let me say first, that I really admire and respect the potential of Lisp. When the code is well written, it is elegant, reasonably comprehensible, and malleable. However, when the code gets sloppy or unnecessary levels of abstraction are added to 'just make things work', it quickly becomes inscrutable. I kept running into package after package of this kind of poorly written, inscrutable Elisp. One package was using EIEIO (object-oriented Elisp) and there were excess levels of indirection all over the place, across thousands of lines of code. Org-tables are pretty neat, but ultimately a fancy gimmick. I had a 7 column table, and after 200 rows, the reformatting became ridiculously slow. After looking through the tens of thousands of lines of org-mode Elisp code, my main question was, "Is all this code really necessary?" I know that org-mode does a lot, but Elisp is a dynamically typed scripting-level language. With macros. What went wrong? |