Design Concepts of Google and unixlite
Yesterday Feng. You gave me this message: the Google legacy.
Http://www.cincomsmalltalk.com/userblogs/runarj/blogView? Showcomments = true & Entry = 3308017355
Google's mission is to "integrate global information", which also determines the philosophy of designing Google's basic software architecture.
1. Do not use Oracle or SQL Server to store data.
2. Do not use Java technology to build the infrastructure, although Java is designed for Distributed Large-Scale Systems.
3. Do not purchase expensive high-performance servers;
4. Do not purchase supercomputers and do not plan to use backup systems (non-Data Backup Redundancy );
As we all know, Google uses a cheap PC Service Group to work (exposed by Google's secret data center ). That is to say, Google's successful experience tells us that building IT systems is based on actual needs, and "industry-standard" products may not necessarily help you achieve your goals.
Similarly, today we see unixlite of Nanjing University of Aeronautics and Astronautics. Unixlite is written in pure C ++. Their design philosophy can be seen in: http://www.unixlite.org/faq.html.
They only use: C ++ member functions, single integration and virtual functions, and think this is enough.
They believe that C ++ and C ++ have no difference if they do not have the following features:
1. Exception Handling
2. Multi-Inheritance
3. runtime type recognition
4. Operator Overloading (excluding new and delete)
5. templates
Therefore, it is very important to have a clear idea when designing the software architecture. Under the guidance of a clear concept, the software architecture will not follow the mainstream, which is also a necessary quality for an architect.
Please look at the free: http://www.infonortics.com/publications/google/technology.pdf.
Sometimes, Google's rich and varied products are implemented with clear ideas and unique infrastructure. Without these two aspects, Google will not be so different.