

Why learn yet another programming language? - chintan39

I have good experince in PHP and PHP Frameworks.
And there are all sort of new programming languages and frameworks getting famous.Like Ruby,Ruby on Rails,Node.js,Angular.js,Backbone.js,Ember,Express,etc.
Do I need to master yet another language or Is it ok to stick to what I already know?
======
sergiotapia
If you want to still keep whittling away at PHP code, then don't do anything.

You want to learn new languages and tools because you enjoy your job. At least
I hope you do - you do this 8 hours a day.

I've worked with guys who were 20 years into their career and only knew PHP
(ok ok and some C) and haven't even heard of SVN let alone something modern
like Git or Mercurial. "Source Control, what's that?"

You don't want to become one of those guys when you're 50. Suddenly your job
is precarious and worse than that, if you should lose your job where will you
find other work?

~~~
chintan39
Of couse we dont want to become "one of those guys".But lets say I start
learning Node.js and then other framework for like
Express,Angular.js,Backbone.js,etc comes in. If I start learning all those I
may not be able to focus well in PHP and as I said earlier "jack of everything
and King of nothing"

~~~
timmm
Fortunately for your hypothetical "king of php" is still underwhelming in most
people's opinion.

The other thing is learning the basics of one of these technologies really
isn't super hard. It's not that you have to start using it daily, just spend a
long weekend understanding the problem they aim to solve and how they achieve
that aim.

------
earpwald
It depends on what you want to do and what you want to become. As the old
saying goes, knowledge is power, and the more you know, the stronger your
skills can become. As a developer myself, I would say that my skills are
independent of the language I'm coding in. For example I currently work in
.Net, but the skills I know are easily transferable to other languages (Java,
Node etc).

It's important to remember that PHP is not going to be suitable for every
situation that you develop in and knowing what else is out there, and having a
basic knowledge in how the other languages work and their pros vs cons means
that you can chose the right solution at the right time. Ultimately if you
want to be a PHP developer I would recommend really focusing and learning that
language first and then looking further afield. After all its better to be a
master of one language, with the ability to pick up new skills as needed in
others, than be an amateur at 10.

~~~
chintan39
I agree the coding basic remains same across all languages.And I have not yet
come across any project that cannot be done in PHP(except for Mobile Apps).

~~~
jesusmichael
I agree with chintan39... I've been working in java and php for more than 10
years. As its grown I've found I could do just about anything in it. Even
before Zend I was building objects in it.

To me the programming language is nothing but a tool to accomplish a task. The
concepts of programming, the use of objects, models and data is the art of
programming, the "design", the language is the tools and materials, the "wood
and hammers". These can make it more elegant and high performance for the task
the programming will be accomplishing.

~~~
chintan39
Nice point here "The concepts of programming, the use of objects, models and
data is the art of programming, the "design", the language is the tools and
materials, the "wood and hammers""

------
wikwocket
This depends a lot on your situation.

If you work for a medium-to-large company, you may be called on to learn new
technologies for new projects, new business initiatives, etc. If this happens
too often it can be a bad sign, but in moderation it's a great way to learn
new skills, broaden your horizons, and deepen your toolbox, so you can always
find the right tool for the job (which often changes over time, since as an
industry we are always enhancing our toolset).

If you are a freelancer or in a small startup, this is much more at your
discretion. You'll still want to use proper tools for the job, but you can
make use of what you already know, or try out the latest whizbang thing.

The common thread is that for the most part, the technology used is secondary
to the business needs and how to fill them. By all means explore new languages
for your education and edification, but if you are asking "Do I need another
language," the answer is, "Can I use it as a tool to solve a problem I am
facing?"

------
ColinWright
Do you want to grow as a programmer? Do you just want to keep doing what
you're doing? Or do you want to be exposed to new ideas, new ways of thinking,
new techniques, and possibly better ways of solving your existing problems?

~~~
chintan39
I want to grow as a programmer for sure. Only problem is it will make me "jack
of everything and king of nothing".

------
ihatehandles
Not master a new language, just dabble in an added few. Kill off an hour of
bore learning some NodeJS or AngularJS, what's there to lose? If there's
nothing to actually be gained. I do this from time to time and the knowledge I
picked up later became the deciding competitive advantages for startups I work
on.

------
willstepp
The best way to look at yourself is not as a PHP developer, but as a software
developer. You can be a 'king' of software development, regardless of the
shifting landscape of tools available to you. As a master of software
development you must keep up to date on the best tools for the job.

------
daftonshady
IMHO, if you want to be a better programmer, you should eliminate language
dependency. No one can `master` one language, but good programmer can use new
language easily with less effort.

~~~
yen223
You know, people say that, but I don't quite buy it. You need to invest a lot
of time in a language before you fully understand its ecosystem, quirks,
strengths, and weaknesses. I believe that the time is better spent learning
new algorithms. It's better to be able to implement hard algorithms in one
language, than to be able to implement easy algorithms in a hundred.

