The future of OOP
Written by/Bjarne Stroustrup & Tim Linde compilation/Meng Yan
Bet on Java? Or insist on C ++ unshakable? Or consider C #? Are you hesitant? Let's take a look at the following experts' arguments to understand the current situation and future of the object-oriented programming language.
Key words: C ++, Java, C #, OOP
Technology advances by a thousand miles, and the product production cycle is getting shorter and shorter. Many programmers have no time to master the second language. Whether or not a programmer's technical capabilities are taken into consideration, for him, to a large extent, what types of projects he will be able to participate in and what kind of companies he will join, it depends on the programming language selected today. To help you clearly understand the current and future situations of the two most popular OOP languages C ++ and Java, we interviewed Bjarne Stroustrup, the C ++ language designer, sun's well-known engineer Tim linkholm. The following are their ideas about the future of program design, comparison between languages, selection of Development and Innovation of OOP languages, and programming standards.
Future
What changes will happen to the way programmers write code in the next three years?
Stroustrup: In C ++, it may be complicated to complete any important work without proper libraries. Once a suitable database is available, everything can be controlled by us. As a result, the importance of building and using libraries is growing. This also implies that generic programming will be applied more and more. Only through GP can we ensure the versatility and efficiency of the database. I also expect an impressive growth in distributed computing and component applications. For most programmers, these development work becomes simple and clear by using a library that is suitable for use.
There is a trend that compiler vendors are trying to sell their unique "Object Model" and graphical interface (GUI) details to users. For example, Microsoft's COM and Inprise class attributes "properties ". This is neither necessary nor reluctant for users. The library I Want To See should be a library built with standard C ++ with flexible and trustworthy interfaces. Generally, these interfaces are platform-independent. C ++ has a strong ability to express itself. Even if a large number of macros are not used, it should be sufficient to meet this requirement. Even if the principle cannot be fully adhered to in some places, the dependence on platforms and manufacturers should be limited. The achievement of this goal reflects the importance of the software and tools industry to the application development industry. I suspect that there is no corresponding market for independent and cross-platform vendors. If such a market can be established, vendors may be able to make "really useful" products for customers.
Linde: For code developers, the main driving force is still two: Network and distributed-that is, the need to design and develop non-standalone software. Most applications will not run on a single device, but use platform-independent distributed programs like EJB and JSP. Programmers will have to face the danger of distributed computing. This poses a severe challenge to the design patterns, technologies, and intuition on which many programmers depend. This must be recognized before you select a programming language, although the design features of different languages may promote or impede this transformation.