How is the software we are using casually using?



Whether you use a PC or a smartphone, always open the software and do something. In the first place move PC and smartphoneOSIt can be said that it is always software, so it can be said that it always benefits from software, but what kind of method the software is actually made is hard to understand except for on-site developers. A movie that explains about such "unknown" software "How is the software developed?" Is published on YouTube.

How Software is Made


A computer program known as software consists of a combination of "1" and "0". this isbinaryIt is called the only computer can understand.


So, how do we make binary from software idea?


It is too annoying and time-consuming to write the binaries yourself, so normallySource codeI use that.


Source code is something like instructions to the computer that you can read with a little exercise.


Source code can be written in a special language called "programming language", and currently used programming languages ​​includeJava,Python,RubyAnd so on.


This is one of the programming languagesC ++Source code written by. This program is simple enough to display "Hello World!" On the computer display.


To run this source code on a computer, you must convert the source code to binary that the computer can read. The process of converting source code to binary is called "compileI call it.


If the compilation is successful and the source code is converted to a binary consisting of 0's and 1's, the program will run on the computer.


However, if there is a misspelling or there is no necessary symbol, the compilation fails and the computer can not execute the program.


A simple program can be developed by one programmer, but ...


In a large-scale program, hundreds of programmers may work in parallel, and in some cases it may take several years to complete.


Large programs are usually divided into hundreds to thousands of "files". Each programmer shares files and collaborates to complete one program. Cooperation with each other is essential for programmers who are building programs together.


For the management of large projects, "Version control system"The system called is adopted. Version control system stores all the source code created by the programmer on the server.


Each programmer creates a program at his desk and makes changes for each file.


Programmers submit periodically modified files to the server and the server lists detailed records of when and how and when the server changed the file.


If there is a change in the whole program at a certain point, the developer can cancel the change until the program works properly. It solves the problems of the file and submits the corrected file and it is OK if there is no change.


Even during the development stage of software, checking for abnormality is done firmly, but it is inevitable that abnormality is found after releasing the product by all means. It is usually "bugDefect on software called "software."


Even after release, software developers need to fix the bugs found and continually improve the software. This is why the software version is updated many times.


The method of software development can be roughly divided into two patterns. One is"Proprietary software"Software developed by individuals or companies for commercial purposes. Since the source code is not released and only the finished product is delivered to the user, it takes time to realize the request "I want this to be done" "I want you to change here".


The other is "Open source software". This is normally free of charge for users to provide services, and anyone can access the source code.


Famous open source software includes media playerVLC, Image editing softwareGIMP, BrowserFireFox, Sound editing softwareAudacityAnd so on.


Often developers of open source software are not paid financial rewards and are engaged in development with only passion for fine software.


On the open source software download site and homepage, there is often the item "donate to developers". Although it is a column of "donate to developers" which many people ignore, even if finished goods are available for free, in order to reward their dedicated passion, the donation system It is indispensable.

in Software,   Video, Posted by log1h_ik