• 0 Posts
  • 6 Comments
Joined 1 year ago
cake
Cake day: October 16th, 2023

help-circle

  • I would say Dylan, which is so close to Lisp that some people consider it a Lisp, despite not having Lisp-like syntax. The modern language that fits that description is Julia.

    JavaScript isn’t Scheme – far from it. But you can use a lot of Schemer techniques when programming in it. There are libraries like Ramda that help support programming in functional style. Ever since ECMAScript embraced internable symbols, I’ve been facetiously using the nickname “ES2049” to refer to Lisp when among JavaScript programmers; as it seems that JavaScript is slowly asymptotically approaching Lisp.



  • It’s an iron law of software development that the more you can prove at compile time, the fewer bugs will creep in at run time. The future of software development will look a lot less like Lisp and a lot more like Rust. Strong static typing with parametric types is table stakes for a modern language. Ideally you want static object lifetime management too. Inasmuch as Lisp can adopt these things it still might be a niche contender.


  • If you want a VS Code-like experience with no effort, you know where to find VS Code.

    You use Emacs for an Emacs-like experience – that is, a reasonable starting point, but with infinite customizability, to the point where you are modifying and extending your editor as you work with it.

    You can begin coding in Python, Go, and Bash today with no additional add-ons. You may have a tough time of it at first if you’re used to relying on autocomplete. Generally the first must-have package you should get is the major mode for whatever language you’re working in (if it doesn’t already come with Emacs). I generally use ivy to provide completion for things like file and buffer names, M-x commands, etc. so that’s also a good choice. Eglot or lsp-mode is commonly used to provide autocomplete via Visual Studio Code’s LSP.

    Finally I recommend enabling auto-revert-mode, so that Emacs keeps itself automatically in sync with changes made to a file outside itself. This is built into Emacs.