 It supports a combination of procedural, functional, and object-oriented programming paradigms.As a dynamic programming language, it facilitates evolutionary and incremental software development, with iterative compilation into efficient run-time programs.This incremental development is often done interactively without interrupting the running application.