[Soft] two trends of software technology

Source: Internet
Author: User

From the development history of software technology in the first decade of the 21st century, there are two main trends:Open SourceAndWeb-based

Although software technology is open source code from the very beginning. However, the last two decades of the last century were the "Golden Age" of closed source software developers ". In that era, Microsoft and other commercial software companies have emerged, and their core competitiveness lies in their source code. However, this trend has been broken in the last ten years. Open-source software is becoming more and more important and has gradually become the mainstream software technology in business. Its main performances include:

  • Stable and efficient open-source operating systems are becoming increasingly mature: Open-source operating systems have gradually matured on servers, desktop PCs, and mobile smart devices, and have replaced existing commercial operating systems and become the primary development platform. On the server side, RedHa (CentOS), Ubuntu (Debian), and OpenSuSE are increasingly becoming the most important server operating systems, and Apache is the most mainstream Web server, the vast majority of MySQL servers serve as the primary database system ,....... It is no exaggeration to say that on the server side, the profit margin of closed-source commercial software is already very small. On the desktop PC end, although the Windows platform is still dominant, its market is gradually eroded by free Ubuntu and Fedora. In the competition between desktop control and user experience, Windows has been transformed from an existing super master to a super master. In contrast to the latest Ubuntu 10 series and Windows 7 series, it consumes less resources, the interface is more beautiful and easier to operate. In the development of mobile smart devices, WindowsCE apparently did not obtain the expected market, and existing systems such as Symbian are also facing the threat of many open-source operating systems based on Linux kernel, this includes Google's Android platform. With the gradual maturity of open-source operating systems in different hardware environments, it will have a fundamental impact on the development of software technology.
  • Rapid development of open-source code Libraries. After nearly 30 years of technical accumulation, the open-source code library has accumulated a lot. This is not only about quantity, but also about quality. In the open-source code library, some heavyweight code libraries gradually mature. For example, the open-source Boost library on the C ++ platform has a technical breadth and depth that is hard to match with any commercial software company's products. These open-source Code libraries are integrated with platforms such as SVN, Google Code Search, and Sourceforge to form an environment for fast query, locating, retrieval, and comparison. This is the largest resource for software developers.
  • Open-source business model is becoming increasingly mature. The development of software is inseparable from the promotion of business. In the 80 or 90 s of the last century, software primarily benefited from licensing fees. This relatively single and original business model has been broken today. Software has entered the "free" era. In this era, free and efficient software is everywhere. The user selection range is large, and there is no drive to grant permissions. At the same time, the business model of open-source software has gradually matured. In addition to software systems that provide free services in the form of Web, there are also many software systems that use extended services for commercial operation. The maturity of business models promotes the development of open-source software. That's why many large companies in the industry, such as IBM and Oracle, are pushing for open-source software and are looking forward to gaining development-leading power.
  • Maturity of open-source communities and culture. Compared with the end of the last century, the open-source community is more mature and its operation is more professional. Information exchange channels are also more diverse. People can create "Homepage" with no effort or maintain the website application. You only need to register a blog or even a microblog to publish software technology information. In addition, you can use various vertical search engines to obtain information about software development skills and enhance your software capabilities.

It can be seen that open-source software will become one of the mainstream software development. Now, the main goal of software technology learning is to enhance the development capability of open-source software.

Another trend of software development is Web-based. Currently, the software form has been separated from the stand-alone form, or the LAN form. The Development of Multi-terminal and distributed software systems based on the Web Platform has become the mainstream. This is much like software development switched from a mainframe to a PC in the early 1980s S. At the time of the 70 or 80 s, software was mainly intended for mainframes, such as IBM's X360. In the 80 or 90 s, PC software for X86 architecture had become the mainstream. Most programmers are developing PC programs. This can be analogous to the fact that with the development of Internet technology, there will be fewer and fewer software for standalone development on Windows or Linux platforms, and Web communication and service functions will become necessary modules for software.

 

For every programmer, these three questions deserve our in-depth consideration:

  • Why Learning programming?
  • Is there any motivation for continuous learning?
  • What kind of goals do you want programming to help you achieve?

Under the above two trends, there is a direction for thinking about the above problems, that isStrengthening self-development capabilities of open-source software and web technologies will be the best way to achieve maximum value in software development.The main implementation methods are as follows:

  • Strengthen your control over open-source systems. For Windows users, it is best to install a free Virtual Machine Software virtualbox and a Ubuntu system in close contact with the Linux system;
  • Familiar with community-based development skills. Be good at using code search engines, and be good at finding help and asking questions in open-source communities. Gradually familiarize yourself with the community culture and communicate with the technology in the most "tidal" way.
  • Develop good document habits following team development principles. Open-source software development requires better team development capabilities, because many open-source software is developed based on Web, and its participants do not communicate face to face. This requires good development habits, especially document writing habits. Only in this way can we truly integrate into open-source software development and acquire knowledge and skills from the massive resource library of the open-source community.
  • Programming languages are not a problem, but it is still necessary to study the mainstream languages in some open-source communities.For example, PHP and python. Learning these languages will help you improve your open source software development capabilities.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.