Many netizens have a lot of doubts before getting into programming. Now I will share my personal views on everyone’s doubts.
I am not an expert, this is for reference only. I would be honored if I could be of some help to others.
1. Is programming easy to learn? How long does it take to learn to program?
This is appropriate for each person. Under normal circumstances, the process from implementing the first "Hello World" to becoming more proficient in writing code may take longer than learning other computer technologies. For example, after learning Photoshop, many people can be competent at photo processing in a photo studio in three or two months. And in the same time, who can guarantee that you can become a skilled programmer?
2. What foundation is needed to learn programming?
Theoretically speaking, learning programming requires a good mathematical foundation and logical thinking ability, and better English would be even better.
In terms of basic mathematics and English, I think beginners need to have a high school level. Among these three points, I think the most important is the cultivation of logical thinking ability. The process of learning programming is actually the process of cultivating logical thinking ability and mastering programming ideas.
After getting started with programming, if you want to improve your programming level, you may need to master more knowledge: theoretical foundations of computer science such as data structures, algorithms, computer principles, compilation principles, and operating system principles. and basic knowledge of mathematical theory such as algebraic systems, graph theory, and discrete mathematics.
3. Can I learn programming when I am older?
Yes, of course it can, why not? As the saying goes, "Live until you are old and learn until you are old." There are many people who are still learning programming in their forties and fifties, but young people still have very obvious advantages in terms of memory and other aspects. If you want to learn a programming language and make it your career in the future, then you should know that every company has an age limit when recruiting people.
4. Which programming language is best to learn?
Many friends like to read martial arts novels. Here I will make an analogy: .Net and Java are equivalent to the Shaolin Sect and Wudang Sect in the martial arts world. These two sects have great influence and have many disciples. If you invest It is natural to become a disciple of them; and languages such as Delphi and PHP are equivalent to sects such as Huashan and Qingcheng. They are also famous and upright. If you join their disciples, you can also be proud of the world after you become successful.
Let’s think back to our student days: Many students are studying the same courses in the same classroom. If there are many difficult questions, you don’t need to bother the teacher, you can just ask your classmates for help. The same goes for learning programming. If you have a friend who is proficient in a certain language and you are also learning this language, think about it, will you get a lot of help?
Suppose I just graduated from middle school and went to work as a worker or apprentice in a factory at a young age. I only learned programming to master one more technology, so that I might have good development in the future. In this scenario, I might learn more popular languages such as Java, C#, C++, and PHP. The advantage of learning popular languages is that there are many job opportunities; mobile development is very hot now, and it seems that the money is good. Android, etc. can also be considered. .
Suppose I am very satisfied with my job and am the kind of person who is very stable in all aspects. At this time, when I am learning programming, there is no need to follow the fashion and trends. I will learn some languages related to my work and helpful to my work. For example: I work in an office, and the specialized financial software is too large to meet the individual needs of my work. Then I can learn languages like VFP or Powerbuilder that focus on data processing, and according to my own needs, write programs to uniformly manage the data originally scattered in various Excel documents. This will not only facilitate the work, but also get good evaluation, and even Transform into a "master" in the eyes of colleagues; for another example, if I work in an Internet company, I look up to the programmers and technicians in the company with admiration every day. In this scenario, if I learn programming, I will probably learn some WEB programming languages related to the company's business.
Suppose there are many friends around me who have learned programming and gave up halfway, thus causing me to have low self-confidence. Then, I need to cultivate interest and confidence for myself first. I may start learning from VB, VFP and other languages that are easier to get started. These languages can easily make some examples and give people a sense of accomplishment. It wasn't until one day that I installed Visual Studio on my computer and started writing my first ASP.NET program. Then I realized: isn't this similar to VB? Drag and drop some controls, and then write code for each event...
Suppose I learn programming purely to satisfy my curiosity, without any other factors in it. Many people think that programming is difficult to learn, but in fact it is all the fault of pointers. Well, I must learn C/C++ and tame pointers. Until a few years later, I suddenly looked back...
Suppose I am an indecisive person who has thought about it for many days and still has not made a decision. When I was browsing the Internet every day, I discovered why there were so many people recruiting web programmers? Yes, as long as I am proficient in the two combinations of ASP.NET+MSSQL and PHP+MYSQL, I can find a job in any city.
In short, when choosing a programming language, you should choose the one that suits you best. There is no best programming language, only the programming language that suits you best.
5. Is programming profitable?
Salaries in the software industry should be higher than those in general industries, but developers need to endure relatively high work pressure. Staying up late and working overtime is commonplace, and this needs to be considered.
Generally speaking, formal companies and large companies will give higher salaries and benefits. There are regional differences and it also depends on personal ability. For example, if a main engineer speaks the same language and does similar work, his monthly salary in a large company in a first-tier city may be more than 10,000 yuan, but in a small place, it may only be 3,000 or 2,000 yuan.
It also depends on the industry and the programming language chosen. For example, Java and PHP are very popular, but Java programmers and PHP programmers do not necessarily have the highest salaries. Instead, some developers who use less popular programming languages can get higher salaries.
6. How to learn web programming?
To learn web programming, you generally need to understand front-end HTML/CSS and master a database technology. Learning any programming language will almost always involve a database. Database technology and programming are inseparable.
Take the process of learning ASP.NET as an example. ASP.NET and C# themselves did not make me feel anything. On the contrary, they troubled me for a long time with CSS. In the end, of course, I took the time to tinker with CSS. Therefore, I think that before learning any web programming language, it is best to lay a solid foundation of HTML/CSS.
7. What should you pay attention to when learning programming?
Use your brain more, practice more, lay a solid foundation, and develop good coding habits. In addition, you must have perseverance and cannot "fish for three days and dry the net for two days".
If you want to do something well, in addition to method, mentality is also very important. No matter what you do, you must persist, persist, and work hard.