We will touch on many additional topics including software engineering, security, artificial intelligence, and Internet lore and culture. You may have heard some of the hype about Java. These are all programming languages. It is commonly assumed that certain programming languages are good for certain tasks. People often think of learning programming languages as being similar to learning a natural language, such as French or German.
Programming languages are more similar to each other than are natural languages, however.
Being fluent in French does not very much help you learn German. Once you know one programming language, it is much easier to learn another one, however. Learning to program is less like studying a foreign language than like learning to drive. Just like most automobiles have steering wheels, brakes, and turn signals, most programming languages share a common set of features, including variables, arithmetic instructions, linguistic structures for grouping data, and a way to express control flow. The Lambda calculus has no arithmetic.