These are the names that have been talked about by countless people in the IT industry. Here, the author from a professional programmer's point of view, I would like to talk to you about their feelings.
Why do you want to be a programmer
It seems to be too simple and naïve to mention the problem. Look at the current programmer's comfortable working environment, rich salary, living a "happy" white-collar life, everything seems self-evident. In fact, this is only one side of the programmer's view. Our other side is not for the public attention: day and night work, overnight overtime is the norm, working with the keyboard, how many people have their own boring life to experience? Without a commitment to the software business itself and a near-pilgrimage obsession with source code, it's all the ordinary people can't stand. But when your program completely passes the test, it becomes a qualified product. The joy of this time, again?
There are rules, rod.
Program development is a highly flexible work. For example: The variable I increases 1, in C language can have: i++, ++i, I+=1, i=i+1 and so on many kinds of wording. However, this does not mean that programming can be arbitrary, unrestrained. Good programming habits can improve work efficiency and reduce unnecessary mistakes. Especially for beginners, it is important to note that:
1th: When programming, the first is to establish a good data structure. When compiling a program, if the data structure design error begins, then you have to pay a big price to modify the program later. The author himself has had such a painful lesson: A program wrote more than 2,500 lines, suddenly found that the basic data structure is unreasonable, the results are all overturned rewrite. Ax
2nd: The code is as reusable and modular as possible. Code reuse is one of the basic principles, whether it is process-oriented or object-oriented. For example: If you want to draw a green apple and a red apple, write a function to draw an apple and pass the color as a parameter. This way, you can draw different colors of apples by calling the same function to pass different parameters. The advantage of doing this is the procedure?
3rd: A good writing style. A program, can not be absolutely perfect, and will never be modified. If you want to modify it, you must reread and understand the original code. And good programming style, can make people more convenient and quickly understand the structure of the program, so as to maximize the efficiency of the modification. Here, I cite some of the more good programming style requirements: 1. Unified count is significantly more easily understood by its true logical meaning and data type than called III. So the variables and functions of the name of a few more letters, make it meaningful, in the future to understand is more convenient. 2. The code is indented in a layered format. This is almost a standard, and this format makes the hierarchical relationship between the code very obvious, for the logic of the program, the code location is organized. Put together the code of related functions so that you can avoid frequent switching between different file modules when you read the code later. Due to the test is not conducive to understanding. If the loop is too much and the code is too long, you should consider re-dividing the finer sub-functions. The good programming style certainly not only these, this also needs in the study process slowly realizes.
4th: Pay attention to program testing, attention to exception handling. This is often an obvious difference between amateur programming enthusiasts and professional programmers. Amateur programming enthusiasts tend to focus only on programs that work properly, while professional programmers must also be concerned that the program will work properly in exceptional situations, at least to normal termination. And this is based on a full understanding of the program and testing?
A journey begins with a journey. Do programmers have more twists and difficulties. But as long as the real love of software development, willing to pay for it, will finally make you feel the fun. Come on, still hesitate what, embark on this programmer's road, head forward to walk!
What is the first thing to learn about programming?
For the vast number of programming beginners, there is such a common understanding: Learning Programming Programming language selection
Very important, open mouth is VisualBasic, Visual C + +, Delphi, Power Builder and some other now more popular development tools. Often see a beginner asked: "I learn C + +, is learning visualc++ good, or learn Borland C + + Builder good?" Or it requires a choice between Visual Basic and Delphi. What is the relationship between the learning program design and the Learning programming language? How should beginners choose? In this context we make a simple analogy: the study of programming is like learning to shoot, and the programming language corresponds to the shooting of the air gun. Learning to shoot must choose a firearm, not without a gun can also learn to shoot, it is impossible to learn to use all the firearms at the same time. However, if you master the shooting of a firearm, then learn something else will be comprehend by analogy. Because in the familiar with a firearm, but also learn the shooting technology itself. Learn the rest and do more with less. Learning program design is the same, it is necessary to learn from a programming language to start. At the same time in the process of learning?
Recommendation: The study of programming does not have to be demanding to start from a certain language, can be in Visual Basic, Delphi, Borland C + + builder or dos Pascal, Turbo C (or Borland C) in the middle of choosing their own relatively easy to accept a study. The main learning is the idea of programming itself, learning is to use the vision of programming to look at the problem. Perhaps, the effect of learning can not be seen immediately, but it is possible to learn a solid basic skills, and this for the further development of the future has great benefits. These basic skills include:
I. Ability to strengthen logical analysis and build mathematical models
What is the purpose of programming? is to solve the problems in the real world. The real problem is the natural language, which is not understood by the current computer. All we have to do is to "tell" the problem to the computer in a way that the computer can understand. We also need to analyze the real problem logically, establish a reasonable mathematical model, and then enter the computer in the form of programs and data, the R, G, b three color portions to represent a color, the processing of the color is converted to R, G, b three integer processing. We just have to change these three integers to change them to another color. For other real-world problems, we also want to make them count as
Ii. knowledge of data structures and algorithms
With the development of programming, there is a relatively universal and complete mathematical model (what we call data structures) and the processing methods (i.e. algorithms) that correspond to these mathematical models. The current procedure is based on this. Among the programmers is a word of thumb: "A good data structure is half the program." "Its importance is evident. As a programmer
Three, rich practical experience
Program design itself is a highly practical subject. A program that exists only on paper like a bird without wings can never fly in the real sky. Let the code be cleverly written, the style is beautiful, it is just a series of characters on a piece of paper. It is like a composition exercise, perhaps written very well, but not to the teacher to read, and a blank paper and what is the difference?! Finally, as a programmer there is a little bit of a requirement: that is physical fitness is better, can stay up late.
Choose the device and the good thing--the screws programming tool chooses the same topic article
"工欲善其事, its prerequisite"--"The Analects of Confucius". Many people want to choose a good programming tool when they are learning software programming. To go to the bookstore, you can see a variety of programming books, but you do not want to choose to learn what programming language, but also at a loss, do not know what to buy books to see. To learn programming well, we must carefully understand the characteristics of various languages, to find out their own direction of study. So first you have to be clear about what you want to do, what are you interested in? Further, that is: what aspect of programming do you want to complete now, and what is the main function of your program? In this way, in many software, choose a suitable development tool.
First, the basic language development tools
such as Delphi, VC + +, VB and other languages are an object-oriented programming language, although each language in the object-oriented support is not the same, but they always run through the overall design of the way of thinking the main line. Therefore, to learn these languages at the beginning should not focus on the specific grammatical format of a language, but should focus on learning the basic theory of object-oriented
Easiest to start language ──visual Basic
On the basis of mastering the basic concept of object-oriented programming, VB is a relatively easy language to get started. When learning VB, should pay attention to grasp the essence of the object, to avoid clutter and complexity, attention to grasp the object and control properties and events and their functions and usage, the main function of the simple function. The most effective way is to organize a simple to complex learning steps, such as: In the study of VB easy drawing function, learning to draw a sine curve; Learn to use the Picturecl control to create a liquid crystal effect display time; When learning API functions, make your own taskbar icon. This method can help you master the use of common objects and events in VB.
The most flexible language ──delphi
For Delphi, if you've ever studied Pascal, you'll find a lot of things "déjà Vu". Indeed, Delphi itself is written by Object Pascal, which is similar to the Pascal structure. If you have a certain Pascal base, it's certainly easier to learn. In addition, we should pay attention to the understanding and application of Delphi package. For example, the operation of the package, the design of the package and self-build package should pay attention to matters. On the basis of mastering the Object Pascal language, we can focus on how to use Delphi to write Windows applications, Delphi database programming and creating controls and program development.
The most powerful language ──visual C + +
VC + + due to the more complete Microsoft Basic Class library, makes the development of Windows applications simple and efficient. It provides a complex resource editor, can easily edit dialog boxes, menus, toolbars and other components, so it is powerful and easy to use, but compared with VB, Delphi, the entry is more difficult, not easy to master. To learn VC + +, you should first focus on the basic data types, input/output, loops and arrays, templates, and how to create C + + applications. After that, we should learn more about the use of resource editors in VC + +, the use of ActiveX controls, and the optimization of editors. At present, most of the books about VC + + are on the use of VC + + each version of the introduction of development applications, and ignored the basic knowledge of C + +, in fact, for beginners, directly from the specific application program design and ignore the basic knowledge, but will greatly increase the learning difficulty, Is it easy to lose your learning confidence?
Of course, in all of these languages, you have your own database programming and Internet codec-"7b." On the basis of mastering the program itself, you can choose to learn according to your own needs. When you have a certain program design capabilities, you may wish to design a realistic, interesting topic, self-developed, self-designed. This will help you to be very skilled.
Second, the database programming
If you mainly want to complete the database design, then you should choose a special database development tools, Common are: SQL Server, Powerbulider and so on. If you just need to complete a relatively simple database function, take a closer look at access. Not much time, but also can make you have a great harvest, in addition, there are some specialized tools for large database development such as: DB2, Sysbase and Oracle, this kind of software generally need to have more solid database basic knowledge and a certain software development ability. If you are starting from scratch, it is advisable not to learn this type of software from the start. PB and SQL Server are primarily used to complete data processing and database access. Because of the good compatibility of SQL Server and operating system and the wide application in the network, many amateurs have chosen to learn it, while learning SQL Server, we should focus on the composition, SQL transaction management and SQL query and optimization. And PB has always been a lot of people in terms of learning the basic use of database skills, but also should be noted in PB, for the need to access the special features of Windows applications need to invoke API functions, such as: Control mouse, create directory and Flash-"7b window."
When you are learning database programming, you can try to complete a complete software development cycle. From the requirement Analysis Huang 7d, we have experienced the whole process of designing database, creating database front-end, creating tables, completing common queries and outputting reports.
Third, network programming
At present, the more popular network programming tools are "different style, blossom." Each tool has its own unique characteristics and has its own advantages in the implementation of the Internet.
When learning Java, we should make clear the basic theory of object, inheritance and other object-oriented, and fundamentally grasp the operation mechanism of Java. Emphasis should be placed on the programming techniques and applications of the language base, Java and ActiveX, and JavaBeans components. You can make some of the more classic small programs to deepen the mastery of basic skills: Write card games with Java's graphics capabilities, write minesweeper or Tetris with AWT, write web chat rooms with Java network functions, and more.
Relatively speaking, the ASP is simple, easy to use, powerful, has long been widely used. When learning ASP, we should first have some knowledge about ASP related network knowledge, Web server Setup, HTML language and so on, on this basis, pay attention to ASP's main programming language VBScript, ASP common objects and components of learning. If you want to have a more in-depth understanding of ASP, it must also have basic skills in using database SQL Server, acess, etc. You can try to make a simple online voting, online supermarket and other procedures to deepen the mastery of the above knowledge.
In addition, it is worth mentioning the network programming language "rookie" ──php. It-"5c off ASP can only use NT or Windows 2000 as the server operating system limit, access to the database is faster and more direct than ASP." But at present for beginners, its language is difficult to understand, installation is relatively complex, can be used for reference and learning data far less than ASP. Using PHP at the same time in Windows is not a good way to demonstrate its superiority. Therefore, we suggest that for beginners without Linux/uninx Foundation, it is best not to learn from PHP.
There is also a big feature of network programming: Be mindful of all knowledge. Always keep an eye on the design of websites on the internet, and pay attention to the design ideas and ideas of others, which will make your network programming skills progress quickly. In general, the network 7b itself is not very difficult, but because of its specific project design involves a wide range, such as related to a variety of database directly interface, learning language process, is their own creation, their own programming process, is gradually mastered, gradually applied process. In the process of learning to develop a good programming thinking, experience, and gradually improve the program design capabilities, to find a better design program is the real essence of programming and development and fun!
Understand the data structure afraid not to, I say the master, not in the boundaries, but can be on the boundary.
Free to receive the lamp brother even original PHP video tutorial CD/"Detailed PHP" Essentials Edition, details of the website customer service:
http://www.itxdl.cn/
Programmer's Road