Do not learn another programming language
tewari.info
tewari.info
Some people learn languages for fun, some learn them to be productive - I have never successfully managed to learn a language without some kind of real-world motivation, and have never met someone who has (by learn, I mean a software project of a thousand or more lines - my standards are not too high).
...and I agree that there's a whole world of skills out there to master e.g., Audio Engineering, Cooking, Electronics, Linear Algebra, Rhetoric, etc.
That said, if you want to be a better programmer, I'd say keep learning languages until you've at least got a good representative from three different paradigms e.g.,
Statically-typed, objected oriented: C++, C# or Java
Dynamic/Scripting: JavaScript, Perl, Python or Ruby
Functional: Erlang, Haskell or Lisp
Of course, there are plenty of other categories as well. E.g., Data Access/Transformation: SQL or XSLT
Low-level/hardware: Assembly or Verilog
Stack-based: Factor or Forth
Special purpose (Proof Assistance/Logic/Statistics/etc): Coq, ProLog or R
Etc. etc. etc....and many languages cross-over between various categories but the point is to be exposed to the different ways of thinking and to get a sense of which tools are the best fit for a given class of problems.
Then do the same thing for Object Oriented programming.
Then do the same thing for Functional Programming.
Then, develop those skills so you can write good code in those 3 paradigms. There's a lot more to do after that, but by the time you're done with those things, you'll have a good basis for understanding just about any programming language.
Let the good times roll.
There's more to life than learning & practicing all of the flavors of programming languages. Like learning how to create, express yourself, and feel/think in different & unique ways.
“Absorb what is useful, Discard what is not, Add what is uniquely your own.”
- Bruce Lee
It's a nontrivial cost to start from scratch as an artist, and there isn't much synergy between programming and design. As for some of the other things he suggests, photo editing and 3d modeling, you are basically learning a tool and enslaving yourself to the workflow of a certain program created by a certain company. Sure, you can switch to another tool, but again you are facing massive switch costs before you reach a decent productivity level.
Programmers have it good, solid algorithm, design and debugging skills are universal and you can always tack the syntax of the day on top of them.
I appreciate a developer who knows enough about design, even if their own design talent isn't very strong, to recognize quality and the efforts put in by other designers.
I will upvote that post.