Is UML a programming language?
The UML stands for Unified Modeling Language. It is christened a "language" since the representation involves predefined notations, semantics and rules - so all participants involved - stakeholders, analysts, developers, testers all interpret these diagrams the same way.
It is not a programming language (such as C, C++, Java) or a sub-language (such as SQL) and does not have a set of 'command keywords'.
The UML is a representation method, providing for different views to detail the software system under design. Just like we have front elevation, floor plan, electrical plan, plumbing plan, in the construction industry, to document different aspects of the same building, UML offers a set of diagrams to represent varied views for a software system. Each of these diagrams have a specific perspective to deliver to the reader, and it makes sense to overlay multiple diagrams to get the complete picture. The UML was architected by the Object Management Group (OMG) and they continue to maintain the definition for the later releases. Visit OMG.org and UML.org for more information.
The UML is an analysis toolbox that allows authoring of specific details of the system, such as business processes, state changes of key objects in a system, etc.
Please ask your questions, using the comments. Thanks!
The UML can also be used as a programming language. When used in this form, the whole system is specified in the UML, the diagrams are the code, and they are compiled directly into executable binaries. There are some projects and books about that: Executable UML and the MDA (Model Driven Architecture).