sentence: a consequence of syntactic abstraction is also that any lisp dialect and in fact almost any programming language can , in principle , be implemented in any modern lisp with significantly reduced ( but still non-trivial in some cases ) effort when compared to '' more traditional '' programming languages such as python , c or java .