all you need is a good text editor
... or interpreter, should you choose an interpreted language.
I would suggest python (www.python.org
) for a first programming language; it's *really* easy to learn, and usable in the real world too. Once you have an understanding about what programming is about, you will easily pick up any other language.
I think perl has too many arbitrary special cases (files have their own namespace, you can't assign a regex to a variable (afaik)). With C, you have to understand too many low-level details(*). Java is just too big.
(*) However, I recommend that once you've grasped python, you learn C asap. Most programs in GNU/Linux are written in either C or C++. Once you've learned C, learn C++ too. Good books:
How to think like a computer scientist (learning with python) (by FIXME--Probably not Guido van Rossum, the inventor)
The C Programming Language (by and aka `K&R' -- the inventors)
The C++ Programming Language (by Stroustrup -- the inventor)
The C++ Annotated Reference Manual (aka `ARM', by Stroustrup (iirc))
No matter what you choose for your editor and your language, I wish you luck & joy
PS. I'd also suggest that you at some point learn some basic bash scripting (see (maybe) Advanced Bash Scripting Guide). Enough to understand this at least:
for i in `seq 1 100`; do wget http://www.foo.com/bar