Any problem in computer science can be solved with another layer of indirection

Any problem in computer science can be solved with another layer of indirection.  --by a predecessor of computer science.

Chinese translation: "Any computer science problem can be solved by adding an indirect application layer." (Don't complain about my translation ability stick out tongue )
        I believe that friends with several years of programming experience have heard of this sentence, and the source of the original text cannot be verified. So I used the term "a senior in computer science" to find an author for this sentence.
I heard this sentence a long time ago. At that time, I was new to computer-related subjects, and I was still studying basic courses such as "Computer Composition Principles", "C Language Programming", and "Assembly Language". At that time, my understanding of this sentence was very shallow (don't mistake me for how deep my understanding is now laughing out loud ), and I didn't think too much about the good intentions of the seniors who said this sentence.
        After a few years like this, I learned a lot of computer software and hardware knowledge. Especially after studying the course "Computer Architecture", my understanding of this sentence has been further deepened. A friend just came to me a few days ago. This friend is a flash maker. When I was talking about a problem, I woke up this friend with a random English that was not fluent. He said: No way! There is more than an application layer between the CPU and the hard disk. His understanding is correct, such as Cache, RAM is such an indirect middle layer. This notion has become more and more useful to my understanding of computer science lately.
   Another example: Friends who are familiar with RTOS should know a concept "Board Support Package" ( BSP ). The board-level support package is a layer between the motherboard hardware and the driver layer program in the operating system. It is generally considered to be a part of the operating system. It mainly supports the operating system and provides access to hardware devices for the upper -level drivers. The function package of the register, so that it can run better on the hardware motherboard. It is such an intermediary layer that links the previous and the next, with many benefits. It can realize an encapsulation of the OS to the bottom layer, so that users do not need to pay attention to the implementation of registers of different processors when using them under different MCU platforms. There is an RTOS called eCos, which is implemented in C++. This is rare, and as far as I know, most RTOSs are written in C. The BSP of eCos does a very good job. It designs different BSPs (based on ARM, MIPS, PowerPC, x86, DSP, etc.) for MCUs with various architectures on the market. This greatly facilitates users, because the most troublesome thing that RTOS users often face is platform migration, which often blocks many users from the threshold in the first step. This is the most direct reason why many RTOS users are too few.
   There is also a very famous law in the field of computer hardware: Moore's Law. Over the years, it has also greatly promoted the development of computer hardware.
Newton once said that he was only standing on the shoulders of his predecessors, so he could see further. So let us also stand on the shoulders of our predecessors and shout.
Salute to the seniors from all walks of life!
                                                                                                                                                                                        2015.3.25
        

Guess you like

Origin http://10.200.1.11:23101/article/api/json?id=326691437&siteId=291194637