PDA

View Full Version : The right time for a new programming language



lulled
June 20th, 2011, 05:51 PM
Hi guys,
I have had this question popping in my head for ages and I just can't come to terms with it: what's the right time to add a new programming language to your toolbox?

Please allow me to quickly contextualize it. I have been a PHP programming for a few years now. I hold a Bachelor Degree in Computer Science and during my college days, I had contact with Java, C, C++, Visual Basic. But I didn't bring any of it to my professional life. I started out as a Interface Developer (XHTML, CSS, JavaScript and etc) and then I switched to PHP.

Although I love PHP, I feel the need to take my professional skills one step further. There are two languages I'm particularly interested: Java and Python. Java is classic. Python is agile. I, somehow, see that both languages have different uses, but anyways, I like how robust Java is and how agile Python is.

Finally, my whole point is: what's the best time to really get into one of these languages? I mean, every time I feel like "OK, let's do it", I realize that I still have a lot to learn about PHP (Frameworks, APIs and etc) and I don't like the idea of "knowing a lot about one thing" neither do I like the idea of "knowing a little of everything". (I feel the same about learning another language when I still have so much to learn about English).

Do the programmers in the house feel the same when you decide to learn another language? "Do I know enough of this to start another language?".

Sorry for the long post and thank you for your time. :)

schauerlich
June 20th, 2011, 06:01 PM
I tend to drift around from language to language as it piques my interest, learning what unique things it has to offer and playing around with it until it feels somewhat familiar. I only get to know a language well when I want to accomplish something and I realize that a given language is a good fit for the task at hand. This might not be the best strategy if you're trying to put "Python/Java Expert" on your resume, but my feeling is that is never HURTS to be familiar with a large number of languages. That way, if you have some problem to overcome, you aren't thinking "How will I do this in PHP?", but "in what language is this problem most naturally expressed?". Then, you can brush up on that language as you work on the problem.

simeon87
June 20th, 2011, 06:02 PM
Yesterday has always been the right time to learn a new programming language :)

It sounds like you know enough of PHP to try something else. If you are working with PHP professionally then you could learn Java or Python in your spare time.

cgroza
June 20th, 2011, 07:02 PM
Whenever you feel to. Once you think you can handle one language, try another one, never stop learning.

skytreader
June 20th, 2011, 07:16 PM
My style on learning new PLs tend to be influenced by the software/libraries I want to use.

Uhhh...this is clearer with examples. So...

I wanted to try tweaking around Blender so I learned Python. Another incentive for my purpose is PyGame. I'm mastering Scheme/Racket because I want to work with Fluxus (http://www.pawfal.org/fluxus/) and also because I find it a very nice alternative to commercial computing software packages (like Mathematica and Maple).

So, in my opinion, the best time to learn a new language is when you have use for it. If PHP suits you fine for your computational needs, then I don't see any reason to spend effort learning a new one. Although, as schauerlich suggested, it never hurts to have a few more languages at your disposal even if you've no use for them yet. You never know :D

CptPicard
June 20th, 2011, 07:19 PM
I would suggest that if you're currently a PHP web developer, you might want to consider checking out Ruby on Rails. Ruby is a much nicer programming language than PHP, and RoR is a modern framework with lots of stuff ready to use.

Darkbird70
June 20th, 2011, 07:26 PM
Hi, I Am an Webdesigner-student, I am learning to work with xHTML, CSS, but in my spare time I am also learning python, ruby,... and yeah, i've got that feeling when I learn a new language! But I just got to figure out how to write a program :p I want to make a app, any app, i want to learn! And I am young now, but I think i will never stop learning, and never want to stop learning, so just do it!

lulled
June 20th, 2011, 07:59 PM
I would suggest that if you're currently a PHP web developer, you might want to consider checking out Ruby on Rails. Ruby is a much nicer programming language than PHP, and RoR is a modern framework with lots of stuff ready to use.
I see Ruby (on Rails) and Python (with Django) in the same wagon: agile and web-driven programming. That's why Python is on my list. I have a thing for Java for its platforms and frameworks allow developers to write code for cellphones and etc.
Thank you for your hint, I'll check Ruby On Rails out. :)

lulled
June 20th, 2011, 08:08 PM
Thank you all for your inputs. They have inspired me to "think less about when start doing, and start actually doing".


Whenever you feel to. Once you think you can handle one language, try another one, never stop learning.

Hi, I Am an Webdesigner-student, I am learning to work with xHTML, CSS, but in my spare time I am also learning python, ruby,... and yeah, i've got that feeling when I learn a new language! But I just got to figure out how to write a program :p I want to make a app, any app, i want to learn! And I am young now, but I think i will never stop learning, and never want to stop learning, so just do it!
That's the right thing to do. Never stop learning, specially in IT field of work. ;)


So, in my opinion, the best time to learn a new language is when you have use for it.
I don't really have a use for any other language, but I don't want to feel stuck. I want to learn something new and eventually use it as a daily day tool.



Yesterday has always been the right time to learn a new programming language :)

It sounds like you know enough of PHP to try something else. If you are working with PHP professionally then you could learn Java or Python in your spare time.
Now that I have a more balanced work schedule, I actually have spare time. ;)


I tend to drift around from language to language as it piques my interest, learning what unique things it has to offer and playing around with it until it feels somewhat familiar.
Yes, it is always helpful to have a broad knowledge on several languages so you won't be totally unprepared when you have to work with it.

LoneWolfJack
June 21st, 2011, 12:37 AM
The question is, why do you want to learn a new language?

If it's because you can't drum up enough business to make a living, then you should have learned a new language yesterday. With PHP, that's unlikely.

If it's because you're curious about what other languages have to offer, then the right time is as soon as you have free time.

If it's for education, you should block some hours every month for this.

There are probably more valid reasons to learn a new language, but either way, you should first know why you need to learn a new language. Then you can worry about when to do it.

lulled
June 21st, 2011, 01:44 AM
You hit a nerve now, LoneWolfJack. Hahaha.
I'd say it's a little of all points.

There are many jobs and positions for PHP programmers. Normally, they don't pay as well as they do for Java or .NET programmers. So better salaries would be a point here.

Second, besides the salaries, one more language on my belt would increase my chances for better positions.

Third, Python has not had its "booom" down here in Brazil (has it had somewhere?) but - besides my curiosity - I think it will have its day here and then I'll be prepared to step in.

Thank you for your reply.

simeon87
June 21st, 2011, 11:42 AM
Third, Python has not had its "booom" down here in Brazil (has it had somewhere?) but - besides my curiosity - I think it will have its day here and then I'll be prepared to step in.

In that case you'll have to wait :) Various companies in the United States and in Europe do use Python for their website and web projects. Not sure about Asia and the rest.

lulled
June 21st, 2011, 01:36 PM
Google has interests in Python, that's why I'm positive that this language will be very used in a near future. Besides, it's modern and of quick development.

I am glad to know companies in America and Europe are using Python. Brazilians companies, in my opinion, tend to be more conservative in their choices (I don't know if conservatism is the right word here, but anyways).