3 ms·
Something that makes a big difference to me with Emacs and a Lisp relative to other languages and editors is that everything works by communicating to a running
by Zak 8y ago
Something that makes a big difference to me with Emacs and a Lisp relative to other languages and editors is that everything works by communicating to a running process.
Need to look up function args or a docstring? It doesn't have a separate thing that statically analyzes the code. It asks the running process. Want to see what an updated function outputs? It can use the state of the running process. Trying out some other change? It doesn't have to reload anything, lose or persist state, etc... it just updates the running process and you go from there. Want that running process to be on a remote server? An Android device? A page running in a web browser? Your powerful desktop while you work from a small laptop while lying in your hammock? No problem.
I don't understand why this hasn't caught on to the same degree with other languages. Most of them have REPLs and introspection tools, so they could behave this way.
- xxxdarrenxxx 8y agohttp://brackets.io/ http://brackets.io/ has a live view for basic html and css. There's a package for the nodejs ecosystem called "nodemon" https://github.com/remy/nodemon https://github.com/remy/nodemon That restarts the webserver on filechanges automatically. The former is very basic and I don't really use it, but nodemon is quite nifty.
- Zak 8y agoReload-on-change is a relatively common feature. While a lot of modern web programming frameworks and libraries don't rely heavily on in-memory state, this is very much a different experience from having your editor constantly communicating with a live process.