Kanthi said:
Hi All,
Thank You all for your suggestions. I am sorry to say that this post
has became a debate rather than helping me out to make decision.
As a systems administrator I am aiming to learn programming which would
help to write programs or scripts to make my work simpler, rather than
becoming a C programmer or Perl programmer i want to learn programming
so that i should be able to make switch to new programming language
fast or with not much struggle.
Look i am looking to learn good programming rather than any specific
programming language, as said earlier in this post it would be better
to start of with some thing i will use in daily life, in this case
what would be best Language for Systems Administrator( irrespective of
OS).
Thank you once again.
Kanthi
Debates aren't necessarily bad, if you want to hear more than one side
of an issue.
"make my work simpler"
In that case, definitely whatever shell / batch / Job Control
language your system supports, first. Then it depends on what
specific administrative tasks you want to do. As well as the other
considerations we've mentioned, of course. Specifically, "scripting"
and "interpreted" tend to go well with this goal.
"learn good programming" and "be able to make switch to new
programming language" do go together, but if they coincide with
quickly or easily making your work simpler, it'll just be luck.
Particularly, "scripting" tends not to match these requirements,
because scripting tools tend to (1) be optimized for small, ad-hoc
programs vs. well-designed ones, and (2) favor making specific
administration-type tasks (sorting, report generation, I/O, OS
interface) easier at the expense of readability, generality and/or
rigor.
As a compromise, you might try to find a scripting tool like perhaps
csh, which "resembles" a full-scale language -- C, in this case.
That may ease the transition. Or it might just confuse you -- people
differ. I've been told my wife's grandmother took courses in
multiple foreign languages simultaneously -- in her 60's. I think my
brain would implode if I tried that...
One last observation: if you want to be able to learn new languages
(computer languages, I mean) quickly, it's very helpful to have been
exposed to several widely-varying architectures. I believe the
trendy word is "paradigms". In this respect, FORTRAN, ALGOL, PL/1,
BASIC, C, Pascal and others are much more alike than they are
different. But COBOL or RPG will teach you different things than
APL, or Forth, or Smalltalk, or Prolog. A memory-oriented CISC CPU
will teach you different things than a register-oriented RISC CPU. A
microcontroller vs. a mainframe, etc. If you only experience one
kind of thing, it gets "embedded" in your mind as _the_ way things
ought to be. (You can find abundant samples of that in "certain"
newsgroups <grin>. See also "holy wars".)
Good luck in whatever path you take.