深奥的编程语言
编程语言的范型可以分为若干类别，这些类别可以用来大致了解特定语言的操作方式。其中包括命令式语言，如brainfuck，其指令描述了如何修改数据；函数式语言，如Unlambda，其中的数据和代码都或多或少地可交换，而程序的执行是通过重复迭代调用函数实现的；和重写语言，如Thue，其中可以使用变换函数使状态初始化。
异常处理
许多常见的程序设计语言，包括Actionscript，Ada，BlitzMax，C++，C#，D，ECMAScript，Eiffel，Java，ML，Object Pascal（如Delphi，Free Pascal等），Objective-C，OCaml，PHP（version 5），PL/I，Prolog，Python，REALbasic，Ruby，Visual Prolog以及大多数.NET程序设计语言，内建的异常机制都是沿着函数-{zh-hans:调用栈;zh-hant:呼叫堆疊}-的函数调用逆向搜索，直到遇到异常处理代码为止。一般在这个异常处理代码的搜索过程中逐级完成-{zh-hans:栈卷回;zh-hant:堆疊輾轉開解;}-（stack unwinding）。但Common Lisp是个例外，它不采取-{zh-hans:栈卷回;zh-hant:堆疊輾轉開解;}-，因此允许异常处理完后在抛出异常的代码处原地恢复执行。而 Visual Basic（尤其是在其早于 .net 的版本，例如 6.0 中）走得更远：codice_18 语句可轻易指定发生异常后是重试（codice_19）还是跳过（codice_20）还是执行程序员定义的错误处理程序（codice_21）。