What Is Programming?
What Is Programming?
Simply put, programming means “writing instructions for a computer.”
Using a PC, you write an instruction document called a program to give instructions to the computer. The computer reads that program and executes it on the PC as instructed.
The essence of programming is that humans command computers in a language computers can understand, making it possible to do things that are difficult for humans alone.
Programming already exists in many familiar places: PCs, smartphones, microwave ovens, POS cash registers, cars, and more. All of them contain programs.
History Before Programming Languages
Even before programming languages were born, humans created technology to automate work.
The origin of automation technology was the Jacquard loom, developed in 1801. It was a loom that read thick paper with punched holes, called punch cards, to represent order and weave cloth. By changing the positions of the holes, it could also change patterns.
Later, analytical engines and tabulating machines using punch cards were developed, processing became more advanced, and these technologies influenced the development of computers.
Then, in 1945, the world’s first computer, ENIAC, was developed, and the history of programming began.

ENIAC - Image source: Wiki
Types of Programming Languages
Machine Language
- A language computers can understand.
- Source code written by people is translated into machine language expressed as “0” and “1” so computers can understand it.
- Code expressed in binary as “0” and “1” is called binary code, and machine language is one such form.
Assembly Language
- A language developed to make machine language easier for humans to understand. It uses strings and symbols as well as numbers, but it is still close to machine language.
- The machine that translates it is called an assembler.
- Assembly language is also called a low-level language compared with high-level languages that appeared later.
High-level Language
- A language easier for humans to understand than assembly language. C and Java are representative examples.
History of Programming Languages
- Machine language and assembly language appeared in 1949. However, these languages required advanced programming skill. Soon afterward, the world’s first high-level language, FORTRAN, appeared and was used for a long time.
- In the 1960s, COBOL was developed for business processing. Because it was closer to English and easier for humans to understand, the difficulty of programming itself decreased. It is still used in financial systems and similar areas.
- In the 1970s, the C language, which became the basis for many programming languages, appeared. In the 1980s, C++ and Objective-C, improved from C, appeared.
- In the 1990s, scripting languages such as Python, PHP, and Ruby appeared, making it possible to write complex processing more simply. They are used widely, including in web app development.
- Since 2000, large IT companies such as Google, Apple, and Facebook have developed new languages, and many programming languages have been created for different purposes.
Why There Are Many Programming Languages
There are currently more than 200 programming languages. The reason there are so many is that programming languages evolve just like humans.
Newer languages are not necessarily better than older ones, but many newer languages have smarter designs, making coding increasingly easier.
What You Can Do with Programming
What can you make if you learn programming? Specifically, the following are examples.
Web App Development
A web app is an application that runs on the web. Representative examples include Amazon, YouTube, Twitter, and Cookpad. A major feature is that you can use the service by opening its web page from a search engine without downloading an app.
Website Creation
You can also create homepages and blogs. Websites are often confused with web apps, and there is no clear definition, but a web page that can be created simply with HTML and CSS is a website.
A complex structure where data is actively exchanged and users actively operate the system can be considered a web app.
For web service development, Ruby is used for web app development, and PHP is a server-side language used by many websites on the internet. JavaScript, which makes websites work, is also an essential language.
Smartphone App Development
These are apps downloaded and used on smartphone devices. KakaoTalk, LINE, Twitter, and Instagram are examples.
Swift, developed by Apple and used for Apple product development, and Kotlin, officially adopted for Android app development, are representative languages. Java is also highly versatile and used in many developments.
AI(Artificial Intelligence) Development
AI refers to computers that think and act on their own and perform judgments or analysis close to humans. Siri and Face ID are examples.
Python, which is good at data analysis, is also popular in the AI field.
Game Development
Game development includes smartphone games, PC games, console games, and more. The languages and skills needed differ depending on the device, so it is necessary to research in advance.
For example, C#, developed by Microsoft, is often used for games played on Windows.
System Development
System development refers to systems that control electronic devices such as home appliances and communication devices, as well as business systems such as money management in banks and property management in real estate.
To create the things above, you must write programs using programming languages. However, there are more than 200 programming languages, and what each can develop differs.
Benefits of Learning Programming
You Can Aim for a High Income
Recently, developer compensation and treatment have improved greatly compared with the past. The fact that it is higher than many general occupations is a major benefit. Compensation varies greatly depending on experience and skill, so if you keep improving as a developer, you can earn more.
In addition, demand for developers continues to increase, and the IT industry’s labor shortage is becoming serious. Demand for engineers is expected to keep rising, so it is unlikely to be a field where jobs disappear first.
You Can Work Freely
Developers tend to have more freedom than many other occupations. Being able to choose where and how to work, such as remote work or freelancing, is an attractive point.
You Can Learn Logical Thinking
Logical thinking is a way of thinking that organizes things systematically, builds a rationale, and draws conclusions.
When you learn logical thinking, you can calmly understand matters in business, quickly find optimal solutions, solve problems, and improve work efficiency. Logical thinking is useful outside business as well, such as when explaining something to someone or understanding and solving another person’s problem.
The reason programming helps you learn logical thinking is that computers, unlike humans, do not understand everything implicitly. When developing, you must use a programming language to give logical instructions, and through that process you can acquire logical thinking.
Compiler and Interpreter
Compiler
- For a program written in a high-level language to run on a computer, it must be converted into a language the computer can directly understand.
- A program that performs this conversion is called a compiler.
- Because translation and execution steps are required, the translation process is cumbersome and takes time.
- After translation is done once, the program does not need to be translated again, so startup and execution can be fast.
Interpreter
- Unlike a compiler that converts the source program to machine language at once, an interpreter is a language processing program that interprets and executes a program line by line.
- Because it translates and executes line by line, it is useful in time-sharing systems and responds quickly to changes in source programs.
- It is suitable for interactive languages where testing and modification proceed step by step.
- Its disadvantage is that execution time is long and speed is slow.
- Because the program is executed directly, an object program is not generated.