The psychological profiling [of a programmer] is mostly the ability to
shift levels of abstraction, from low level to high level. To see
something in the small and to see something in the large.
-- Donald Knuth.
Dr. Dobb's Journal, pages 16-22 (April 1996)
Computer is a tool and computer-language is the way to tell it how to do certain things. For many routine tasks, one can find tools which does the job in few clicks. But sooner of later, one has to learn a language if one seriously wants to use a computer effectively.
All programming languages are same only if all sports and musical instruments are same. There are great many things common to programming languages and mastering one language usually makes you know a lot about other programming language (of the same family!). But it is useful to keep in mind that playing football everyday does not make you any better at cricket, or solving puzzles does not make you any better at combinatorics. Although all of them require some similar mental/physical capabilities.
Programming can be very unintuitive: recursion, loops, classes have always haunted newcomers. The hardest thing to learn while learning Programming, as
the great Knuth points out, is that "computer does not do anything more or less than what you tell it to do.".
Fundamentally, programming is a form of writing and like all writings, it is a very time consuming solitary
activity. It requires ability to spend time in solitude, patience
and a certain kind of emotional investment. You need to make peace with this fact that you
wont be carry on your research with the same pace, at least for few weeks. If Kenneth Arrows thesis "learning by doing" is true anywhere it is true for programming. Do solve problems and if you can find problems from your own research work, some of us would be happy to help you on this forum.
Worth a read:
Things I Wish Someone Had Told Me When I Was Learning How to Code--
Dilawar
NCBS Bangalore