People use special words to talk to computers. 

People use special words to talk to computers. 

People use special sets of rules to talk to computers. We call these rules a programming language. 
A language has two main parts. The first part is syntax. Syntax is the form or shape of the code. It tells you how to combine symbols correctly. The second part is semantics. Semantics is the meaning of the code. It tells the computer what to do with those symbols.
In the 1940s, the first computers used machine language. This was just simple instructions for the machine. It was very hard for humans to read. Later, people made assembly languages to help. These were easier to understand but still hard to use.
Then, high-level languages arrived. These languages hide the hard parts of the machine. This lets people focus on big ideas. For example, Fortran was made in 1957. It was one of the first high-level languages. 
A programming language is a special tool used to write computer programs. These languages help people tell computers exactly what to do. Most programming languages are written in a way that humans can read and understand. This makes it much easier to create software. To make a program actually run, a computer needs a specific implementation. There are two main ways this works. One way is called compilation, where code is turned into machine code ahead of time. The other way is called interpretation, where the computer executes the program directly. 
Every language has two important parts called syntax and semantics. Syntax is the form or the shape of the code. It describes the rules for how to combine words, numbers, and symbols correctly. If the syntax is wrong, the program will not work. Semantics refers to the actual meaning of those symbols. It tells the computer what actions to take when it sees a specific command.
Programming has changed a lot since the first computers arrived in the 1940s. The very first languages were called machine languages. These were just simple instructions that the computer processor could run immediately. However, machine language was very difficult for people to fix or use. Later, people created assembly languages to make things a bit easier. These were called second-generation languages. They were better for humans to read, but they were still tied closely to the computer hardware.
In 1957, a big change happened with the invention of Fortran. This was a high-level language, also known as a third-generation language. These languages hide the hard details of the hardware from the person writing the code. Instead, they let people focus on algorithms, which are sets of steps to solve a problem. 
As computers became cheaper and more common, new languages appeared for different jobs. In the 1980s, the personal computer changed everything. Languages like C++ were created to help with new tasks. When the Internet grew in the 1990s, Java was designed to work well across many different systems. 
A programming language is an engineered language used to express computer programs. These languages allow software to be written in a manner that is human-readable. While they share similarities with natural languages by communicating ideas between people, they are limited to the domain of computation. Some researchers distinguish between programming languages and computer languages. They may view programming languages as theoretical constructs for abstract machines. In contrast, computer languages might refer to the subset that runs on physical hardware with finite resources. 
To function, a programming language requires an implementation to execute its instructions. There are two primary approaches to this process. In compilation, programs are translated into machine code ahead-of-time. In interpretation, the programs are executed directly. Some modern systems use hybrid approaches. These include bytecode interpreters and just-in-time compilation. These methods bridge the gap between the two extremes of execution.
Every language is defined by its syntax and its semantics. Syntax refers to the surface form or the specific rules of the language. It dictates the possible combinations of symbols that form a correct program. Most languages use a textual syntax consisting of words, numbers, and punctuation. Some use a graphical syntax based on visual relationships. Semantics refers to the meaning assigned to those symbols. This meaning is either hard-coded or handled by a formal specification.
The history of programming began in the 1940s with the first programmable computers. These used first-generation languages (1GL), known as machine language. These were simple instructions executed directly by the processor. However, machine language was difficult to debug and lacked portability between systems. To help humans, second-generation languages (2GL), or assembly languages, were invented. While assembly was easier to read, it still remained closely tied to specific hardware.
A revolution occurred with third-generation languages (3GL), also called high-level languages. These languages use abstraction to hide hardware details. This allows programmers to focus on algorithms rather than machine mechanics. For example, arithmetic can be written in symbolic notation. This notation is later translated into machine code. Fortran, invented in 1957, was a major milestone. It is often considered the first compiled high-level language and is still used today. 
The 1960s and 1970s saw rapid innovation in language types. Lisp, implemented in 1958, was the first functional programming language. It introduced recursion, conditional expressions, and automatic garbage collection. During this era, ALGOL became a standard for describing algorithms in literature. Many famous imperative languages, such as C, Pascal, and Java, descended from ALGOL 60. C, an ALGOL descendant, allows for flexible pointer operations. This makes it efficient but also makes writing correct code more difficult.
As technology evolved, languages adapted to new hardware and needs. The 1980s brought the personal computer, leading to the creation of C++. This language is a superset of C that supports classes and inheritance. In the 1990s, the growth of the Internet required new tools. Java was designed for increased security and portability across different systems. This era also saw the rise of dynamically typed scripting languages. Python, JavaScript, PHP, and Ruby were designed to coordinate existing applications quickly.
In the modern era, programming has branched into many specialized fields. Some languages focus on service-oriented programming for distributed computing systems. Others, like C# and F#, mix imperative and functional programming ideas. Since 2010, new languages like Rust, Go, and Swift have competed for performance-critical tasks. We also see the rise of visual programming languages (VPL). Examples include Scratch, LabVIEW, and Blockly. Some modern tools even mix textual and visual elements to help users build software. 
🖼️ Images & Media (5)
More to explore
✨ What else?
Related topics you might enjoy
🔬 Go deeper
More advanced topics to explore
🪜 Step back
Simpler topics to build understanding
What is Nepedia?
A free, ad-free encyclopedia for children. Every article is written at five reading levels, so the same page works for a five-year-old and a fifteen-year-old — use the level switcher above to see this one change. No account needed to read.