Mind Altering Languages

Languages that challenge you to think differently. According to AlanPerlis (EpigramsInProgramming) these are languages worth knowing. This is not the place to debate the merits of the languages from a practical standpoint, but to merely point out those that may challenge your world view and expand your thinking (software-wise, or perhaps deeper?). Perhaps it helps you solve problems better in "regular" languages, or is just for the joy of MentalMasturbation.

Some 'toy' languages that qualify. Of course this is relative. Most are trained on AlgolLanguage descendents, such as the C family, Pascal, VB, etc. If one was originally trained on say Prolog, then the Algol-style may seem mind-altering when first encountered.


So, a MindAlteringLanguage? has to be slightly esoteric, cause he won't follow the Algol pattern. Maybe there is space for a LittleMindAlteringLanguages? that are still Algol like, but give you some new idea. I wouldn't have thought of using metaclasses before I knew python (even if they already existed in CLOS)and I wouldn't have thought of building my own control structures before I knew ruby's blocks (even if they already existed in ST)

Also, I think in the mind altering space you can't omit to name ToolCommandLanguage. The fact that it is homoiconic, that every control structure is a command, that there are no keywords at all, and that it uses "set" instead of "=" or ":=" is surely something that changes the way you think :)


I think that the most mind altering of the languages mentioned, is Forth. You have to manage your own stack, for God's sake!!! It makes assembler look a little better.

It's all relative. I think the most mind altering of those listed above is Prolog.


I wish I could ask Timothy Leary ;-)


EditText of this page (last edited August 17, 2008) or FindPage with title or text search