

Ask HN: Is it even sensible to learn all the mainstream languages? - gwillis13

I'm by far no expert in any particular language, but I do have a junior level (sometimes advance) knowledge of C++, Actionscript, and some Web-based ones. I love learning, but is it truly necessary to learn every new "trendy" language that comes out? Do we need all of these languages?
======
kls
No it is not necessary and it depends on your ambitions, some people like
working with the latest and greatest some people like being trendy and yet
others have no interest in the whole things. At some point though the
landscape of computing fundamentally changes and the languages have to adapt
and generally new ones more well suited for that landscape emerge. If you
enjoy staying with the state of the art with computing many times using the
latest languages is more complementary. For example their are languages that
make parallel programming far more tolerable than some of the older but not
old languages such as Java or C#. At some point as parallel becomes more and
more important they will gain in popularity. That being said, if that does not
interest you, you can always choose to sunset with your current languadge of
choice. There will be a period where this is not a lucrative proposition, but
as it ages and talent in the technology is lost to attrition, it can be as
lucrative if not more than staying with the latest and greatest. For example
COBOL developers and mainframe developers are now in high demand, it is not
unreasonable to command 200k in either of those fields and they will most
likely not be overcrowded as people are not flocking in droves to those
technologies. But generally you have to chose one of the two paths, either you
stick with what you know and sunset or you become the perpetual learner. I
chose the latter because I love following along with where we are heading. But
there is no shame in taking the other path. I have many friends that did and
they are very happy with their choice.

------
thejteam
To sort of change the wording of what others have said, don't think of
learning new languages. Learn to solve new problems. Sometimes the problem is
best described in a language you don't already know. In that case learn it.

In my case, I've solved many interesting problems over the last decade using C
and C++ and an odd shell script here and there. It just so happens those are
good languages for solving the problems that I need to solve(which happen to
occupy the world in between embedded programming and desktop programming).

------
pepperman
I'm a decade+ into my software engineering career. I've learned these, in
order: Pascal, C, C++, Java, PHP, Perl, Python. Python is my favorite, but I'm
glad I got my CS foundation by writing a lot of C++/Java OO code. For me, it's
been helpful to learn several languages and then get deeper in each one. The
longer you work in any particular one, the more "hidden gems" you discover and
the faster/easier you can reach the optimal solution to whatever problem
you're facing.

------
hunterclarke
If you really love learning about new things and picking up languages for the
challenge (as I do) then you should totally continue soaking up any
documentation you can.

However, do not let the latest trend dictate how you use your knowledge.
Programming languages are just tools, and sometimes its hard to remember that
it's all in how you use your tool that makes it effective.

------
joelmaat
You should learn Java, Python, Objective C, and maybe Ruby (on Rails) or PHP.
Ruby seems to be in decline, and Python is on the rise.

