Sender: RUFI (Search) , Station letter
[The following text is reproduced from Software discussion area] sender: Linjia (¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥¥) And change station: Drinking water, December 09, 2003, 12:50 Tuesday), station letter
I also come to see the unchanging and change of software technology within 30 years.
This is actually discussed with the views of an article. Under each topic, the horizontal line is the original view, the horizontal line is my point of view.
I. Intel x86's instruction set is simple, if these instruction sets have changed significantly, the industry has developed, accumulated software could not run, and the cost is too high.
Even from 32 bits develop to 64-bit, 128-bit, the compatibility of the instruction set is foreseen. ---------------------------------- In fact, this thing has changed the most likely. Of course, what is the meaning of this change. I think that first X86's large situation may change, and the second part X86 compatibility may be abandoned, and there may be huge changes in the compatibility implementation of the X86.
Everyone knows Winnt (including Win2K), which supports two CPUs, X86 and Dec Alphi, well known to the early CISC, and later use RISC's way to work hard to compatibility with RISC's old instructions, and Alphi is pure RISC. Everyone knows that X86 and Windows are now unique, that is, the performance of the so-called WIN Intel Alliance. However, Microsoft has never intended to be a boss of this world with anyone. In this alliance, Microsoft is currently slower to greater control. why?
1. Microsoft now has no direct favorable competitors, and Intel now has AMD this wolf girl who has been raised. Now, Linux is still too early to compete on the desktop and Microsoft. Now the habit of tens of millions of Microsoft users is not so easy. Even if the ease of use of Linux has surpassed Windos, Microsoft has compatible magic weapons. The power of compatibility is much greater than ease of use, you can now use Linux, tell him that Linux can use ADSL, you can use office software, you can listen to MP3, but he may ask you Linux to play with the same level? There is also a big aviation sea, there is .... Don't tell me Wmware, I also like Wmware, but it is still using Windows. If you are seen by Microsoft, you still have to pay with you. 2, Microsoft is converting from weak CPU-related operating system to give yourself more CPU support. The earliest DOS and Windows are closely linked to the X86 code. However, in the Winnt era, slow Microsoft divide the operating system into the CPU correlation, the CPU has two parts, which Winnt can support super CPUs like the Dec Alphi, on the other hand, Microsoft can live in Intel and AMD war , Becoming the true alliance of Win Interl / AMD Alliance. 3. Due to the dominant position in the Win Interl / AMD Alliance, Microsoft is provinging the war of Intel and AMD in the dominant position in Win Interl / AMD Alliance. The earliest war is because AMD is making a compatible Intel's chip, Intel as a victim picks up the legal weapon, then when AMD has survived after the law, Intel tried to use his own existing advantages, do not hesitate Changing your development path is sacrifice, I want AMD to track upgrades, but I have a minor effect. Then, amd and intel are compatible with the original X86 system, proposing different development directions. At this time, Microsoft does not block their behavior of this departure, but make a variety of different characteristics support. In this way, Intel has a multimedia optimization, and AMD has nowhere to have, and the driving and characteristics of the two are more and more route. This Microsoft has become a true unity of Win Interl / AMD, which is the only standard settor (in this case, Intel and AMD's respective criteria are not supported by Microsoft, and the other's standard has received Microsoft support Then the hit will be very heavy). What does Microsoft's dominant position in Win Interl / AMD Alliance mean? I think if I don't change, it means that Win Intel / AMD / DEC / ... will follow countless CPUs, which means that the operating system is the only standard, and the CPU enters the endless Warring States era. Because it is a very simple matter (this problem contains two levels, one is technology, it is necessary to compatibility with so many changing CISC structures, the other is legal, At the same time, you should wrap all patents in the relevant fields at the same time, this task is hardly completed.), But compatible with Winnt structures is relatively easy.
Alternatively, the results of virtual machine technologies are more more let people start to disengage from the shackles of X86 code. VMware on the software is a model, and now we virtually out of the x86 computer through VMware. Hardware TRANSMETA's CrusoE chip can run x86 analog code, which is never thought that this CPU is a X86 series. Both techniques give different types of CPU platforms, the X86 application running Hao Rhai Sea has opened the door. So the two technologies also make other CPU vendors without intending to intel or AMD, they can enter the WIN CPU camp. Two. Operating system - startup process
System power supply reset, hardware self-test, operating system boot, memory management, process management, hardware interrupt processing, other parts of the operating system, the user shell boot, etc. This set of processes should not change. ---------------------------------- These things have not changed. How many years is the keyboard, in addition to a variety of changes, is there a substantial change?
III. Operating System - Memory Management
The three-layer memory management model of i386 does not see how much change trends. The memory management mode of the operating system, the API does not change much. ---------------------------------- memory management basically does not change this. However, with the change of price factors, internal buffering, memory, hard disk, etc. may change.
four. Operating system - process (thread) and its scheduling
As long as the operation of the program within the operating system is scheduling through the clock interrupt or other software and hardware interrupt, the process is the basic unit of operating system scheduling. If "independent binary components" starts from a certain day become the basic scheduling unit of the operating system, it may be more of the process control block changes. The loading itself of "independent binary components" is probably the process.
---------------------------------- thread is the real scheduling unit, and there will be no more in a short time. change.
V. Operating System - File System API
File systems may constantly change, but the API of the file system should not change.
---------------------------------- WIN series file system may have a certain change, but it will not be very Big. This consent.
6. Database - SQL language
The theoretical and product technology of the relational database is very mature, and the SQL language is difficult to be replaced for maintenance to the currently saved, and XML may cooperate with SQL instead of replacement. Even if the object database theory and product are mature, SQL will definitely be compatible. ---------------------------------- SQL changes should be small.
Seven. Protocol and format of web browsing - HTTP, HTML,
Even if you are not satisfied with HTML, its modifications, the pace of progress is not very fast, too many information is stored in this format, and the cost of change is too high.
HTTP is accompanied by HTML, and the change will not be too large. This is even more.
-------------------------------- This may be a big change, the HTTP protocol is still not What needs to be changed out. But HTML may experience great changes.
Eight. Protocol and format of email - POP3, SMTP, MIME
POP3, SMTP, MIME has also been large, and the cost of change is high. --------------------------------- POP3 is very simple, is the most likely changed place, and the change of POP3 is almost There is little impact on the whole, the most affected by the mail client, and hotmail.com never supports POP3 but is very good, it is the iron certificate. SMTP will continue to upgrade, but must be compatible. Mine has no need to change.
Nine. Network Agreement - TCP / IP
IPv4 to IPv6 can be seen, but the basic structure of TCP / IP and the API should not change much. The cost of change is too high. ---------------------------------- Wireless LAN, 2.5G, 3G, or even 4G and other technology We have a profound impact on the network environment in the future. Although from the current point of view, IPv4 to IPv6 seems to lack power, but this process is likely to accelerate. Ten. Microsoft's Windows - Windows
Unless there is a significant business failure, Microsoft will not fall back, and this is mainly related to technology, not much. Simple thinking that Windows will have a long time.
Windows in Windows (Windows Technology) is the essence, which is already mature, its associated API, including GDI, message mechanism, and Common controls, etc. will not have much change. Even if there is a component, it is just another form of the API.
---------------------------------- Windows now is very good, but no crisis . It is now currently on the desktop system, there is no opponent. But in the server field, Windows's days are not very easy, unix / linux / freebsd / sun, etc. are all grabbed the server market. At least in the current point of view, Winnt and Win2k seized are small and medium-sized enterprises, and large-scale enterprises have also firmly mastered in UNIX camp. But since today, Windows is notoriously has reached a certain peak. Many companies have even begun to doubt that WINDOS is a suitable problem for commercial PC operating systems.
Eleven. Microsoft Windows - DirectX
As long as the people are still using Windows, DirectX will continue to maintain it as a game's development platform. ----------Has not changed much
Twelve. Open source organization and IBM Linux - Shell, Xwindow
Open Source Organization now can't see any foreground decline, IBM has developed for a hundred years, and they jointly driven Linux for 30 years should have no problem. Its basic shell and xwindow structure will not change much. --------- Linux may be an opponent encountered, may be OS, I am more and more confident, a special operating system specially likely to appear within 5 years to 10 years, one Real binary compatible operating system. And there are signs that the advancement speed is faster than Linux.
Thirteen. OOP syntax and ideological
The programming language is a tool for writing logic, calling API, and solving problems. The OOP syntax is now in the ascending, guiding the compiler, the virtual machine, and the API shifts. After several years, even if the programming language has developed a revolution, OOP is likely to be the foundation. ---------- The development of OOP is still promising.
XIV. Algorithm
It can be said to be part of mathematics, including pure mathematical algorithms and application business logic or application algorithms. The vitality of the problem-solving algorithm is forever, independent of the system, programming language. Even if we don't study new algorithms, you can master some algorithms, which is the long-term competitiveness of basic software development knowledge. ---------- The algorithm itself has changed. However, the development direction of the algorithm is changing, parallel algorithm, and so on are the development direction.
Second, the change is relatively large and the influence is relatively large
1. Product appearance, user operation interface and interactive mode
The appearance of the product, the change in the interface and interaction is never end. Companies like Microsoft put into great energy in this regard. In fact, this is to see the people, not for developers, but to a large extent, it will affect the product design, interface design and interaction design of developers.
------------ this improvement is no doubtful
2. Programming language, compiler, and its support library, virtual machine specific programming language and compilation tool selection is the programmer, development department's own internal transaction, generally independent of system API, product market demand, development results. There are very many factors that affect the selection of programming languages and compilation tools, which is large. Even if a programming language or its related compilation tool is very long, it is difficult to ensure that it is fixed by a development team for a long time. Excessive inverting is limited to a large risk of compilation tools, but it is difficult to make a good thing without drilling.
This is nothing to say.
3. Development management mode
Different products, projects, different application platforms, different programming languages, require targeted development management models. Even with the same OOP grammar programming language, it is also different for different products or compilation tools. The development management is actually the process of organizing developers using programming language to write results, and must of course constantly adjust. There are some of the management theories of thick lines that can only be guided, and real practices are another matter.
There is nothing to say this.
4. Application requirements for development technology
With the software application platform manufacturers, development tool manufacturers' continuous product upgrade, marketing activities, and constant changes in social consumption, market customers are constantly adjusting the demand for development technology.
have nothing to say