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 language do you recommend I learn?

4 pointsby C1Dalmost 12 years ago
Hello, I'm looking for a new language to learn and don't know what to choose. I've been looking at Ruby, Haskell, Lisp and Go. I'm interested in a language that will increase my skills at programming, that will be fun to learn, challenging and will result in nice looking code. Thanks :)

11 comments

support_ribbonsalmost 12 years ago
I know that you asked for a new programming language to learn.<p>But if you want to increase your skills as a programmer I think that learning algorithms and data structures that you don't know is better for your development than learning new programming language ( this book is a good one: <a href="http://en.wikipedia.org/wiki/Introduction_to_Algorithms" rel="nofollow">http://en.wikipedia.org/wiki/Introduction_to_Algorithms</a> ) .<p>While learning hard algorithms and data structures you will also learn how to think in a new ways. Also I recommend reading about concurrency and parallel programming ( general texts, nothing language specific ).<p>This will help you in writing better code in any language and also in understanding code written by others.
C1Dalmost 12 years ago
Hey. I just found the book Seven Languages in Seven Weeks. I guess I could study that and select a language that I enjoy and master it. It goes through Haskell, erlang, scala, io, prolog and ruby.
evanxalmost 12 years ago
Javascript is great fun to play with in one's browser - you can edit, and reload and voila :)<p>Recently i've been playing with the HTML5 canvas, drawing sequence diagrams and network diagrams programmatically - and can't remember when i last had so much fun programming - took me back to my teenage years and my first programs, drawing "graphics" on those cathode ray tubes ;)<p>Being a biased Java developer, i would otherwise recommend Groovy.
bjournealmost 12 years ago
You can't go wrong with Factor: <a href="http://factorcode.org/" rel="nofollow">http://factorcode.org/</a>. It's so different and totally out there that you will definitely learn something new. Plus, it's practical. :)
bayesianhorsealmost 12 years ago
All of these are valuable to learn. Except maybe ruby, which is a cute language, but slower than Python, less principled than Haskell and has less history than Lisp.
tjralmost 12 years ago
What languages do you already know?
评论 #5758726 未加载
dakrishtalmost 12 years ago
Well, you know C (and variants) so learn Objective-C<p>Also Ruby or Python.
feralmoanalmost 12 years ago
Erlang, Scala
6d0debc071almost 12 years ago
Uhm, if you've just been learning languages as your way of learning to program I'd actually recommend that you go and look at an open source project or write a significant program yourself. Learning how a large project works, especially if you're trying to work on it with others, will teach you a lot. I'd also recommend you look out some books on problems that computer programs are used to solve rather than just picking up another couple of languages - learning about relational databases for instance is... yeah. It's more the theory side of things and some of it's awesome but I'm not sure you'd run across them picking up languages here and there.<p>That aside, most of the languages you seem to know are - by and large - imperative. I'd recommend you learn a functional language like Haskell or Lisp because that's a different way of looking at things. It will teach you about functional abstraction which is a really good way to get to the heart of a problem and avoid doing the same pattern over and over again in different bits of code. Some of the things you can do in functional languages are incredibly beautiful.<p>Ruby ought to make you really familiar with learning how to use other people's code and has an incredibly friendly community, at least as programming goes =p Learning to use other people's code is a big thing in programming - as a general rule, never program your own version of something unless you think you can do it better in some way, their interface is awful, or you want to know how it works.
评论 #5761438 未加载
claudiugalmost 12 years ago
java/groovy/scala/haskell/clojure/python no php
happy_dinoalmost 12 years ago
Scala.