reddit / emacs

learning emacs ' considering a start'

BeautyxArt · 2022-04-16 01:04
is learning emacs will be good in the future since all linux distros comes with vi ? how long it take me to be good with emacs ? like 2 months ? 'the decision is critical because learn kind of these things is getting better by time , i won't waste any minute' . need to decide which to start because i know it will take time. what you recommend for me ?
lebensterben · 2022-04-16 01:13
learning elisp takes a few hours at most. learning cl-lib takes shorter than that. learning the mechanism of Emacs takes a few days. being familiar and good at those things takes months.
BeautyxArt · 2022-04-16 01:16
>elisp is what emacs based on ?
lebensterben · 2022-04-16 01:18
emacs is a lisp interpreter with editing capability.
takeonrules · 2022-04-16 01:56
Before you decide to learn a tool (Emacs or Vi), what is it you are looking to accomplish with that tool?
jensensanssarif · 2022-04-16 01:58
I think it depends what you want to use emacs for. If you only want to edit plaintext, it's insanely simple - there aren't jokes about people not being able to figure out how to exit or save in emacs. If you want to have it be your all-in-one and borderline OS editor, it takes some time. While someone's already given a timeline of how long it takes to learn things, it's a different time investment for everyone. Building your config for emacs requires you to know elisp, the dialect of lisp that emacs interprets. I haven't seen any major difference from common lisp, but I also don't write full custom plugins. If you don't know lisp or another functional programming language, it's actually a great skill to pick up, and lisp isn't hard to get the hang of once you wrap your head around prefix notation. Then you just need to get the hang of macros and figuring out when you need to add to your config. I love emacs, and how versatile it is. I don't personally think it takes that much time to figure out how to use it, there are even some impressive preconfigured versions that are great starting points imo - spacemacs and doom emacs. That said, download emacs and go through the tutorial/guide that comes with it before making any decisions, it'll give you a good overview of if you'd like it or not. If you don't like it, there are a lot of other fantastic editors out there, and they all tend to have influence on each other.
flexibeast · 2022-04-16 06:11
There's a core written in C, then substantial amounts of Emacs Lisp / Elisp written on top of that. One can change that Elisp code while Emacs is running.
BeautyxArt · 2022-04-16 06:20
which language is better than C when it comes to communicate with HW , or just C the best for that ?
flexibeast · 2022-04-16 06:42
In terms of C vs Elisp, Elisp is definitely not oriented towards communicating with hardware. But "better than C" when it comes to communicating with hardware is very subjective and context-dependent, so there's no single 'right answer'. In some contexts assembly might be the best option; in others C++ might be better; [Zig](https://ziglang.org/) is a new language, currently under heavy development, which seeks to compete with C; and let's not forget Fortran, which is still actively used in high-performance scientific computing.
FatFingerHelperBot · 2022-04-16 06:42
It seems that your comment contains 1 or more links that are hard to tap for mobile users. I will extend those so they're easier for our sausage fingers to click! [Here is link number 1 - Previous text "Zig"](https://ziglang.org/) ---- ^Please ^PM ^[\/u\/eganwall](http://reddit.com/user/eganwall) ^with ^issues ^or ^feedback! ^| ^[Code](https://github.com/eganwall/FatFingerHelperBot) ^| ^[Delete](https://reddit.com/message/compose/?to=FatFingerHelperBot&subject=delete&message=delete%20i4xi31o)
kamui78 · 2022-04-16 08:36
It really depends on your needs. I use neovim for quick edits and Emacs for developing and writing notes. My notes have math notation, screenshots, graphs. Thanks to Emacs I tried the literate development, which is very convenient. I also use Emacs as a Jupyter notebook replacement. It is simply amazing the things you can do with it. Org-mode and Magit just two of the amazing Emacs packages you should check out. To me it was and it is worth it. But I do not put any time constraint on learning Emacs. I consider it a life long journey.
kamui78 · 2022-04-16 08:38
Definitely C, but Elisp role is to allow you to mold Emacs to your needs and create your own workflow. Two different languages for two completely different goals.
Phil-Hudson · 2022-04-16 09:55
The customary answer: https://stackoverflow.com/questions/10942008/what-does-emacs-learning-curve-actually-look-like
[deleted] · 2022-04-16 10:35
[deleted]
klikklakvege · 2022-04-16 14:11
Everything you do in emacs is actually calling an elisp function. You can for instance make a hook that each time you move the cursor up or down some function is called. Emacs has a core in C, so it's fast. It has to be done in C otherwise it wouldn't be fast enough on computers from 1985. The whole point of emacs was that it was fully scriptable in lisp. The community developed so many scripts that run in elisp that people call emacs an operating system. Elisp is a dialect of lisp that was developed for this purpose. The language is so powerful that there are mail readers in elisp. Or a webbrowser. And games. And a therapist! In other words, elisp is a language that specializes in operating on text buffers and emacs is the environment to run apps in elisp. Emacs is tightly integrated with elisp. When you "configure" emacs you are actually developing elisp code. Not only can you add features to emacs text editing, but you can automate everything you do in the editor(once you're proficient in this, but elisp is really not that hard. People simply complain that elisp doesn't look like java. It's not object oriented and had parentheses. I haven't ever heard more serious arguments against elisp. It's super productive and you can easily do everything with it.).
BeautyxArt · 2022-04-16 16:35
elisp is good then , since it's dialect from lisp , i heard about lisp and imo it's good programming language to know 'one of oldest' , good and powerful , but i will be able to stand with differences with lisp and python , because everything 'applications' i use is using python , learning this will not affect on other ? be able to get good at both ..?
klikklakvege · 2022-04-16 16:45
Yes, you can be good in both. All good programmers know a few languages. There were always people who insisted that everything has to be done in xyz because xyz is the best technology although in reality it is the only technology this guy knows. Lisp is for the super intelligent elite. I used python when it's market share was less then one percent. I wouldn't use it extensively in work now because it got too popular and there are too many idiots in popular technologies. If you will learn both elisp and python you have the chance of becoming and excellent python programmer. You will think different about programming and algorithms. And software design. It will give you a broader perspective. If you can't learn both then probably you shouldn't become a programmer at all. They are both easy. Programming used to be teached for a long time with lisp dialects in all the best American universities. In times when programming wasn't yet that mainstream. Lisp won't necessary give you an advantage in career, that's a much more complex topic and lisp is very niche. But it will make you a better programmer for the rest of your life.
pajuch · 2022-04-16 18:20
emacs is 46 years old it's here to stay
jacmoe · 2022-04-17 20:18
The unique thing about Emacs is that it is written in a Lisp, and that you use the same language to change any part of it while it is running. No other editor gives you that kind of power. If you want that, then Emacs is perfect.