Three Language Features You Need To Understand Before You Dismiss Common Lisp
jfm3-repl.blogspot.com
jfm3-repl.blogspot.com
It is at least a deliberate choice. I don't like the style of programming where you use a lot of conditions, and the Meta-Object Protocol just seemed like a huge unLispy hairball I was happy to skip.
I've never understood that mindset. Java is about the opposite direction from Lisp.
At least C++ has generic metaprogramming.