It&#x27;s been done to death, but Common lisp. If you&#x27;re looking for a new magic shiny you will find it here.<p>You develop in a parsed environment, not raw text. Tooling will allow you to make structural edits instead of traditional text edits.<p>Everything is an expression and can be used as a value. Even loops and if-statements are expressions that can be assigned to a variable.<p>Macros. You can create languages. Change rules and syntax. Do performance optimizations moving processing to compile time instead of run time. To process matrices you create an intuitive language to handle them, rather than shoe-horning into a general purpose language missing low hanging optimization-fruit.<p>You develop against a running program. Other langs can do this but they are missing the first rate tooling or the community doesn&#x27;t do things that way. While you develop the 4 times become 1. Thinking time, Typing time, Compile time, Run time. Try an idea, get immediate feedback. Your design medium is play-doh so design by making something tangible you can feel. In other langs your medium is marble so you plan it out ahead of time before you mess up your expensive marble block, then waste hours&#x2F;days before you realize all your unit tests were made against a flawed API.<p>So much time and energy is wasted protecting marble. Play-doh is better.