Branch of computer science that deals with the design, implementation, analysis, characterization, and classification of programming languages and their individual features.