Seven Weapons for programmers in the information society

Source: Internet
Author: User

Although the development of information technology is not long, the explosive development speed of it enables it to quickly cover all corners of society and human life. Programmers are one of the witnesses of this wave of information technology, and they are also the main participants. This is the opportunity and responsibility given to every programmer by the times.
The update speed of information technology is amazing. The programmer's career is a process that requires constant learning and never can be fixed. During my work, I have seen many programmers browse some webpages that are not very useful as long as they have spare time. chatting and playing games on the Internet wastes a lot of time and is very undesirable. The other case is that the rapid development of IT technology makes many programmers dazzled and want to learn everything, but they do not know where to start learning. Let's look at this today and learn it tomorrow.
Although it technology is developing rapidly, many technologies have regular rules to follow. Some basic concepts, principles, and methods are still very common. Based on my own experiences and experience, I recommend seven weapons that programmers must possess to new programmers or confused programmers who have just entered the IT industry, with these seven weapons, although you can't say that you are proud of them, you can still be invincible.

First weapon: development tools

At least two or three development tools are mastered, which is the foundation of programmers. C/C ++ and JAVA are the key development tools I recommend, c/C ++ has become a powerful tool in development tools with high efficiency and high flexibility. Many system-level software is still written in C/C ++. The good combination of JAVA's cross-platform and WEB is the advantage of JAVA, and I really appreciate SUN's concept of "network as a computer, I believe that JAVA, its related technology set, will become One of the mainstream development tools in the future. Secondly, it is better to master a simple visual development tool, such as VB, PowerBuilder, Delphi, and C ++ Builder, which reduces the development difficulty, it can also enhance the concept of the programmer object model. In addition, you need to master basic scripting languages, such as shell and perl, to be able to understand these script codes at least.

Second weapon: Database

Why is database so important? Many applications are centered on database data, and there are also a lot of database products, among which relational databases are still mainstream, so programmers are at least proficient in one or two databases, be clear about the key elements of relational databases and be familiar with the basic SQL syntax. Although many database products provide visual database management tools, SQL is the foundation and a common database operation method. If you do not have the opportunity to access commercial database systems, you can use free database products, such as mySQL and S.

Third weapon: Operating System

Currently, the mainstream operating systems are Windows, Linux/Unix. It is necessary to use these operating systems skillfully, but these are far from enough. To become a real programmer, you need to have a deep understanding of the operating system, its memory management mechanism, process/thread scheduling, signals, kernel objects, system calls, and protocol stack implementation. Linux, as an operating system for source code development, is a good learning platform. Linux has almost all the features of modern operating systems. Although there is little information about the kernel implementation mechanism of Windows systems, there is still a lot of information available through the Internet. After you have a certain understanding of the operating system, you will find yourself taking a new step.

Fourth weapon: network protocol TCP/IP

Today, when the Internet is so popular, if you do not have a good grasp of the Internet support protocol TCP/IP protocol stack, You need to quickly complete this lesson, the network technology has changed the software running model, from the earliest customer/Server structure to today's WEB Services, to the future of grid computing, all of this is inseparable from the network protocol support based on the TCP/IP protocol stack. Therefore, it is necessary to have an in-depth understanding of the TCP/IP protocol. At least, you need to understand the ISO layer-7 protocol model, the principles of common protocols such as IP, UDP, TCP, and HTTP, and the three-way handshake mechanism.

Fifth weapon: DCOM/CORBA/XML/WEB Services

With the development of technology, the seamless integration of software and network is an inevitable trend. The location independence of software systems is one of the important features of the future computing model, DCOM/CORBA are currently two mainstream distributed computing middleware platforms. DCOM is an extension of Microsoft COM (Component Object Model), while CORBA is a standard supported by OMG. What programmers need to do is not just to use commercial development platforms to develop software, but to understand the original intention of these technologies, that is, why the technology is needed. If you can understand this, let's look back at the specific implementation of these technologies, just like ding Jie Niu. XML/WebServices are important. XML is hailed as a "World Language" on the Internet based on its structured representation and powerful expression capabilities. It is one of the cornerstones of distributed computing.

Sixth weapon: Software Engineering and CMM

In the development of modern large-scale software systems, engineering development control replaces personal heroism and ensures the success of software systems. A programmer is not necessarily a good programmer, an excellent programmer combines excellent programming skills and development skills with strict software engineering ideas. Programming is only one part of the software life cycle, excellent programmers should master the basic skills in various stages of software development, such as market analysis, feasibility analysis, demand analysis, structural design, detailed design, and software testing. One sentence can summarize my opinion: "unlimited creativity, process assurance ".

Seventh weapon: strong curiosity

What is a programmer's NLP weapon? It is a strong curiosity and learning spirit. There is no better weapon than strong curiosity and learning spirit. It is the source and motivation for programmers to climb the peak forever.

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.