I have been studying GP and STL recently, I have read a classic book "GP & STL" in this area. I feel that Austern and Hou Jie's work is really uniform! Record the history of STL and self-press:
Alexander Stepanov, known as the father of STL, was born in Moscow, Soviet Union, in the second half of the 1970s, he has begun to consider, under the premise of ensuring efficiency,
This is the prototype of the generic thinking of the algorithm from many specific applications. In order to verify your own thoughts, he and the Professor of New York State University, David Musser, a professor David Musser, a professor, TETRE, jointly developed a language called Tecton. Although this attempt eventually did not achieve practical results, it gave the STEPANOV a big revelation.
The essence of STL is independent of algorithm and data structure!
In the subsequent years, he has also established some large-scale libraries with the David Musser and others in the SCHEMA language (a variety of Lisp languages) and ADA language. This time, Alexander Stepanov has begun to realize that some of the problems existing in the object-oriented program design idea, such as the defects of the abstract data type concept. Stepanov hopes to gradually form a conceptual framework for software design through the classification of each component in the software.
Arkant Stepanov works in Bell Laboratory, Alexander Stepanov works in the Bell Laboratory. Research on generic software library for the first time. Unfortunately, the C language at that time has not introduced the template's grammar. Now we can clearly see that the template concept is implemented in STL implementation. When it is, it is not selected when using the inheritance mechanism. Despite this, Stepanov has developed a huge algorithm library. At the same time, in the process of CCPANOV, Stepanov begins noticing in the C / C language to achieve its generic thinking in the process of the top masters of Andrew Koenig and the top masters of Bjarne Stroustrup (founders of the C Language). The potential advantages have been made. In terms of pointers in C / C , its flexible and efficient use, making later STLs maintaining high efficiency while achieving genericization. In addition, iterative agencies that occupy an extremely important position in STL are abstractions from the C / C in the Native Pointer. In 1988, Alexander Stepanov began to enter HP's Palo ALTO laboratory work, in the next 4 years, he is engaged in the work of disk drives. Until 1992, he returned to the research work of genericization algorithm due to a research project established by the Laboratory Bill Worley. After the project was built, participants gradually decreased from the initial 8, and finally only two people left - Stepanove himself and Meng Lee. After a long time, the ultimate, the belief and sweat is exchanged in a huge runner containing a large amount of data structure and algorithm components. This is the prototype of the current STL (also an implementation version - HP STL) of STL.
In 1993, At that time, the Andrew Koenig in Bell Lab has seen Stepanove's research results, which is very excited. With his encouragement and help, Stepanove has a relevant speech for the ANSI / ISO C Standards Committee (entitled "The Science Of C Programming" in September (entitled "The Science Of C Programming") tells its ideas. Then, in March, in the San Diego meeting, a proposal submitted to the Committee to make STL a part of the C standard library. Although this proposal is very large, it has reduced the possibility of passing, but due to its new idea, the voting results are delayed for the proposal with the significant opinion. Subsequently, under the help of everyone, including Bjarne Stroustrup, Stepanove has improved STL. At the same time, an abstract module of encapsulating memory mode information is added, that is, the Allocator in STL, which makes most of the STL can be independent of the specific memory mode, which is independent of the specific platform. At the Waterloo meeting in the same summer, the members were in favor of 80%, and 20% objected, and finally passed the proposal, decided to formally incorporate STL in the C standardization process, and STL was placed in the meeting's work file. Since then, STL finally became an important member of the C family.
Allocator's essence is an abstract module encapsulated memory mode
Thereafter, as the C standard is constantly improving, STL is constantly evolving. Until 1998, the ANSI / ISO C standard officially finalized, STL is always an indispensable part of the C standard.