系统管理员该学什么语言?

译文
运维 系统运维 新闻
从职业角度来看,系统管理员真正擅长一门语言,并且对另外两门语言有所涉猎是相当重要的。真正擅长其中一门语言意味着,你深入了解如何运用该语言,深入了解该语言在“底层”是怎么一回事,那样你在设计更大型的程序时,就能作出更合理的决策。

【51CTO外电头条 2012年6月6日】最近有人问我:系统管理员该学什么语言。

如果你是一名Windows系统管理员,那么答案很简单:该学PowerShell。

如果你是Unix/Linux系统管理员,答案就比较复杂,因为有更多的选择。我不想引发一场“语言大战”,而是想说:

我认为,每一个Unix/Linux系统管理员都应该知道外壳程序(sh或bash),另外还要知道Perl、Ruby或Python当中的某一门语言。至于学哪一门语言,并不重要。

[[78427]] 

图片来源:O'REILLY编程大师

在我看来,上面这番话比我认为Perl、Python或Ruby哪门语言更优秀或者哪门语言有更多的职位空缺(或者使用其他任何标准)来得重要。容我细细解释:

学习bash确实蛮重要,因为bash对于你许多方面的工作来说极其重要。无论是调试/etc/init.d脚本,还是编写一个小型包装器。每一个Unix/Linux系统管理员都应该知道:如何执行for循环、while循环、if with [[或[、$1、$2、$3... $*和$@以及case语句,还要明白变量代换是怎么一回事,如何处理简单的命令行标记。只有掌握了那些基本的东西,你才能继续深入一步。我惊讶地发现,我结识的不少人接触了好多的Unix/Linux,却不会用bash来执行循环;他们迟早会为没有尽早学习bash而自责不迭。

选择Perl、Python还是Ruby,这通常取决于贵公司已经在使用什么语言。Ruby和Python最近变得比Perl更为流行,所以许多公司重点关注Perl。如果你使用Puppet,那么熟悉Ruby将有助于你熟练运用Puppet。我在谷歌工作,这家公司很看重Python,于是我进入谷歌后学习了这门语言。对于自1991年以来就熟悉Perl的本人来说,这的确是一次不容易的学习过程(最近有人告诉我Perl在1991年还没有出现……我建议他不妨查查维基百科)。

从职业管理的角度来看,我认为真正擅长其中一门语言,对另外两门语言有所涉猎,这至关重要;哪怕这意味着仅仅阅读介绍这些语言的书籍的头几个章节。真正擅长其中一门语言意味着,你深入了解如何运用该语言,深入了解该语言在“底层”是怎么一回事,那样你在设计更大型的程序时,就能作出更合理的决策。我之所以把这个问题上升到职业管理问题的层面来讨论,原因在于,如果你想受雇于一家使用不同语言的公司,“成为愿意学习不同语言的专家”远比“成为只想学习大有潜力的语言”或“对这门或那门语言一知半解,但是从来没有耐心把某一门语言学好的人”来得重要。

原文地址

【编辑推荐】

  1. 云计算时代,运维人你们准备好了吗?
  2. 大型网站运维探讨和心得分享
  3. IT运维管理,您了解多少?
  4. 女生做IT运维有好处吗?
  5. 《Linux运维趋势》2012年5月号 总第19期
责任编辑:张浩 来源: 51CTO.com
相关推荐

2013-08-20 10:11:20

Go系统管理员

2019-03-15 15:47:43

Linux系统管理员编程技能

2010-05-06 18:07:33

Unix命令

2010-08-10 09:13:52

Unix系统管理员Ubuntu

2010-08-11 17:11:15

2013-03-30 21:59:13

系统管理员必备工具iftop

2019-09-09 14:45:29

系统管理员SRE

2018-08-01 08:12:34

Linux管理员网络管理

2013-07-30 13:57:05

系统管理员

2013-09-18 10:33:32

程序员管理员

2010-11-10 09:36:38

系统管理员守则

2018-08-15 14:00:18

LinuxBash系统管理员

2011-10-20 10:29:22

VMwareVMworld虚拟化

2013-06-26 09:29:30

系统管理员

2013-09-29 09:50:21

系统管理员Ubuntu JujuJuju

2010-04-12 09:33:58

系统管理员

2009-10-22 16:53:08

2010-05-07 16:35:44

2019-08-13 19:34:45

容器镜像DockerLinux

2012-08-07 09:40:58

系统管理员职业生涯
点赞
收藏

51CTO技术栈公众号