A programming language is defined by its syntax, semantics, paradigms, typing system, translation scheme, and memory management. There are many programming languages because each has a different focus, like being imperative, functional, procedural, or object-oriented. Languages get translated via compilation, interpretation, or a hybrid approach, and are typed statically or dynamically. Popular examples include C, Java, Lisp, and Smalltalk.