TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: What should be my next programming language?

4 pointsby nithinbekalover 14 years ago
I am trying to decide what programming language to learn next. Couldn't think of a better place than HN to ask for recommendations and start discussions about programming languages.<p>I've worked on ruby/rails for over a year, so that's the language I'm most comfortable with, but these days I work on C and PL/SQL. I'm trying to pick up a language that's very different from the ones I've worked with. Here are the languages I'm considering:<p>Erlang/Haskell/Common Lisp: Understanding functional programming would be a challenge, coming from ruby's object oriented world and these languages seem the top contenders in that category.<p>Scala: It's has both object-oriented and functional features, so will it be easier to catch up with functional programming in Scala than with a purely functional language like Haskell?<p>Smalltalk: It would be fun to learn a language that's been around for over three decades and has had so much influence on the design of other languages.<p>Any other language? Clojure? Go? Brainf<i></i>k? ;-) Tell me what language you think would be most interesting to learn and why you recommend it?

9 comments

sophaclesover 14 years ago
I vote for haskell. There are a couple of great online resources for free[1], and if you are at all like me, you'll benefit immensely from it, even though you never use it directly. Basically it is so weird that you have to learn new ways to think. The cool thing is those weird things end up being applicable in boring ruby/python/c type situations. Also, you start wishing everything had a badass type system, because you start seeing problems that could easily be solved by codifying them to ADTs and letting the type system sort out the rest.<p>1. Learn you a haskell for Great Good -- <a href="http://learnyouahaskell.com/" rel="nofollow">http://learnyouahaskell.com/</a><p>Real World Haskell -- <a href="http://www.realworldhaskell.org/" rel="nofollow">http://www.realworldhaskell.org/</a>
评论 #2076069 未加载
评论 #2076076 未加载
Skywingover 14 years ago
If I decide to pick up a new language, it'll probably be Scala. My only real reasoning for that is because the language is younger, which just seems more exciting. Now, if I could just find time or a reason to start using Scala then that would be awesome. :)
评论 #2076020 未加载
mcavover 14 years ago
I'd recommend Clojure for two reasons: You'll get experience with functional programming, and you'll be introduced to the JVM at the same time. If you learn Clojure and later want to learn another JVM language, you'll be halfway there.
评论 #2078982 未加载
skeltoacover 14 years ago
I picked up Erlang a couple of years ago because I needed to hack on a Jabber server. Never mind the functional aspect; Erlang stands out for concurrency, distribution, and fault tolerance. Several of my Erlang projects have been running, at scale, trouble-free for months. I get a kick out of never getting service alerts.<p>Lisp is another good answer to your question. It's different. And the cliché is true: even if you never use it, your coding will improve if you understand Lisp. (Land of Lisp is a fine primer.)<p>However, with Erlang it has been much easier to find actual projects to do.
评论 #2079005 未加载
stonemetalover 14 years ago
Factor, it is a stack based language that is fairly different from the rest of the stack based languages(it counts lisp as one of its major influences. ) It has a good standard library that includes both a web framework and a GUI framework.
jmenuover 14 years ago
Other than the language being different, what are your goals in learning a new language?
评论 #2078687 未加载
pdelgallegoover 14 years ago
Have you think about learning how to write your own programming language. It would give you a deep understanding in topics that would make you appreciate other languages.<p>If you do the exercises till the metacircular evaluator in SICP book it will teach you Lisp and about how to develop a naive lisp-1 interpreter. Its a great exercise.
评论 #2078711 未加载
mian2zi3over 14 years ago
Learn a dependent-typed programming language like Agda or Epigram or Coq.
评论 #2078728 未加载
HackrNwsDesignrover 14 years ago
I'm going to try RoR, I hear it is a lot of fun, and as a programmer I want to have fun with my work :)
评论 #2078884 未加载