Let's talk about the path to programming language learning and the path to programming language.
This article is a summary of the path to learning your programming language (still in progress), because you have also stepped on many pitfalls ", I hope to help some later programmers or those who want to learn other programming languages to avoid unnecessary pitfalls.
First, let me briefly introduce my learning path:
C-> c ++-> python-> java
I am familiar with c and c ++. python and java can only be used. I want to let my friends look at it. After all, the level is limited, for example, if you are not familiar with c ++, you can refer to my learning process. For example, if you are familiar with java, you can refer, you can also post your good methods or different opinions to the comments area, learn together, and make progress together.
- Start with chat
- Talk about the features of these languages
- What books do you read in these languages?
- What tools are used to compile these languages?
Start with chat
When I first started learning programming, I came into contact with the c language. I thought I was stupid at first, I ++, ++ I ~.
So at the beginning of learning programming, the speed is also very slow, and sometimes I can't learn it until I read some articles on the Internet and some previous learning processes.
I know that a good book is very important for your study.
So I bought a book "c and pointer" on the Internet, which made me feel awake when I read this book. I used to think that the confused knowledge was somewhat clear, I also learned more.
Later, when I learned c ++, I bought the fourth version of c ++ primer. After reading it for more than a month, I saw it almost, at that time, I took a brief glance at the exercises after class. I thought I was about to be able to do the exercises. This kind of self-feeling is undesirable. Of course, I had a bad taste in practice, I am not familiar with this language for a bunch of errors.
I know how important the exercises and questions in the book are.
After I had tasted the negative consequences, I tried to learn again. This time I made up my mind to re-learn c ++. I accidentally saw the fifth edition of c ++ primer in my group. xuejie said it was a new version, i'm dizzy. It's almost out of version 5 so soon, so there should be no big difference ..., After I read the directory, I found that ..., So much difference, in the heart of tangle, and the fifth version of c ++ primer, began to learn !!, As I still have an impression on the fourth edition, I found the gap between the fourth edition and the fifth edition, c ++ 11 updates are so important (I saw a younger brother reading the third edition of c ++ primer a while ago, which is one of the reasons I decided to write this article ).
If I know the outdated knowledge point, let it go. I should learn new and widely recognized (applied) knowledge.
I also learned how to read the fifth edition slowly. I took notes on all the pitfalls and key knowledge I encountered and recorded them on my blog, c ++ is a complicated language. When I forget some of the knowledge points, I can quickly find and remember it on my blog.
I know how important it is to take notes.
Of course, note taking is a very time-consuming task, depending on your own situation ~, C ++ has been studying for a long time. After reading c ++ primer, I also read some other c ++ books, I didn't start learning python until March May this year. I finished reading "python core programming" in about two weeks and knocked on most of the questions after class. The process was quite smooth, I am grateful for the efforts made by c ++, even if it is slow.
I know that the effort is always worthwhile.
The following describes how to use java for the project. In this case, I have switched to the language learning method. I recommend an article by Meng Yan.
Quickly grasp the 50% most commonly used language
This article is very good, but it applies to people with similar language basics. Similar language basics refer to c ++ for example. This is an object-oriented language, then you can follow the above steps to learn python or java.
When I was learning java, I said thinking in java. I said it was easy to learn c ++ before learning java. It was easier to start reading thinking in java, I got stuck until I saw chapter 1 of the type information. Some of them are really hard to understand. Although they are all process-oriented languages, they are different in many places, and the java language has its own characteristics. If you just want to use it, it is very easy. The second-eight theorem means 20% of things we use most often. To understand the principle, for example, how can I implement java containers? It is not so easy to learn some principles.
I know that every language has its own characteristics. We should find its characteristics to break it, rather than looking at other languages in one language.
The above is my general learning path. I hope you will have some ideas and gains after reading it.
Learning is a process of continuous improvement and continuous improvement.
Talk about the features of these languages
Printf ("C language \ n ");
I personally think C language is very suitable for beginners.
std::cout << "C++" << std::endl;
C ++ is a very complex language. It is not easy to learn well or use well. For c ++, I do not recommend quick start. The Quick Start can only help myself and my teammates, to learn c ++, we recommend that you calm down and repeat it all over again, and then train yourself in practice.
Features
System.out.println("Java");
When I got started with Java, I had to admit that the efficiency of Java development was very high, and Java was engaged in a wide range of areas, and there were a lot of java Web Learning, as well as Android, etc, there are also many mature frameworks and development tools, and jdk is updated to 1.8.
print 'python'
Python is a scripting language with powerful functions and a large number of libraries. It is easy to write and highly efficient for development. In recent years, more and more people have used it.
The level is limited. The above is just a part of what you know, but I personally think that I need to be familiar with an object-oriented language and be interested in the direction I learned.
What books do you read in these languages?
You must learn what books you can tell. reading a good book really saves your time ~
I usually go to Douban to view rating comments, search online to view comments, and then look at the directory. I think it is good to start.
Printf ("C language \ n ");
C and pointer
Calculate your own real programming enlightenment.
C Programming Language
C language classic, very high rating.
I personally think you can just pick a complete one.
std::cout << "C++" << std::endl;
C ++ primer version 5
If you want to see it, you must check the fifth version and want to compare it with many updates in the fourth version.
The content is very detailed, and the questions are also very good after class, so that you can easily check for missing vacancies.
Objective c ++
It lists the knowledge points, pitfalls, and skills of c ++ according to the terms.
It can be used as an advanced book.
Negative stl
Stl is one of the most important parts of C ++. You can read this book for better use.
In-depth exploration of the c ++ Object Model
It is also an advanced book in c ++, mainly to understand the internal model of c ++ objects.
For example, you define a class and how it is represented internally.
STL source code analysis
If I have finished reading the above, I can go to the next level. I have read only a small part of it, but it is hard to understand. It is mainly about the techniques and data structures of template programming.
Reference Sequence
C ++ primer-> Objective c ++-> Objective stl-> in-depth exploration of c ++ object models-> stl source code analysis
The last two orders are random.
System.out.println("Java");
Thinking in java
An excellent book is worth reading every sentence, but it is not suitable for beginners.
Basic skills are required.
Crazy java handout
I have read a small part and think it is good. The content is easy to understand. It is not suitable for beginners like thinking in java.
Java core technology volume 1
The review is also good, but I have not read it. It has been published to the ninth edition.
Tive Java
One of the above books can be used to read this, an advanced java book.
Thinking in java, java core technology programming Volume 1, crazy java handout to choose a read on the line, no Object-Oriented Programming basics not recommended to read thinking in java. If you have read this article, you can look at objective java.
print 'python'
Python core programming
The entry is not bad, the content is also extensive, and socket, web programming, database programming, etc., but there are many typos. Several items were found during the reading.
Python cookbook
A complete set of python programming skills for advanced use
The python learning manual seems to be good. You just need to pick one of the basics. For more information, see python cookbook.
Conclusion: Learning a language requires a lot of effort, so we recommend that you choose to learn it based on your own interests. For example, if you like java web, you should study java, c ++ and python can be understood, or it doesn't matter if you don't know it.
Don't be greedy, especially if you study at the same time.
Don't be greedy, especially if you study at the same time.
Don't be greedy, especially if you study at the same time.
Important thing: three times
I recommend that you read or search these books by myself. I personally think it is better. It does not mean that I recommend good books. You can refer to them when selecting them. In fact, you still need to investigate them by yourself, ask more experienced people from your predecessors and check whether the directory is suitable for you. Do not blindly pick and start your work.
What tools are used to compile these languages?
C/c ++
I personally think it's vim ~, Learning programming is better in linux.
The gcc/clang compiler works. Gdb for debugging
Vim
Java
Eclipse is popular. I personally think idea is also good.
Idea
Python
Not many of them are written. I wrote them using vim.
Vim configuration is very easy to use. You can learn about it.
The road is self-developed, and not necessarily suitable for others. However, you can refer to it and hope to help you.
End
From XiyouLinuxGroup by wwh
Copyright Disclaimer: This article is an original article by the blogger and cannot be reproduced without the permission of the blogger.