A movie "The Art of Writing Software" that honors the history of achievements that software development has brought



Computer software, which is a collection of simple information consisting of '0' and '1', has enabled various functions that were previously impossible. A movie reviewing the history of software that has given humanity many possibilities "The Art of Writing Software"It explains its history and the meaning given to the world.

The Art of Writing Software - YouTube


A computer is like a musical instrument playing music.


Each function can only faithfully perform given instructions, but very numerous functions can be realized by collecting countless numbers of it.


It is "score" that the composer gives instructions for performance. It is "software" that the programmer gives instructions to the computer.


What appears in the movie is the forerunner who opened up the field of "algorithm analysis"Donald KnuthMr. "By adding just a few lines of code, I was able to get high, which might be the same as a person or a musician who would like to write poetry," he talks about the pleasure that the program brings.


Mr. Knuth is a person who has been involved in programming research for 50 years. book"The Art of Computer Programming"Mr. Knuth himself is positioned as" life work ".


Mr. Knuth touched the computer for the first time in 1957. At that time, Mr. Knuth, who was absorbed in programming and acquiring the result of programming to acquaintance, was still in the age when the "program" was just born, he said that he sent a time to immerse programming without sleeping at night .


Even in the early stages the computer was able to spawn results very quickly and it was a very powerful tool. However, at that time the computer was "Machine languageIt was necessary to give a command with.


Jamie The Winsky, a big programmer who was involved in the first phase of Netscape Communications, said, "Computers are very bad, they use very simple words to make them understand, and strictly stipulated It is necessary to give instructions by spoken instructions. "


Early programmers programed using machine language which is a combination of numbers.


These numbers mean "0" and "1" sequences that only the computer can understand, "binary code".


However, giving instructions using numbers is not only boring for people but also causes mistakes. For that reason, more human-friendly methods have been developed.


The first method is to replace numbers with names and symbols. this is"Assembly languageIn a programming language called "computer", the computer converts its contents into binary code and executes the instruction.


The assembly language also had troublesome things for human beings, but the idea of ​​having the computer do the process of "translating" from words that human beings can understand to words easy to understand for computers is a revolution in the software world I brought it.


In 1957, IBM is the first high-level language after the development period of 4 yearsFORTRANAnnounced. With the introduction of FORTRAN, programmers can now program using mathematical formulas and logical structures that are now familiar.


FORTRAN uses "compiler" to convert the program written in this way into a machine language understandable to the computer so that the computer can operate.


Also, with the advent of FORTRAN, programmers no longer have to learn different machine words for each computer.


FORTRAN was developed for scientists and engineers who need computers and support that concept.


In 1959, this time the programming language developed for business use "COBOL"Was born.Grace HopperCOBOL developed by Mr. COBOL is a language aimed at incorporating natural language description method closer to English and it has become a language widely used in business scene.


For decades thereafter, a number of languages ​​have been developed to suit different needs. As a result, at first, the contents of programming for the computer instructed the operation itself "add new data to the current argument ..."


"Create a list of expensive books in order of price" and changed to what will ultimately direct the desired results.


Many people are now able to give instructions to computers using natural languages ​​in such a way as to input mathematical expressions "Please calculate the average salary of all employees" in Excel.


Describing a standardized compact instruction is only one aspect of the purpose of "handling every and all data" given to a program. To do this, it is necessary to convert and organize the data into a form that can be processed by a computer processing binary numbers "0" and "1".


And, of course, decimal points also need to be represented by binary numbers.


The letters and symbols of the alphabet are represented by numerical values ​​... ...


"Character strings can be expressed using characters.


A "list" consisting of multiple strings is made ... ...


The list evolved to "table".


In addition, it will be able to express structures with complicated meanings such as "tree". Defining how data is represented and organized has become very important.


As a result, tremendously tremendous amounts of data have been processed by computers all over the world.


Unified Modeling LanguageI was involved in the development ofGlady Booch"Now we can record and store all the information from the birth to the day of death, captured by multiple cameras in our immediate vicinity, in about one cubic sugar of media." I will tell you about computer technology that has evolved at a tremendous pace. As a result, another new question of "What can we do with that data?" Is created.


What the programmer wants to realize is the purpose of knowing the answer and solving the problem. To that end, the programmer chooses the appropriate language, defines in what way data is defined and how it should be structured.


Next, the programmer will create each step for accomplishing the task one by one. It's like a chef cooks out a recipe for cooking. Recipe for programmers is "algorithm".


A pioneer of information technology that created the concept of "hypertext"Ted Nelson"The algorithm does not mean to give the computer" to do xx ", but to realize the sequence of actions necessary to realize an event. Simple That is what it says.


However, the contents of the actual algorithm are not necessarily simple. There are hundreds of algorithms there, even with the simple action of "sort numbers by size".


In the scene where computers are actually used, the purpose of "to find customers from the list" ... ...


There is also a purpose "to find the shortest route from point A to point B".


Furthermore, I also wanted to "model hurricanes". In this class, the algorithm used is extremely complicated.


Everything from simple to complex, all computer programs are made up of "language" "data structure" "algorithm", and a lot of people's efforts.


Mr. Knuth said about the difficulty of programming "writing a program is more difficult than anything in my life, you have to put a lot of things in your head at once and think about it," I will talk.


Programmers constantly develop software within the evolving computer world.


Programmer's efforts have made computing world more complicated and have gained spectacular results so far.


Developing new software is an act that demonstrates the imagination possessed by mankind.


It stands at the top of high tech technology ... ...


And it is also "art".


"The thing that I wanted to do is to make everyone understand it and make you smile by combining elements in an elegant form."


Software programmers have pushed the limits of humanity, expanded consciousness, and have given power to people in a world full of information and interaction.


People of the past may have called this "magic". But that is not magic, it's "software" to move the computer.

in Software,   Video, Posted by darkhorse_log