How did programming languages become tools for expressing human thought?

In this blog post, we will discuss the development and importance of programming languages and how they play an important role in expressing human thought and developing problem-solving skills.

 

Looking around modern society today, almost everyone uses computers to do many things. Most households have a computer. We can do countless tasks using computers, such as accessing the Internet to surf the web, writing documents, and playing games. These tasks are performed by the computer executing specific commands given by the user. However, since the language that computers understand is completely different from human language, a medium is needed between the natural language used by humans and the machine language that computers can read in order to convey the user’s intentions to the computer. This medium is called a programming language. A programming language is a set of grammar rules for writing programs, which can be used to develop and utilize various programs.
Let’s take a closer look at the types of programming languages and how programs are implemented through programming languages. Programming languages can be broadly divided into two categories. First, low-level languages are languages developed to be easily understood by computers rather than users. They are not much different from machine language and are difficult for humans to understand, making it very difficult to write programs in low-level languages.
On the other hand, high-level languages are user-oriented languages with grammar and syntax similar to natural languages. However, computers cannot understand them directly, so they must be translated before programs can be executed. In the early days of computer development in the 1940s, only low-level languages were used, but in 1954, IBM developed FORTRAN, which can be considered the first high-level language. From then on, following the first generation of machine languages and the second generation of low-level languages, the era of third-generation programming languages began, and various high-level programming languages were developed. Among them, the C language can be said to be the mother of the programming languages currently in use.
The C language was developed in 1972 by Dennis Ritchie (1941-2011) at AT&T Bell Laboratories. First, Kenneth Thompson (1943-) of the same laboratory developed the B language, and Dennis developed it further to create the C language. Even with the development of various programming languages, C is still the most widely used programming language. The main reasons for this are its versatility, which allows for the implementation of high-level programs that were not possible before, and its universality, which allows it to be used on almost all computers. In fact, most operating systems are implemented in C, and even those that are not are mostly written in advanced languages influenced by C.
A representative example is Linux, one of the most widely used operating systems today, which is a C-based operating system, and Apple’s representative operating systems, OS X and iOS, which are software based on the objective-c language that succeeded C. After the era of third-generation languages such as C, programming languages developed in the fourth generation and beyond complemented the shortcomings of C and ushered in the era of object-oriented languages.
While third-generation languages regarded programs as a simple list of commands, fifth-generation object-oriented languages regarded programs as “objects.” Each object can perform the tasks assigned to it and communicate with other objects to exchange results. The development of object-oriented languages has enabled the implementation of simpler and more reliable programs. The concept of “object-oriented” appeared in the early 1960s. Simula 67, a language developed by Kristen Nygaard and Ole-Johan Dah in the 1960s based on ALGOL, can be considered the first object-oriented language, but it was not widely used. Practical object-oriented languages were not developed until the 1980s. Java is a representative object-oriented language. Java was developed in 1991 by James Gosling (1955~) of Sun Microsystems. Java has a simple syntax structure that makes it easy to write code, and its unique features allow it to be used regardless of the operating system or other usage environment. In addition to Java, almost all programming languages currently in use, such as C++, C#, Python, and Objective-C, are object-oriented languages.
So, how exactly is a program implemented using these programming languages? First, a programmer writes a source program using a programming language via an input device. Since the source program cannot be interpreted by a computer, a compiler, which is a type of system software, translates the programming language into machine language through a process called compilation. The result of this conversion is called an object program. After that, various external components (codes, functions, etc.) necessary for program execution are combined with the object program. This process is called linking, and the software that executes it is called a linker. After the loading process, which transfers the program from the auxiliary storage to the main storage, the CPU interprets the object program and outputs the results to the output device, executing the created program.
The completed programs are used in all aspects of our daily lives. FORTRAN, which appeared in the early 1950s, was a programming language for scientific and technical calculations, as befits its name, Formula Translation. Programs utilizing FORTRAN were mainly used in engineering and mathematics due to their fast and simple calculations. Programs using COBOL were useful for general office work. COBOL was used by financial institutions and company/business practitioners to build computer networks, and its influence was so great that until a few years ago, many banks in South Korea maintained COBOL-based computer networks. In addition, C, C++, C#, and other languages that form the basis of numerous operating systems, such as Linux, Unix, and Chrome OS, are used in all aspects of life, including security programs and home appliance control, due to their high versatility. In addition, programming languages are used to implement artificial intelligence programs, and there are many languages for implementing artificial intelligence, such as LISP and PROLOG, which are still in use today. For example, the artificial intelligence program AARON is known for not simply imitating photos or pictures, but actually planning the concept, coloring, and arrangement of pictures to draw its own pictures. Harold Cohen (1928-2016), the developer of AARON and a professor at Yale University, was a painter and computer scientist who designed AARON using LISP. In an interview with the BBC, he praised AARON, which he developed, as a world-class painter with bold color choices. Programs have evolved to the point where they can perform “creation,” which is unique to humans, and have become an essential part of everyday life outside the realm of art.
In this way, programming languages are involved in many aspects of modern life. Although it began as machine language that was incomprehensible to humans, developers have evolved it into languages such as C, Java, and Python, which are much closer to human language. Whether we realize it or not, programs are everywhere around us, and almost everyone uses them. Many people learn programming languages, and when asked why, most will say that it is so they can create their own programs. However, what is more important is that it develops problem-solving skills. The reason why programs are so widely used is that programming languages are the most effective means of expressing the user’s logic. The process of creating a program is not simply a mechanical arrangement of code or a list of commands. It is the result of a process of constant thinking and refining ideas. The establishment of logic for program implementation, rather than memorization of code, and thinking skills are the driving forces behind the use of programming languages as the perfect tool. Therefore, why not take an interest in programming languages and try your hand at them to expand your thinking? If you continue to think about it, programming languages will no longer be difficult and complicated foreign languages, but a true “language” that allows you to express your creativity.

 

About the author

Writer

I'm a "Cat Detective" I help reunite lost cats with their families.
I recharge over a cup of café latte, enjoy walking and traveling, and expand my thoughts through writing. By observing the world closely and following my intellectual curiosity as a blog writer, I hope my words can offer help and comfort to others.