Recently, I often have friends or Linux beginners asked me: Whether operators need to learn a language, then what language to learn?
For this question, I answer in two ways:
The first choice, in the big data, the rapid development of cloud computing today, the system operators if they do not understand a little development language, it will be difficult, because in the operation and maintenance work, the wide range of business systems, online server size is very large, can only be written in the way (Automation is a script OH) automated completion, otherwise, So repetitive and tedious work, relying on manpower is not affordable, so, learning a can make the operation of the work of the bulk of the language, it seems very important.
So what language should I learn?
For Linux system Operators, the answer is more complicated, because there are a lot of choices. Shell, Perl, Python, Ruby, and so on.
I think that every Linux system ops person should know about the Linux shell (SH or bash), as well as some language in Perl, Ruby, or Python. As to which language to learn, it doesn't matter.
In my opinion, any language is for the operation and maintenance work, as long as you can complete the operation of the work, you like which language, then you use which language it, of course, for beginners will have a number of different options, if you are a beginner, recommend the current more popular or enterprise application more language to learn, For the future work will be a great help, after all, no company is willing to accept a strange language.
So, whether beginners should immediately learn an operational language, I think this is too early, because any language, especially the shell, Python and other languages, and Linux is very close, if you know nothing about Linux, it is lost to learn the language, it is tantamount to elephant, So I suggest, learn the system language, must have the Linux Foundation to study again, you will find, the language also becomes much easier.
Shell as a common system language, all operations and maintenance personnel must understand and master, through the shell can help us to solve the daily work of a lot of repetitive, tedious task, but the shell is the basis of the system command, therefore, only master the system command principle and use method, The shell can run, I've seen a lot of friends who learn Linux, and they've been exposed to operations for years, but for how to perform a For loop, while loop, if with [[or [, $, $, $ ... $* and [email protected] And the use of case statements will not, sooner or later, they will blame for not learning bash early.
Then someone asked me, I am very familiar with the shell, but still can not find a job, many units are asked to Python or Ruby and other languages, I still need to learn these languages?
This question is divided into two aspects, first from the staff point of view, the enterprise recruitment staff is for their own services, to the staff of the task as long as the quality of the completion of the quantity, in fact, is enough, as to what language to achieve, not important. It is a business environment issue that some businesses may be forced to do all the work in one language for customary or traditional purposes. If every employee has the habit of relying entirely on the business, wouldn't it be necessary to learn all the languages, obviously, this is not the norm.
Many friends have read the recruitment information, the requirements of the basic language is shell, Python, Perl and so on any one familiar, then also explain the operation and maintenance of the language requirements of the work is relatively broad, I have worked in several large companies, for operation and maintenance of the work have a professional task scheduling management platform, On the scheduling management platform, you can support operations scheduling tasks written in any language, so you don't have to worry about which language to study.
Then, from the point of view of career management, I think that being really good at one of the languages and having some other language in it is the most competitive, even if it means just reading the first few chapters of the books that introduce these languages. Being really good at one of these languages means that you have a deep understanding of how to use the language to learn more about how the language is "on the ground", so you can make more informed decisions when designing larger programs. The reason why I have raised this issue to the level of career management is that if you want to be employed by a company that uses a different language, "becoming an expert who is willing to learn a different language" is far better than "becoming a language that only wants to learn a great deal of potential" or "smattering to this or that language, But never had the patience to make a certain linguistics good person "important."
I am a South African ant, a long-time engaged in the operation of the first-line workers, if you are still confused how to learn an operational language, you may wish to take a look!
This article is from the "South African Ant Linux" blog, make sure to keep this source http://ixdba.blog.51cto.com/2895551/1748150
Do Linux ops people need to master a programming language?