A few weeks ago, as an intern for 8th light, I got my performance report from the CEO. During my meeting with the CEO, I found a blind spot on how to be a programmer. At first I thought that if I wanted to expand my software career path, I would have to learn a lot of different languages. I'm going to tell you now, it's not like that.
How many programming languages do we have? All you have to do is look at the list on Wikipedia, more than 600 kinds! To tell you the truth, personally, I don't believe I can learn hundreds of languages. Because there are too many documents to look at, there are too many differences between them to be aware of. Many of them are similar, such as those of object-oriented languages: C++,java,ruby,python. However, we have a more efficient way to learn them, and that is to classify them.
In the United States, the University of Sharp, each graduate to accept a compulsory course education is how to effectively study. I was fortunate enough to meet a very good professor, Mr. Sugarman, and I had a chance to learn how to learn. Although this method is very basic, it can be applied to almost anything-no matter how incredible their numbers may seem.
Basic theoretical points of object-oriented programming language:
Learn basic theoretical points, such as design patterns/paradigms, so that you know the common knowledge in all object-oriented programming languages, not just the language level. This is the most effective way to learn programming languages.
There are many types of programming languages, such as functional languages, object-oriented languages, and data-oriented languages (more). By classifying various languages, the 600 languages can be divided into 50 categories. By learning the basic theoretical points of each category, it becomes much easier to learn different languages in the classification. Here I give an example.
For object-oriented programming languages, there are 5 basic principles that can help you write neat and good code. These principles are summed up by Bob Martin, called the solid principle. Here is an article that explains these principles well in picture form. These principles are:
An object assumes only one responsibility, and all service interfaces perform this task only through it.
program entities, such as classes and objects, are open to extended behavior and closed to modification behavior.
Subclasses should be able to override the classes that it inherits.
A class's dependency on another class should be limited to the minimized interface.
Relies on the abstraction layer (interface) rather than the concrete class.
By learning these principles, you can program more effectively in all object-oriented languages. Of course, you need to learn a language of this type to practice these principles, but it is entirely worthwhile.
The differences between the various object-oriented languages:
belong to the object-oriented language, there are a lot of differences between them:
Grammar: Understanding the differences in grammatical patterns in various languages has many advantages, one of which helps to optimize your coding. This makes the program easier to understand by making a method or class behave similar to its behavior in character.
Uniqueness: Each programming language has its own uniqueness compared to other kinds. Java has private methods and data customization features, Ruby has a strong advantage in Web applications.
In a word, it is important to learn the difference between languages. This language may be easier to use or more powerful than some aspects of that language.
Summarize
The most effective way to learn programming languages is to learn their basic patterns/paradigms, which is more efficient than learning each language alone. By learning these basic principles, you can apply them to many other similar languages. Learning the differences between languages can help us choose the right language in the face of various situations.
[Original English: What It means to know programming Languages]