I came from a liberal arts background. I started studying computers in 98 with a passion for software programming,to this day6 It has been a long and difficult road of learning for 20 years, and the road ahead is still long, but looking back at the difficulties and twists and turns of learning in the past makes me feel obligated to learn programming technology with what I just learned and what I want to learn. Let me talk about my views on learning as a post-graduate student. Please also ask other veterans to correct and supplement any shortcomings.
1. The threshold has been lowered, how should we learn
With the development of software technology, software programming languages have gone through a process of development from primitive society to industrial society, from machine code programming to assembly language, From assembly language to various high-level languages; programming ideas have developed from process-oriented to object-oriented; and programming tools have also become visual. With the development of technology and tools, the programming threshold is becoming lower and lower. Now using tools such as delphi, vb, etc., you can quickly build a database system, media player, etc., which was enough to be proud of in the past. software. But I want to say, don’t be complacent because you can make a software in a few minutes, let alone lose the basic skills of a programmer just because the tools are advanced. Whether you are a college student or a self-taught enthusiast, if you want to go further on the road of being a programmer, you must learn professional computer courses well.
Second, the choice of language is not important, the programming idea is fundamental
I often see beginners asking in forums, "What language is good to learn? Which language is the most popular and promising?" How early? There have also been many articles comparing various languages and compilers. This kind of thinking also deeply affected me and made me take many detours. So I want to say that the choice of language is not the most important. Programming thinking is the foundation for programmers to learn. Various languages have developed to this day and have reasons for their existence. For example, various high-level languages now have their own advantages. delphi is most praised for its convenience in writing database systems, c/c++ lies in its flexibility and efficiency, The advantage of vb is that it is the easiest to get started, and the cross-platform nature of Java is the best. It is good for beginners to learn anything, because the focus of learning at this stage is the language and the compiler itself. After all, the examples in the book are far from a practical project.
When you have passed this stage and language is no longer an important issue that bothers you, then choose a platform. (Of course my suggestion is Windows. On the one hand, there are more materials to learn, and on the other hand, there are many people using it. Good software is something that everyone can use. ) Understanding the method of programming on this platform, as far as Windows is concerned, is to learn the API functions and gradually penetrate into its core.
If you have passed this stage, then I tell you that you are already the kind of master you admired at first. You can be at ease on this platform, whether you are developing various application software or developing system software that goes deep into the system, you will be able to do it with ease.
3. Programming is not simply the pursuit of technology, the soul of software is service
As technicians, they are often simple and persistent, thinking only about how to learn technology well and not to fall behind others. As everyone knows, I completely deviated from the purpose of software. Software ( includes all technologies ) was created to better serve people. Users don't care whether you use more advanced technology, they only care about whether you provide them with complete solutions and convenient services. So before writing a program, be sure to investigate how many users the software you write will have and what services they want you to provide.
The above is the overall idea. Here I will take learning on the Windows platform as an example to talk about the learning path.
First, choose a language based on your personal hobbies or work direction. Generally speaking, only books on these aspects are enough. One is a book on the introduction to the language and the use of development tools, followed by a reference collection of the language, and the last one is a programming guide or development guide. If you want to learn vb, you should read "vbDevelopment Guide" and "vbChinese version reference explanation" in order(Tsinghua University Press); learn c/c++, then read "CLanguage Programming(Second Edition)" C++ Programming》(Qian Neng),《Visual C++Technical Insider(th 4version) 》( Pan Aimin),Then read some computer professional courses and in-depth Windowsprogramming books. Such as: "The Secret of Coding"(Charles Petzold)
, "Data Structure"(Yan Weimin Wu Weimin), "Compilation Principles and Technology", "WindowsProgramming" (Charles Petzold), "In-depth explanationMFC(th 2edition)"(Hou Jie), " Win32Multi-threading Programming》(Hou Jie), 《WindowsCore Programming》(jeffrey Richter). Finally, there are some books that go deep into the system kernel source code and design patterns. Such as: "Leon'sUNIXSource Code Analysis"(written by John Lions
, translated by You Jinyuan), "STLSource Code Analysis"(Hou Jie ), "The Art of Computer Programming" (translated by Su Yunlin), "Design Patterns" (Erich Gammawaiting, translated by Li Yingjun and others). The above books are arranged in order for the convenience of learning. This is a lot of verbosity. I don’t know how much it will help you, but I know that I hope that more comrades who are groping on this road like me can take less detours.
Get it for free
LAMPBand of Brothers
OriginalPHPTutorialCD/ 《DetailsPHP》 Essential version, please contact the official website customer service for details: http://www.lampbrother.netPHPCMSSecondary developmenthttp://yun.itxdl.cn/online/phpcms/index .php?u=5
WeChat developmenthttp://yun.itxdl.cn/online/weixin/index.php?u=5
Mobile Internet server-side development http://yun.itxdl.cn/online/server/index.php?u=5
JavascriptCourse
http://yun.itxdl.cn/online /js/index.php?u=5CTOTraining Camp
http://yun.itxdl.cn/online/cto/index.php?u=5The above is an introduction to non-professional programmers talking about the path of programmer cultivation, including various aspects. I hope it will be helpful to friends who are interested in PHP tutorials.