

Ask HN: Should newbie programmers invest there time in new Languages? - rick_2047

Even after programming for about 4 years, and taking two years of CS in school and currently going through one year of Computer Programming class, I still consider myself a newbie. That may be because for a major project I have only one website and one High school final year project both written in RoR and C++ respectively. I started out with C++ took a step back and went through C to do some uController programming then took a leap forward and learned Ruby and RoR to do some web dev things. All this time I was experimenting with different technologies and I consider this as my personal roadblock to not being able to do much of big work.<p>But recently one question poped into my head. Should new programmers venture into new languages like Go or Clojure?(I know Clojure is a year or more old but its still relatively new)I personally believe if you venture into something early you tend to grow with that thing. But I dont think a newbie programmer can do such a thing. Whats you take?
======
Groxx
"their" time.

And as to "new" languages, I'd generally ( _generally_ ) say no. A lot of them
are under heavy flux, and the people most involved in the community around
them are likely going to be the CS-linguists, not the average learning-
programmer.

That said, if you're looking at language / compiler design, it'd be _ideal_.
And any programmer with competency in a language or two should branch out a
bit into other languages.

------
chipsy
The main problem with learning a new language(new as in, recently made,
immature, etc.) is that it's (usually) hard to get anything done in the new
language because you will probably be the first person to try writing whatever
kind of code you're writing. Tools and libraries will be missing, compiler
bugs will surface, etc. So it's hard to be productive, and hard to find the
motivation to use the language in the first place, when you could just use
familiar Brand X and all its conveniences.

But you can learn a lot if you participate in the community, even if it's just
to read the compiler mailing list. If it's active and there's strong interest
in the language, some great discussions will appear.

------
jdp
The advantage of learning new languages is that you can take what you learn
from them and apply them to languages that you already know and use often. For
instance, when I first learned Io, I was exposed to functions like map and
select. I had never known that languages I used often also had them, like PHP
and Javascript, but since becoming familiar with those functions, the number
of times I use a for loop in my code is almost zero. Same thing with anonymous
functions, once I figured them out I was using them all the time. The broader
your knowledge is, the more opportunities you will be presented with to apply
it.

------
IsaacL
I'm also a fairly new programmer (I've only been programming seriously for
about a year and a half), and I've been learning Clojure on the side. So far
all I've done was a few Euler problems and played with some Java interop
(Swing graphics and so on) but it's been a worthwhile experience.

------
jpr
I think newbie should first learn multiple different languages. Say, C, a
Lisp-dialect, one statically typed functional language like Haskell or ML, a
scripting language like, a current mainstream language like Java or C#, a
shell language, a pure object-oriented language like SmallTalk, a logic
programming language, etc. I think it also helps that the language is well
established, so that you don't run into implementation bugs, and there is good
body of books, documentation and example programs available, so that would
mostly leave newer languages out for a newbie.

