Lisp, Smalltalk, and the Power of Symmetry (2014)
&gt; What most of these languages seem to miss is that Smalltalk’s class system, like Lisp’s macro system, is a symptom of the power already available in the language, not its cause. If it didn’t already have it, it wouldn’t really be that hard to add it in yourself.<p>What most of these articles seem to miss is that that Java&#x27;s designers were themselves expert Lispers and Smalltalkers, and they most certainly realized all that, and that Java&#x27;s success is a consequence of them understanding exactly why <i>not</i> to repeat the same design. Design doesn&#x27;t live in a vacuum. Design is shaping a product not just to fit some platonic ideal, but reality, with all its annoying constraints.<p>To understand why Lispers and Smalltalkers designed Java the way they did, I recommend watching James Gosling&#x27;s talk, How The JVM Spec Came To Be[1], and the first 20 minutes or so of Brian Goetz&#x27;s talk, Java: Past, Present, and Future[2].<p>[1]: <a href="https:&#x2F;&#x2F;www.infoq.com&#x2F;presentations&#x2F;gosling-jvm-lang-summit-keynote" rel="nofollow">https:&#x2F;&#x2F;www.infoq.com&#x2F;presentations&#x2F;gosling-jvm-lang-summit-...</a><p>[2]: <a href="https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=Dq2WQuWVrgQ" rel="nofollow">https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=Dq2WQuWVrgQ</a>