Challenging programming languages
Most programming languages are hard to *master*, but not really hard to understand. Have you got your favourite exceptions (ie, those languages which are hard even to understand)? My vote is for Prolog. I tried teaching it a few years back, but had to beat a hasty retreat as I found some parts of it close to that yet-to-be-invented stuff which geeks call `brain exploding'! Lisp I can suffer, but not Prolog. As a memory of that failed endeavour, I have this Silly Prolog Tutorial Even if a language as a whole isn't that hard to understand, parts of it may be really intellectually challenging (closure tricks in Lisp?). What would be really amusing is examples from languages which are normally simple (say Python).