We should set our target to be a software engineer, not a programmer in specific language. Learning another language prove that we are able to work with any language, provide us more opportunity.
What is a good programmer?
- Don’t try to think like a computer, try to think like a human, then force the computer to think like a human. *
In another words, a good programmer write readable code and can encapsulate abstract programming concept into a simple interface. To achieve this target, we have to understand and use design patterns in a proper way. The first step is to understand how to organize codes, for exmaple when to use if, when to use loop, when to define a method, etc.
What do we learn from learning programming language?
For first language
- Learn how to break down problems
- Understand what you don’t know and find out resource to help you easily.
For second language
- Try to compare similarity and difference with the first language
- Deeper understand on the first language you learn
- What the language is designed in that way
- How features make the language good or bad
Different programing language try to push you to solve problems in a certain way.
For example, Rudy encourage us to orgnaize code as objects and javascript encourage us to write code in a functional style.
We can consider language is a framework. They have equivalent computing power, as all programs will be translated to machine code. The program features are syntactic sugar, which help us to implement and maintain the code.
Reference: 2 Is Greater Than 1 : Why You Should Learn Multiple Programming Languages