3 ms·
Ask HN: Should newbie programmers invest there time in new Languages?
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.
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 17y ago"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.
- IsaacL 17y agoI'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.
- chipsy 17y agoThe 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 17y agoThe 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.
- jpr 17y agoI 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.