Write to novice programmers

Source: Internet
Author: User

First, welcome to the programmer world. In this world, not many people want to create software and solve problems. You are a hacker who is willing to do something challenging.

"When you don't create things, you only view the problems according to your own feelings rather than your abilities ." -Whytheluckystiff

You don't have to accept the following text, all of which come from an unsightly programmer. I like to do things best, instead of repairing and completing the original things.

It's just a good start to make some innovations because of your hobbies! If you say "I want to learn and then start", you will never really start. Everyone needs to start somewhere, so open your editor and write code.

The following are some important suggestions. Although some people do not agree, I promise that you will be on my side after reading my analysis. In the beginning, do not care about algorithms and data structures. Most simple programs do not need algorithms and data structures, so you need to learn when you really need them. After programming for a while, you will know where to use them. In this case, you need to know the algorithm name and its functions, and then find some related papers to understand the algorithm and start programming practices. If there is no ready-made function library (reusable code provided by other programmers), you can implement it in your preferred programming language.

0. select a good programming language, a language that you think can be used to quickly make something useful.

Do not use C language as your first programming language. Maybe C language will give you an out-of-date satisfaction. Although it provides better syntax description than earlier assembler languages, today C (or C ++) is not a language that can quickly write software. I suggest you learn a dynamic language. Select a programming method that you think is more comfortable with syntax (document. Therefore, you may need to spend some time comparing different languages. This is not intended to make you feel better or make programming easier. Faster completion of your work and the ability to see the results are the source motivation to inspire your programming. Do not select a language that requires a heavyweight IDE (IDE is a tool that helps you write and run code) for easy programming. All you need is a text editor. (Note: There is no label in the original text. We added it. Please do not forget it. We are counting from scratch. :)
)

1. select a good editor.

For programmers, the editor is as important as a bow to the archer. Here are some recommended Editors:

Sublimetext 2-if you have just started programming, sublimetext 2 is recommended
Emacs-steep learning curves and complex shortcuts. If you want to customize your usage habits, you need to learn Emacs lisp.
Vim-it is not only simple but also included in the Linux release by default, so it is very popular. I started using Emacs for 2 years. Because Emacs's shortcut key operations are too complex, my hands often start to suffer, which forces me to switch to the vim camp. It is necessary to understand the shortcut keys of vim. When you edit code on a remote server, the only editor you do not need to install is vim.
Note! Emacs and VIM may have become antiques. However, they all have some functions that are not available in Modern editors.

2. Select an operating system from which you can learn

Windows will not teach you anything. The only thing you learn about using Windows is to open an EXE (executable) file to install the software and use it. You may feel cool at the beginning, but in the long run, if you want to become a web developer, you may still need to have basic Linux knowledge, especially when you want to release a program. Linux also allows you to customize programs according to your requirements. Macs is also cool, but I don't think you can afford it now.

3. Do not copy and paste data for backup

A novice programmer usually copies and Copies files to a temporary directory for backup. This may be the only method they know. Do not do that! You need to use version control software. I strongly recommend using git, which is a popular version control tool and easy to use. For a beginner in git, there is a good community and a lot of reference resources to learn. (In addition to git, there are mercurial, darcs, fossil, and so on. But I suggest starting with git. I have a lot of reasons to support git, so there is not much to worry about here .)

4. Know where to seek help

Participate in a programmer community related to you (related to your use of programming tools. For example, stackoverflow is the programmer's Facebook. There is no message status or reply, and the answer is replaced by the question and answer. Learn how to use IRC. IRC is an old-fashioned chat room, which is still used by most developers to share technical information and help solve problems.

5. Cultivate your etiquette

Know when to ask questions. Most of the problems you encounter are problems that someone else has encountered and can be answered on the Internet. Search Google (or blekko) to see if there is a ready-made answer before asking questions in IRC or any forum. Patience is required to ask questions on IRC. Always remember that people are just in good faith to help you for free. Sometimes it takes several hours for you to reply. So wait patiently. Remember to be polite when asking questions. The world is very small. How do you treat others, and how do others treat you.

6. Make friends. technical books can only teach you how to solve common problems (they say: Books are dead)

When you are playing some programs or learning from the program author, you can learn something that is not available in books. When you are walking, please say hello to your friends. You must not be the only programmer. Work with other programmers to make friends. You will notice that when a group of technical enthusiasts are together, no matter where the topic starts, it always ends with a technology topic. This is an inevitable phenomenon. So you can participate. What I can tell you when you work on programming at your golden age is that I have been searching for friends and discussing programming six years ago. Since then, I have learned what books and articles do not know me. So I always said that I had 6 years of programming experience, because at that time I started to communicate with people and started to feel that I really started to learn programming.

7. participate in open-source projects

Writing code for open-source projects brings a return. This is not just to help others, but the code you leave will be used or (possibly) improved by others. When someone adds a function to your code or proposes a change suggestion, it is also improving your programming level. An open-source software project is not necessarily a big project. It is also useful to compile a small program for downloading YouTube videos. More importantly, you will be surprised to find that the code you write will become a bridge for effective communication with others.

Finally, a few years later, if the content in this article has helped you a little bit, in return, please write a similar letter to a friend who wants to start programming and does not know how to start, if possible, correct the outdated content in this article.

The wise man said that it would take 10 or 10000 hours to master something, that is, "Ten Years of sharpening" in Chinese, so don't worry.

An open letter to those who want to start programming

English translation: bole online

A programmer's data http://bbs.csdn.net/topics/390378556? Page = 1 # post-393912860

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.