I’m a print media designer looking to expand into Web page design (surprise, surprise). I have become comfortable with HTML but know nothing about programming and programming languages. I want to be able to incorporate multimedia elements into my pages and I’m considering taking some training in C. Will it help me when it comes time to learn Java? How does this language differ from something like Perl? Which is a better choice for a right-brained type? I have looked around a bit for a primer on languages but am still obviously confused.
Programming in any industrial-strength language like C, Java, or Perl is not always a good choice for everyone.
Success highly depends on an individual’s innate ability, temperament (large amounts of patience), and personality (ability to handle many pesky details). This is only slightly correlated with intelligence. I have met many highly intelligent people (doctors, lawyers, other professionals) who don’t have the patience and temperament to be successful programmers.
Then again, I have met others (in the aforementioned professions, plus mail-room clerks, photographers, artists, creative types and other non-professionals) who have taken to programming like a duck to water. It’s impossible to predict who will succeed (success defined here as “producing working programs and enjoying the process”) and who won’t.
My advice is to just jump in the water and see if you like it. If not, no shame in that. Your talents may be better utilized in working with a partner who does programming and does not do design. As a designer, you don’t do your own offset printing, lithography or color film development, so why bother with programming?
Regarding the choice of language, you don’t need to learn a language like C in preparation for learning another language like Java. It won’t hurt, but it also won’t necessarily help that much. If you have the time and inclination, the more languages the better, of course. But if you don’t have the time, just go directly to the language that helps you accomplish the specific tasks you have in mind.
If you want to do interesting multimedia, I would consider avoiding programming languages and learning Shockwave and Macromedia Director.
Hope this helps and good luck.