Back in college (in the late 1970’s) I signed up for a couple of undergraduate research projects. One was to build a small (?) natural language interpreter. The second was to build a prototype Ada programming environment (remember when Ada was a hot/new language?).
Both were written using UCI Lisp.
The folks in the Ada programming environment project generated an Ada parser, interpreter, compiler, and integrated editor for a subset of Ada in a remarkably small amount of time. This was only possible by leveraging off the Lisp environment.
Lisp had a pretty steep learning curve, but once you “got” the ideas in Lisp programming, you could get far more done in less time than in any other language. Since the full Lisp programming environment had a tendency to turn a “big” computer into a single-user machine, Lisp was widely viewed as impractical. We’re talking about when “big” was a one MIPS machine with a megabyte of memory. With today’s computers … well, I could probably host the entire Lisp research community of that time on my current PC.
When XML came out I had a distinct “been there” feeling. XML is basically another (more expensive) way of presenting Lisp s-expressions - and is a great idea for pretty much the same reasons.
Ran across someone visiting the same meme - Finding Lisp.
Not that I think going back to Lisp is really practical at this point. In fact the combination of Java and XML covers much the same ground, and “critical mass” is important.