System Admin Programing Language

3 points by johnrdavisjr ↗ HN
Hello all: I have been debating with myself and doing research as to which programing language would be necessary for a Sys Admin of CentOS/RHEL. I have attempted to learn C, but have not really found any situation that it would be needed, unless I am creating programs for Linux. I was debating between python, perl, or ruby. What is the opinion of everyone and if you have another language that you recommend please let me know.

JR

2 comments

[ 3.7 ms ] story [ 18.3 ms ] thread
Perl, Python & Ruby should all be equal to the task. There isn't really much of a hole in any of them for standard systems administration tasks. I would spend a couple days with each and find whichever feels most comfortable to you. Give what is involved for most systems administration work, there isn't a whole lot to differentiate them. I have found issues with python on various linux distributions where I had to do extra work to get a later version of python to work while not breaking the existing install which is used in various admin scripts provided with the OS. That is a relatively minor pain but one you should be aware of. Don't go willy nilly upgrading your python install on a linux box w/o being aware of what might break.
CentOS, Fedora and RHEL use Python for most of the system tools and as such integrating or contribute to those projects will be easier if you know Python.

That said the recent/popular systems automation and conifguration tools (Puppet, Chef, etc..) are predominantly in Ruby, so that is a good choice as well.

I prefer Python, but as spooneybarger said, if you end up using the systems version of the interpreter with CentOS/RHEL you're going to need to learn the differences between versions. Luckly EL 6 is coming out soon and you'll get a fairly up-to-date version.