Learning a new programming language

I wonder if many people find themselves in the same state of mind as myself. I really love programming and I’m always very interested in learning new programming languages. However, I have one little problem. I can never really “get into” a new programming language unless I know that I’m going to get some use out of it.

My language of choice is PHP since I am extremely proficient in doing web development with it. I also tend to use PHP for command line scripting as well now that there is a widely available PHP command line interpreter.

So there’s the rub. I want to learn languages like Perl, Python and Ruby but I can’t really see how the amount of time I’d invest into learning a new language would result in a large enough “return” to be worth it to me, considering how I can do so much in PHP already. The big reasons I want to learn these languages is so that I can become more versatile when looking for work and doing work for myself.

Recently I’ve learned VB.NET and Realbasic for different reasons. VB.NET because I have two classes that deal with the language and Realbasic for an OS X app I wanted to write (and didn’t want to put up with the learning curve of Objective-C). VB.NET was dead easy, I picked it up in a second. I never took the time in the past to do anything with it because I never had a use. Same with Realbasic, am I’m not so sure I would pick up or enjoy learning Objective-C (it seems so “cool” but so “unattainable” at the same time) :-/

So am I completely weird? :P