Chapter 10 Anxious

xiaoxiao2021-03-06  17

"Where is the road to the future?"

After the time entered 2000, many things became uncertain, the direction of the world economy and information technology

The trend is more confusing. In the baptism of Internet / intranet, Linux and Open Source

After that, the development of information technology seems to have tended to diversify. Although many information systems are still making

Use our technology (such as web and master from architecture), but a variety of new information technology is endless

Appear (for example, SOAP and Web Service), plus the warming of .NET and Java two platforms,

Let many software developers are dazzling, then the heart is puzzled - "Where is the future of his future?"

In fact, it is normal to produce such doubts. Because the development of information technology has arrived unprecedented

The stage, not only has a mixed, operating system platform, virtual implementation platform, development tool, but also in various program languages.

Component models, etc. have risen the enthusiasm. The virtual implementation platform allows the cross-platform to blur the past field-clear development field.

The diversification of the program language has been diluted by several languages, and the web and multi-layer architecture gradually

Swapping the traditional information architecture. Diversified development of these information technology not only makes traditional developers face difficulties

Many combined variables such as the destiny, virtual platform, programming language, and information architecture, etc. also let developers

However, the sense of feeling is heavy, worrying about the fast footsteps of yourself, the software developers

Where is it in the future?

Development of information technology

Like many people, maybe you are still using the Delphi / C Builder developer from the architecture or web or

The general application system, but also proves Java application using JBuilder. In short, you may be well known

The techniques currently used are in a large number of applications in their daily applications. However, as a software developer,

You must understand the development of software trends, you must pay attention to new software technology at any time, because only constantly add your own

Additional value can be survived in this competitive, evolving in a rapid industry.

In fact, from the trend of the entire software technology development, careful software personnel have been able to see the future direction. In soft

During the development of the development, every time, all ages have dominated software technology affect the product and software company.

The rise and fall of life. Of course, people who can master software trends or companies have also succeeded. From the figure below, we can

It is seen that different information technology in different ages has mastered the main force at the time. The 60/70s is the data

The reason and program language is uncomfortable. In the 1980s, the database is owned by the database, and various components and middleware in the 1990s.

The system architecture is also dominated.

However, from the 60/70 / 80 / 90s of software technology, each era is from a point of information technology to the Lord.

guide. However, in the Internet / Intranet era, object-oriented and moding and other technologies for information on information systems

The bigger the increasing, the evolution of information technology is gradually formed, and the above figure shows the main one after 2001.

Software power is from platform integration and competition, as well as all-round software technology. In fact, as a software personnel, I

You can also chew this trend from your own information career, the problem is just that there is no time to take itself.

Thinking.

Software personnel in several years may only need to understand the programming language, for example, only C / C can find work

Work. At that time, the database was also almost a specialized technical field. The DBA at that time as long as it managed the database, because

There are many programmers who specialize in SQL. But over time, the software personnel began to start the program

Language, SQL, and management databases. Then you need to understand the component technology, web technology, and end-to-objective and

Modeling and other technologies. Why will the demands of software people become higher? This is because the development trend of the entire software is moving towards information technology integration.

The future software trend is to integrate software and system, which represents software personnel must know more, master

Many technologies can smoothly meet the future challenges. Only master each independent software technology, software personnel

It may be capable of having system integration. From many observations, analysis and statistics, we can extract out

These most important software technology or software qualities. These technical needs and software traits are software successful software

People must have, only to maintain high competition in competition more and more intense software

force.

■ Understand a variety of programming languages

■ Familiar with more system architecture

■ Object-oriented and UML model skills become basic requirements for software personnel

■ Ability to learn and develop quickly

■ Exquisite development capabilities

For the above technology and qualities, many readers will think that this is normal, why need you need this

What is it again? This is because many of these matters are not a new meaning due to time and space factors.

It has a greater pressure. I will make a detailed description in this chapter and Chapter 13.

Software personnel need to understand each present when developing its own skills and understanding the trend of information technology development.

Software platform and software development situation in order to plan itself. Currently, if we are flat

As a classification standard, it can be schematically divided into unix / mainframe, windows, java, and .net four major

platform. Due to future trends, software personnel in these different platforms will also have different situations and development.

However, in general, the prospects of UNIX / MainFrame and Windows platforms are a trend that gradually decline.

Because these platforms are already mature, saturated or will be replaced by new platforms.

If you carefully observe the Java platform, you can find that it has begun to enter the explosion growth. The fact is indeed true. Java

After several years of struggle, it is indeed a result of flowering in the world. Java except for fast in the United States and Europe

Outside the market, it has also begun to rise in Asia. For example, Java's performance in Taiwan is better than a year, not only

The number of people using Java has grown a lot, and Java's development tools (such as JBuilder) have been sold better than one year.

JBuilder has been brought to Delphi / C Builder to fight the trend. Also due to Java's forces,

Therefore, the value of Java software personnel is also high in boat.

More interesting is the development of .NET. Although .NET officially launched in 2002, many analytical and forecasts

The development of .NET will not take a certain height like Java, it takes 6/7 years to reach a certain height, .NET's footsteps

Many faster. From the above figure, we can also see that the trend of the .NET platform is already in a state of gentle rising. according to

Microsoft's latest announcement, so far, there have been 4 million PCs in the world installed .NET

Develop an environment. Estimate in 2003, Microsoft launched the next-generation operating system Microsoft .NET Server

Thereafter, there will be a number of more PCs installed .NET virtual execution environments. Of course, this also represents .NET's era may

It is earlier than our imagination, which means that the needs of Net software personnel will begin to emerge.

According to the research on Gartner Group, the future information forces will be flattered by the Java / .Net, most likely

The result is that Java will dominate the / backend and the UNIX / Linux / Mainframe market, and .NET may control

The client, Microsoft's action consumption end, and gradually towards the middleware. It is more likely to pass in the future

The computing power of Intel / AMD high-order CPU and Microsoft's .NET Server is controlled by UNIX

The low / medium / high-order workstation market has achieved a certain advantage.

The following analyzes show the case where the force gains between the four platforms. .NET will soon replace Microsoft original DNA architecture and become the core technology and architecture of enterprise system under the Windows platform. I think this phenomenon is

Reasonable, but more interesting questions is when .NET will penetrate the mainframe and Java platform?

After reading the competition between the platform, let us see the trend of the 2002 application development type.

Application system distribution trend

The type of application system that is actually developed every reader may have different. Some readers may be the development of MIS applications

In fact, some may develop Web solutions, and readers are developing distributed applications or low-order.

System software, embedding (Embedded) software, or driver system. Regardless of the information system of the reader

To understand the development of the entire information industry will be very helpful, because this information helps information

Personnel are preparing to plan their careers and understand the trend of the entire information industry.

The figure below shows the application system species statistics for information developed in 2002. As can be seen from the figure, the master is from the frame

The structure is still the first, if combined with the development of the database, has a total of 24.8% share. At the same time, we can also

It is understood that the development of the Web has almost exceeded the master from the architecture, and it is estimated that the Web development will surpass the master.

Structure, becoming the most popular application system development.

What is the most important system species in the Java and .NET enterprise platforms? Actually answer

The case is quite obvious, it will definitely not be a low-order system species, but multi-layer architecture, web / web service

Systems, component systems, etc. Can you see the future of people in the future?

Component architecture usage trend

Java's EJB and Microsoft COM want to compete in the corporate market, become the core group of corporate object application systems

Part of the architecture. But EJB and COM have chosen two different development directions. For EJB, Sun just defines it

Standard function specifications, the EJB server is developed by each EJB vendor based on standard EJB specification. CoM is

Microsoft defines a standard specification and implements itself. It is because EJB and COM take different strategies, so EJB

Get more vendor's support, launched many different EJB servers, but COM has been built with built

Microsoft's operating system has more users.

At present, EJB's functional specifications have evolved to version 2.x, and Microsoft is also ready to launch COM 1.5. SUN and

Microsoft promotes many years of EJB and COM , how is the situation in which two component architectures are used in the industry?

Is the two small rain?

According to the results of last year, EJB has indeed began to root root in the enterprise, and there have been 19.3% of companies that have made

Use EJB technology; another 15.3% of companies are ready to start using EJB. This trend and Gartner Group for

EJB prediction is very compliant, it is estimated that more than 40% of companies will use EJB in 2004. From this phenomenon

Look, EJB is really that it has been successful, and its real use has also been certified. The practicality of Taiwan EJB is getting more

Popularization, many large companies, ISV have begun to use EJB as the core technology of key enterprise applications,

EJB people need to rise.

Since COM is built-in operating system in Windows in Microsoft, it should be inextricably used.

low. Just COM predecessor COM / MTS, etc., because of its doubts, it is used as a corporate core.

There are not many heart technologies, most of which use COM as a reusable software component for the client. But after com is launched, due to its significant efficiency and ductility, it is shocked by Microsoft on TPCC.

The efficiency is also using the COM component, so Com gradually enters the corporate market and becomes the core of the Windows platform.

Component architecture is used by many companies' applications.

According to the 2002 survey, COM usage has exceeded 34.5%, while 13.9% of companies have

Interest in use. Microsoft finally has certain results after the efforts of promoting COM technology several years. But Microsoft

The challenge now is the impact of .NET for COM , because Microsoft's platform is converted from native window to

The stage of .NET, many people also began to confuse, the component architecture in .NET is still COM ? Still have other

Component architecture instead? If .NET still wants to use COM as a component architecture, then pure .NET development tools

Unable to develop native COM components, so that COM in .NET does not not be the first class of the first class.

Is it confident? If you use the .NET components, then the ductility of the pure .NET component has not been actually verified.

Nor does it provide the ability of Two-Phase Commital and Distributed Commital, and how can it be used as an enterprise application system?

What about the core components? It seems that Microsoft has a long way to go in this regard.

CORBA? Under the strong attack of EJB / COM , CORBA seems to lose the original brilliance, but it is undeniable that

Corba is still the most complete component model of architecture / service, and the longest-time verification. According to the 2002 investigation

As shown, Corba still has a considerable amount of usage, and the future still has a stable usage, visible

Corba is still quite welcome.

With the emergence and growth of Microsoft .NET, CORBA seems to have a greater potential in the .NET platform,

Refer to the next chapter "EJB against CORBA? Interesting Assumption".

Information technology to the current stage can be said "The platform is gradually integrated, but the program language presents hundreds of concert.

The situation ". Plus UML and other modeling technology and software are getting closer to software personnel, database and SQL technology

More has become the most basic skill of software personnel, so the software personnel itself will naturally face the strength of 18 martial arts.

segment. Just a good software personnel playing tiger tiger, and the general software personnel are more in the more and more often

No proficiency, until the end, it hurts yourself.

Back to the previous question, the current information technology is indeed developing towards the diversified direction. Too many technology, products,

Architecture, program language, database, client type, etc., etc., causing many software personnel and anxiety.

This is a natural phenomenon. But on the other hand, the platform is in convergence, the system development is moving towards the integration stage.

The requirements of the staff are also integrated. Therefore, in addition to anxiety, the software personnel have learned after understanding the software trend.

Should be questioned:

are you ready?

Fast development cycle

When college, study system analysis and design (System Analysis and Design) course, just see one

Statistics, said that the programmer only writes a valid program code a day, I was bad. I want to enter

In the information industry, there is a high salary and status, more importantly, work so easy, write a line of code on one day, close

Eyes can do it. Unexpectedly, after the real entry of the information industry, the situation is very different. Not only do you have a heavy work, you need to write a hundred thousand lines of program code a day, this is the day you wrote a row a day? Not allow

I am sigh, I seem to have entered the wrong line.

All readers can feel that now the time course of system development is getting faster. I remember 5/6 years ago,

The speed of the system and project development is from about 1 year to 1 or a half, it has been shortened by about 10 months ago,

After Internet / Intranet rapidly, many systems and projects are even shortened to 3 months.

Urgent time limit. The survey of the information institution shows that the development of systems and projects will continue to be shortened, and in 2012

Actually only one day, this ultra-high standard requirement may scare a lot of software personnel. No matter the transfer

Check if the data is 100% correct, but from this information investigation trend and my own experience, it is more increasingly

Short development time is indisputable.

How should software staff adapt to the faculty developing time? This is the troubles faced by many people. In fact

Many programming languages, development tools, and software projects emphasize that helping software personnel increase productivity to adapt to fast opening.

The requirements of sending are just as the demands of time, and many traditional programming language and development tools have been present.

It is not a phenomenon that is not from the heart. In this case, what is the problem of solving the problem?

A few years ago, the industry's speed is more and more faster, which caused the decline in software quality. Many soft

In the perfect rate, it has not yet reached a certain level, causing more problems, so the software industry has

Many people are laughing as "unreliable industries". In order to improve this phenomenon, many software engineering technologies have appeared successively.

Ask to improve software quality. The most prominent is to emphasize software IC, which can be emphasized in various software engineering of object-oriented.

Complex software components are qualitative to speed up software development and improve software quality. Object-oriented big

The flag has three-bit-oriented master, but also lets the UML and other models are uncomfortable, so that Rational Company has become

One of the most important software companies in recent years. But in a few years, UML has always been competed for software development

Discuss, many software people have doubts about UML too complicated processes and too many UML graphics, so a while

Extreme Programming boom, emphasizing the characteristics of light, dynamic, rapid development. In fact, this

A phenomenon is reflecting the software industry's requirements for development "speed" have surpassed over-emphasized software engineering processes.

importance. The current information industry needs "flexible" development speed.

The picture on the right clearly shows that many companies and software companies from software development feature from the second half of 2002.

Requirements, which are the most important qualities are "flexibility", followed by EXTREME that emphasizes speed.

Programming character. In fact, these requirements for software development are also responding to the previous graphic display.

Requirements for development speeds.

I think there is no conflict between UML / RUP and Extreme Programming / Agile Developments, but

Complex. For large, complex system development, UML / RUP is still one of the best methods so far.

Just require appropriate corrections, do not emphasize all forms of processes. Extreme programing / agile

Development is particularly suitable for medium / small systems, requiring the development requirements of rapid response time.

Since rapid development has become one of the most important software development elements, how should traditional software personnel?

Should it be? In fact, this principle is not difficult to understand, the answer is implied in the meaning of developer-centric in the figure above.

Righteousness. Think about how many companies now increase efficiency? One of the answers is to organize flattening, minimize unnecessary repetitive waste. Software development is also the same, software tools should try to develop staff as much as possible.

Let developers use fewer cycles to complete more development phases and provide more reliable software. E.g,

A new generation of development tools allow developers to use the analysis / designer with UML model in a development environment.

Communication, and can write program code in a development environment to view the relationship of program code in a visual manner

And reliability, unit testing, pressure testing, load testing, and and measurement can be performed in the same development environment

Test personnel cooperation. In addition, in this development environment, project management and version tubes can be jointly communicated with the development team.

Work. In this way, developers can provide higher productivity in shorter time history, reduced development

ring. Of course, this means that the software personnel must know more and the requirements are higher, but this is indeed

Let developers more efficient and increase the productivity of the entire team.

In the face of the requirements, you are a professional software person, you:

Are you ready?

Program language war

From the history of the development of program language, it seems to have a unified trend ago. Cobol is almost in commercial application

The fact standard, in scientific calculation, Fortran has an unsubstitutional position, while C / C is almost monopolized.

His application. But with the rise of Internet / Intranet and RAD tools, this by several mainstream languages

The situation in the grip is quickly broken. Especially in various scripting languages ​​(scripting language) and java in Interne

t

After the application has gradually achieved the advantage, all new programming languages ​​come, it is dazzling, I don't know how to

select. The program language battlefield suddenly fell into unprecedented enthusiasm after several years.

In fact, the continuous emergence of various program languages, reflecting is that the previous programming language is insufficient or discomfort

Used in specific applications, therefore require new programming languages ​​to solve the problem. The new program language represents

The diversification of information applications, and in the past, the situation of Cobol, Fortran, C / C is also rapidly broken.

Today's software developers may have to familiarize with several programming languages ​​and choose to use in different applications.

The most appropriate program language.

Take the development of a web application system as an example to see what the most popular, most important application system is currently

Language development. In Taiwan, it is undeniable that ASP is definitely the solution for the most people. This is

It is medium or small system, and the area distributed in Web application systems is not wide.

Big, the ASP is enough to meet most of the needs, the standard for software staff is easy to develop quickly

Preface language.

However, for the US or the mainland, this is very likely to have many large systems.

The situation is very different from the situation in Taiwan. So, in the world, the software personnel use the program language to open

Send a web application? I am very interested in the answer to this question, because you can broaden your horizons.

The following figure shows the results of the information institution to the US software personnel, which can find the highest use of the use from the figure.

Is XML instead of ASP or JSP. However, the three of XML, ASP and JSP add up to 3, which can be seen

The three programming languages ​​are the mainstream of web application development. It is also worth noting that although PHP has recently increased

Long, and have the advantage of Open Source, but actually accounts for 4% usage. PHP growth rate is very shocked

People, this will also explain later, but PHP wants to have a significant position in the field of Web development, still need more efforts.

In addition to the development of the Web, if you do not pay attention to the difference between the development tool, the following figure is in the perspective of the program language.

Show is currently for investigating statistics for program language, Java, Visual Basic, C / C and

C # is currently 4 major mainstream programming languages. However, the C # number in the figure below refers to the performance of C # in 2003, not

In 2002.

The results of the findings in the figure are obviously in the case of Taiwan and the mainland in my country. In Taiwan, Java is fast

The influence of speed climbing, C / C continues to decline, and the largest useful programming should be Visual Basic

And Object Pascal. The situation in the Taiwan area is slightly different from the mainland. It is currently rapidly in the mainland Java.

Rise, but there is no status of the most influential language, but C / C is still the most moving in the mainland.

Things of the programming, Object Pascal, Java, and Visual Basic are urgent. According to 9CBS website

Results of statistics, the number of articles discussed in various program language is shown in Table.

From the right graphics and numbers, we can understand that the number of people who use C / C languages ​​in the mainland is numerous, while Java

It has exceeded Visual Basic. However, the future development situation is more curious because of C / C in the world.

They have begun to gradually walk down the slope, and the C / C will not have similar phenomena in the mainland? Visual Basic

Will PowerBuilder will continue? When will Java become an overlord? When will C # will catch your head? These ones

The problem is very worthwhile, because this not only affects the growth of the forces between the various programs, but also the software

The demand and variation of the working market.

Interestingly, on the Windows and .Net platform, the program language is in an unprecedented animation, and

Different program languages ​​are mutually stirred, interacting, and then new programming languages ​​or in the original programming language

Add new mechanisms to meet new needs. But in the Java platform, almost only java language, no other

s Choice. So readers like a single program language simple, or like a splendid spark generated in multiple languages?

I personally prefer a variety of languages, because I think we can appreciate the design of different programming languages.

Spirit and thinking to absorb more knowledge and technology, can smell out through the results of each other, can smell each other

The development direction of future programming languages, this is probably because I especially like the program language and compiler when I am from college.

The result of the course.

Know thyself, ever-victorious

Let us take a look at how the information industry is competitive and evolved in this actual competition example of the EJB Server Market.

Bar. Three or four years ago, when the EJB market began to grow, many software manufacturers have invested in this potential market.

At that time, all the baselines of all EJB vendors were probably in line with EJB specifications, using the latest JDK standards, and perform efficiency.

The best EJB server. At that time, the EJB server that competed at the time can be described in Mount Manchang, why? because

In this stage, it is purely technically a demise point. This threshold is not high, and the software personnel with technology are more.

Therefore, in this stage, it has a business man who has a wisdom, and the EJB server engine is unable to win.

If you have an estee, you must want to increase the competition threshold to prevent the competitor's continuous approach, or add "software!

"To provide a function of competitors.

In the second phase of the EJB server competition, the gradually woning EJB vendors began to join various services for the EJB server, one of which is mainly based on increasing commercial application services, such as Portal Service, ERP Service, etc. Another

Outside a class is based on technical services, such as distributed transaction services, security services, etc. Due to these software services

The addition of the EJB server gradually produced the leader of the EJB server in the second phase of the EJB server competition, many other

EJB server manufacturers have naturally withdrawal of the market under the competition, HP is an example.

Now the EJB server market has entered the stage of the last killing, because most of the manufacturers in the leader provide classes.

A like service. So how do you compete next? IBM quickly saw the key point, that is, for WebSphere

The ability to join the integration development platform. The modeling tool and technology are obtained by metrophically, IBM can combine

The original Java development tool forms a key development platform for WebSphere while attracting corporate users and

Developers develop more customized services for the corporate platform formed by WebSphere to form WebSphere

Strong exclusive strength. This is the advantage that WebSphere's largest competitor WebLogic is currently not available.

From the process of competition from the EJB server, the key to winning is whether the software personnel can see that others can't see.

Advantages and provide additional services. For the development of the software personnel, the truth is also the same. Most software personnel

They only pay attention to refined in a specific development tool or in a program language, but it seems to be forwarded with others' footsteps.

A few software elite has a high-level cultivation in the information technology field, but it is really awesome.

Add additional value and provide creativity. Just like the Chief Scientist - Blake Stone of JBuilder,

Why is he becoming a leader in a generous situation? Many qualifications, age than Blake Stone

How can many R & D persons can only be an engineer? Very simple, because Blake Stone has seen JBuilder earlier.

Development trend and competition strategy, master the artery development of Java development tools, can develop teams for JBuilder

Provide more value, plus strong technical strength, and finally become a household name Java genius.

I have always thought that any software technology will eventually be well known to the public, just like the Lords ago, because of the architecture

This light does not make people long. Instead, through the continuous cultivation and trend of weekdays, plus

Professional technologies can keep software personnel in the leading group and master the artery of the software trend. Have this kind of

The special software personnel can provide services from time to time, which will provide sustained innovation from the team from time to time.

It is a hundred battles.

in conclusion

Human scans for new things are usually caused by ignorance of new things. Similarly, software personnel

Future confusion and anxiety come from not know how it is good, this is also caused by ignorance of future trends. this

In the section, we learned about the development of the trend, now and future software trends through analysis, observation and statistics.

After the move is suddenly open, confusion and anxiety are no longer important, the software person should be self-friendly self-employed:

Regardless of the war between Java and .Net platforms, no matter which software component or program language will be obtained.

The final victory, the world's rapid development of software systems will not change because of that party wins, software people

The staff must be prepared to face this trend. Think about it, JBuilder appears in a new version of the year, Java JDK and

.NET also launches two versions of the two versions of the two versions in almost 1 year and a half, even the traditional development tool

Almost a version of a version of a year. More exaggerated is, Internet / intranet technology now

There is a new look almost 3 months, how should developers should be ourselves? The opportunity may come on everyone's body, but only the talents who are ready to have a chance, no

Let it slip from the hand.

转载请注明原文地址:https://www.9cbs.com/read-42298.html

New Post(0)