Of course I first decompile using cfr. And then use scala REPL to load the jar and call functions to see the effect and find the parts interesting for further analysis.
Hey Alan, you once said that lisp is the greatest single programming language ever designed. Recently, with all the emergence of statically typed languages like Haskell and Scala, has that changed? Why do you think after being around for so long, lisp isn't as popular as mainstream languages like Java, C or Python? And lastly, what are your thoughts on MIT's switch to use Python instead of Scheme to teach their undergraduate CS program?
I should clarify this. I didn't exactly mean as a language to program in, but as (a) a "building material" and (b) especially as an "artifact to think with". Once you grok it, most issues in programming languages (including today) are much more thinkable (and criticizable).
The second question requires too long an answer for this forum.
The one thing that makes LISP great is the "functions are data" formulation.
Many of the "current best paradigms" of Computer Science are actually fads. LISP was a fad of the 1980s. Java was a fad of the 1990s. NoSQL databases are a current fad. It doesn't mean that one is better than another. It's human nature to think that new technology must be better than old technology. In fact, the programming environment on the LISP machines of the 1980s was far better than anything we had till the early 2000s, despite being "old".
> Yesterday a lead programmer at a major financial institution told me that he liked that style so much, he'd incorporated it into his company's OCaml system, and they use it in their production systems (lots of high-volume trading).
I'm going to name my kid "al Arthur Alexander", so he can claim authorship credit for thousands of writings, and also for millions of highscores in arcade cabinets everywhere.