A good start is half the success. This article will first try to tell you what a programmer is? Why do we need such a program? What is the correct method for getting started?
Programmers can improve their skills more quickly only on the basis of understanding the above content, and then begin program design. In fact, what really matters for a software developer is not how to write the code in this line, but how to write the code. The key is the problem of thinking, and the idea is actually the accumulation of experience. Experience is a process that enables you to form an open mindset from the initial closed mindset. Tell the readers some experience I have gained in my programming career over the past decade that it is also my main purpose to write this book.
1.1 program = Software
Nowadays, many people think that a program is software, and a software is a program. In fact, software and programs were equivalent in 1980s, or they may be equivalent in non-pc fields, such as an embedded software field, software and programs may be equivalent. However, in the pc field, the current program is no longer equal to the software. What does this mean?
1. Brief description of Software Development
In 1980s, pc was just born, and few people in China wrote programs. If you write a program, someone else can use it. At this time, the program can generate value, which is directly equivalent to the software.
However, since the development of the software industry, the case in China is used as an example (in the United States in 1980s, the program has been different from the software), and the program is also different from the software. Because it is easy to write programs now, but it is difficult for your program to generate any commercial significance or value, which makes it difficult to directly turn into software. To make a program directly turn into software, there is a high threshold in the middle. This threshold comes from the formation of the entire industry.
Now, after you write a program, you have to face the commercialization process. You need to publicize, you want to let users know, and you want to establish distribution channels, maybe you need to spend a lot of time convincing others to use your things. This is a process from a program to a software. This threshold is already high.
When we chatted with people from major domestic distributors about the sales channels, their boss said that the threshold for software development over the past few years is quite high. If you do not have 5 or 6 million software, it cannot be played. I said, "You have a high threshold ." He said, "That must be. If you write a "rotten" program, you will close down tomorrow, and your stuff will occupy my warehouse, I still don't know who to look. My warehouse is asking for money! There are so many software today !"
Therefore, if you do not have certain assets, dealers will ignore you. The actual situation is the same. If your company is relatively small and not famous, and your products are put in the dealer's warehouse, then he will receive you for the moment, if the products are not sold, generally, two weeks are returned. Now there are a lot of options for dealers, and there are already a lot of so-called software. There are more programs, all of which want to become software, and all of them say they are "gold ". But only by enduring the user's test can we become the real "gold ".
This is why there were almost no new software companies in the United States in 1990s. It's just that big software companies merged in 1980s. I swallowed you and you ate me. However, there are a lot of people writing programs, and the threshold for software change in the United States may be higher than ours. Therefore, many people write programs and leave them online to form shared software.
2. Shared Software
Sharing software is a way to avoid commercial channels. It avoids the business threshold, because the industry will not easily enter after the threshold is very high. When I write a program and drop it online, you can download it and use it again. Shared Software is generated in this way because there is no way. If a program is directly equivalent to a software program, no one will easily drop the program online.
People who started to develop shared software didn't think they could make money, but later they used more people and someone paid for them. Software sharing shortens the distance between the program and the software, but the distance between the software and the commercial software is further widened. The functions and goals of commercial software cannot be "played" by one. At this time, the software was no longer made by several people or a group. This is why new software companies in the United States cannot generate. For example, the netscape Network is in the range of 1995 ~ The new software company was launched in 1996, but it disappeared two or three years later.
1.1.1 formation of commercial software thresholds
1. The formation of commercial software thresholds
The formation of commercial software thresholds is the inevitable result of the development of the entire industry. The threshold for any industry in the initial stage is very low, but as long as it reaches a certain stage, its threshold will inevitably rise. For example, it is very difficult to produce cars in China, but in 1950s ~ In 1960s, you loaded four wheels and added a diesel engine to form a car. At that time, the Wright brothers loaded a propeller and added two wings to the plane. This can be done when the entire industry is not yet formed. However, when the entire industry is formed, you cannot do it. This is true for all industries.
Why are so many people busy when the website comes out? This is also because at the beginning, it seems that the threshold is very low and everyone can do it. A website can be built as long as there is a server with a root network cable. This is the case when the industry is in its initial stage. But after the formation of this industry, you can easily "play" it.
The same is true for software development in China. Since the formation of software dealers in China, this industry has been truly formed. Whether a channel is an important part of determining whether an industry is formed or not. Any industry will have a distribution channel. If a channel is formed, this industry will also be formed. The first dealer is from January 1, 1994 ~ Founded in 1995, that is to say, the Chinese software industry was probably formed in 1995 and has only experienced eight years of development.
There is an impetuous idea that the Chinese software industry should soon be able to catch up with the United States. The software industry in the United States was formed in the 1980s s and has been developing for more than 20 years. The Chinese software industry is only eight years old, and eight years old is an ignorant child. in their twenties, they are a strong young man, so their power is not equal. But we also need to see that when the 8-year-old is 15-year-old, its real energy will be reflected.
2. Impact of software thresholds on programmers
The software industry in China is now forming. Therefore, to be a programmer, you must be patient because it is not the same as before. You must clarify all the problems before proceeding with the program.
For programmers, the best work environment is in an existing or initial company, which is the easiest way to succeed. It is already very difficult for a single person to fight the world. Even if I occasionally make two shared software products online, it is quite difficult. Because there are already many people working on software. This also means that the software is not equal to the program, and the program is not equal to the software.
The program should be turned into software, which is a commercial process in the middle. Before there is no threshold, it does not have this business process. Now there is this industry, and there is a commercialization process between it. This business process is not something that one can play.
If someone else has already made the software before you start, and then you decide to make the effort, you will have to double the effort to catch up with others.
Nowadays, commercial software is usually composed of many modules, and modules are part of the entire system. It is almost impossible for an individual to completely write a business system. After the software enters the windows platform, it is already very complicated. Unlike in dos, you can sell it by writing two lines of programs, and you can sell it by making a zip file. In fact, commercial compilers in the United States are not "playable. Now you may think it is very simple. Even linux has a gcc program and the source program is still running. You can change it to a vc and try it. Will someone use it? Can it become software? Even if you make another interface, it is still a gcc, and it will never become a commercially available software like visual c ++.
It can be seen that the foreign software industry has a much higher threshold than China's. I don't think it makes much sense even if we try again in China. You cannot catch up with this threshold. It not only takes twice as much effort, but in such a short period of time, you also need to complete the work that others have already done, including the testing work that others have done. Only in this way can your software be competitive with others and can be compared with it.
1.1.2 recognize your development
If you don't even know the above, you may think that you can go to a bookstore to buy a book such as an mfc master, and compile two programs to become a software master. It's like these books are "gold". I learned twice, learned vc and mfc, And I could sell them as a software. This kind of thinking is not impossible. In the end, we can do it, but we must be patient and have opportunities. Opportunities come from patience. The more patience you have, the more opportunities you have. You have to work very hard, spend a lot of energy, and possibly take a lot of detours.
If you start with mfc or vb, it will take a lot of detours if you want to make a general software that can truly be used in the personal field. The direct shortcut is definitely not based on these two paths. These two paths seem very fast, and many companies really need such things. For example, if my company is doing System Integration for another company, then I need something like this, no matter how you implement it, I only need to achieve this goal.
There are n methods for implementation of any software. Even if you implement it in the worst way, there is no problem. At last, it can still run. Even if there is a problem, another change is. However, general purpose software will not work. General purpose is one-to-many. The software you have developed will be oriented to the whole country. In the future, if free trade will go to Hong Kong or abroad, if the entire product can be sold all over the world, all the work done by the general software is not that simple at this time. Therefore, the correct entry method is critical.
If you just want to mix up and find a job, it may be enough to teach you to become a master of mfc and other books. However, if you want to make a good software, not only can you get a bowl of food, but also can make you famous, and finally your software can become a lot of people, even if you want to operate it as a business, the first step is crucial. At this time, you can never find an mfc or a vb book to learn twice. Instead, you must start from the bottom and start from the basics.