What is the History of Programming Software?
The history of the programming software has a long trajectory. Some historians credit the mechanical engineer and inventor Al-Jazari Muslim with the first demo program. During the 13th century, many of the machines that Al-Jazari designed and built could be altered or modified by changing its instructions. This is the concept of modern computer programming.
In 1804, Joseph Marie Jacquard, French weaver and trader, created the most ancient practice of programming. He designed a loom that performs predefined tasks by feeding punch cards into a gadget for reading.
During the 18th century, Charles Babbage, English mathematician and scientist, known as the father of modern computing, design machines capable of performing complex mathematical operations. Among Babbage designs and inventions are the basis for adding machines and other mechanical calculation business tools became common in the late 19th and 20th century.
In 1843, Ada Lovelace wrote a rudimentary program for the Analytical Engine, designed by Charles Babbage in 1827, but the machine never worked.
In 1847, George Boole (1815-1864), British mathematician showed the relationship between mathematics and logic with his Boolean algebra and Boolean Logic. Boole was the first to demonstrate that logic is part of mathematics, not philosophy.
In 1939, William Shockley worked on the theory that tiny semiconductor replacing empty tubes. Semiconductor electronic pulses could operate at a speed of billions of times per second, rather than the 10,000-times speed-per second vacuum tubes.
In 1945, John von Neumann developed two important concepts that directly affected the way of programming languages:
- The first concept is known as shared-program technique. This technique indicates that computer hardware should be simple and does not need to be wired for each program. Instead, complex instructions to be used to control the hardware, allowing it to be re-programmed much more quickly.
- The second concept was also very important for the development of programming languages. Von Neumann called Control Conditional Transfer. This idea led to subroutines or small blocks of code that could be executed or skipped in any order, rather than a single set of steps in chronological order. The second part of the idea argued that the code should be able to execute an action based on the result of an expression, defining the logic state of the command IF (expression) then (IF … THEN). Neuman also defined the FOR loop. “Conditional Control Transfer” led to the idea of “libraries” which are blocks of code that can be reused again and again.
From 1930s until 1950s, punch cards became the driving force of business, as they were used in virtually all office accounting machines. The cards were created with programming languages such as FORTRAN and COBOL IBM Department of Defense.
The term “software” was created in late 1950 and was soon adopted by the entire industry. Software was divided into two main categories: system software and application software. System software includes the processes of the implementation of the program, such as compilers and operating system disk. Applications of the program include games and office applications.
The Algol language was created by a scientific committee for use in 1958. Algol is the basis for languages like Pascal, C, C + + and Java.
Pascal was created in 1968 by Niklaus Wirth. It was develop due to the need of a good teaching tool. Pascal was designed with a very neat approach, combining many of the best features of programming languages used at that time as COBOL, FORTRAN and ALGOL.
BASIC was developed in 1964 by John Kemeny and Thomas Kurtz. Visual Basic is currently taught to programming students as the first programming language to learn.
In the late 1970s and early 1980s, it was created the OOP method or POO. Objects are pieces of data that can be packaged and handled by the programmer. This set of extensions were developed in using C ++, which was released in 1983.
In the early 1990s, Sun Microsystems invented Java. A portable language able to run in different types of machines.
Perl was developed by Larry Wall in 1987. Wall sought a language that combines all the best features of C, awk and Bourne Shell.
The software is constantly evolving and will continue as technology advances.