2022年6月29日水曜日

How could a student like Mark Zuckerberg build such a complex system at such a young age when most commercial programming textbooks only teach the basics? Answer: Because they all look at other people's open source programming sources, such as GitHUB, for reference.

Nekoko


I wonder if I'm allowed to write this.


To put it bluntly, it's because I saw other people's programs. At least, that's how I started.



I only write programs that run on PCs, so I don't know much about web-based programs, but they are programs, so I write them in a similar way.


When I was asked to write a program at work, the quickest way was to take a similar program and improve it. The difference here is whose program you bring in. First, we look around at the engineers in the company, and we use the program of the most capable person as a reference. Do not read the programs of bad engineers just because they seem nice. It is a waste of time. First, understand what the whole program looks like. Fully understand the cohesion of each process (classes, functions, variables, data structures, etc.). You also need to completely understand how the input/output processing is done, what libraries are used, etc. Anyway, you need to completely understand everything from corner to corner. Next, think about how to rewrite this program to your current specifications. If you have read the program, you will know how to write the appropriate code (style) for the program, so you write it according to that style. As you gain experience in this way, you will gradually be able to view the program as a whole, not just the code.


Next, I read the programs of projects on Github or on the Internet. Then, we will read the project's program on Github or on the Internet. I learn things that I couldn't have learned from the in-house programs alone, such as how to think like this or what libraries exist. If I find something useful, I gratefully copy it and use it in my own project.


At this point, if it is an in-house program, I am able to write it well, and I start to pay attention to the algorithm itself. I start to worry about how fast this kind of calculation can be done in this way, or how much calculation error can be made. Then you want to know the underlying principles, and you start reading books on mathematical theory and algorithms. I am grateful for these books, and I copy them and use them in my programs.


You may also be interested in design patterns. If I think I can use them, I will copy them and try to use them in my own projecct. I may become bored, thinking that my job at the company is no longer just doing routine work.


And then you'll join OSS? People who have come up with bad ideas are drawn into a black hole and disappear into another world every year.

0 コメント:

コメントを投稿