Live data from Hacker News

Ask HN: what language should I learn next?

news.ycombinator.com

51–60 of 63 posts

Re: Ask HN: what language should I learn next?

#51

Earlier quoted context omitted.

Great advice, ricree and m_fish. I think this is right on. That's why I don't want to learn Python - it looks like a great language, but I already have Ruby. I've been trying C and Scheme on the side, but through reading (SICP and K&R), and I've kind of hit a wall. I really want to put something into production that isn't written in Ruby, and an iPhone app would do the trick.

What wall, out of curiosity, are you hitting with C?

Understanding the development cycle of an application. I can fire up vi and complete exercises, or build an artificial tool, but that only takes one so far.

Re: Ask HN: what language should I learn next?

#52
Just to throw my two cents into the mix, some of the best computer fun I've had in recent weeks has involved playing with Processing.

http://processing.org/

As somebody who normally does a lot of Ruby, PHP, Javascript web consulting working dealing mostly with data and database stuff, it's been fun to stretch my mind and play around with a much more visual programming environment.

Re: Ask HN: what language should I learn next?

#53
I think your next step should be a couple of static languages. Try C first (and object-c) and create a iPhone app, perhaps. Then try Java. I know, it is not popular around here, but it is good knowing one of the most used languages in the world.

With Java you can do server side programming, or even better do some mobile programmin (J2ME app for a phone, or an Android app).

Re: Ask HN: what language should I learn next?

#54
It is not difficult to build a database-based webapp using Common Lisp. Hunchentoot, CLSQL and something to generate HTML (CL-WHO and HTML Template are both good).

Clojure is really interesting, and may be my new favorite language. Parallelism is one of those things in programming that is rarely trivial in most languages. Clojure makes a lot of parallel problems easy and it has access to all of Java's libraries.

Re: Ask HN: what language should I learn next?

#55
post #36
post #32

It's probably not worth learning another language for a web development project. You'll spend most of the time learning the syntax and the framework. Nothing which will expand your mind. Try a functional language like Haskell, Erlang or ML. But you really need a problem to work on. A database-backed web app can easily be written in Ruby, but maybe there is a feature which requires background processing, write that in…

"but maybe there is a feature which requires background processing, write that in the newly learnt language." great advice.

Agree and a standard project to do in Erlang seems to be a webserver which will also increase your understanding of webprogramming in general.

Re: Ask HN: what language should I learn next?

#56
This is going to be unpopular advice, but I would suggest algorithms in C. You already know how to make web applications. Any reason you want to know how to make web applications again? Will Lisp or C web applications make you happier or more productive?

What will help you is probably a better understanding of algorithms/programming and I personally like C for that job. C doesn't hide stuff like higher-level languages do. It makes you think about how the computer processes the information and uses memory. I'm not suggesting that you ever use C for one of your webapps. I'm suggesting that knowing C and good algorithms will make you a better programmer in higher level languages because you will understand more.

Re: Ask HN: what language should I learn next?

#57
post #41

Earlier quoted context omitted.

Interesting. That's the exact same argument I made above with C and systems programming. Clojure has caught my eye, and I'm familiar with Java, but I'm not as familiar with the JVM itself. Any resources that are good overviews of the JVM?

Well, if you want to carry the analogy further, to know Java is to know the basics of how the JVM looks at life. The JVM has concepts of class, inheritance, methods, instances, constructors, and garbage collection baked into it, and they have the same semantics as Java. Arguably, the only difference is one of coding: the JVM codes a Java method as a series of stack-based opcodes, and a class as a set of methods with…

Just want to second this. I just read much of the spec this summer, and was surprised how directly the byte codes corresponded to Java semantics.

Re: Ask HN: what language should I learn next?

#58

OCaml. If you've been working with languages dynamically typed at runtime, using something statically typed at compile time will be very informative. Unlike most other statically typed languages, OCaml's type inference turns the type system from a thing that needs to be constantly appeased to a free reality check when you need it. OCaml will also teach you functional programming tricks usable in Ruby, or several othe…

Anyone want to contrast OCaml with Scala?

Scala is also multi-paradigm and has type inferencing. What would the differences be (to someone learning Scala, but no experience with OCaml)?

Re: Ask HN: what language should I learn next?

#59

OCaml. If you've been working with languages dynamically typed at runtime, using something statically typed at compile time will be very informative. Unlike most other statically typed languages, OCaml's type inference turns the type system from a thing that needs to be constantly appeased to a free reality check when you need it. OCaml will also teach you functional programming tricks usable in Ruby, or several othe…

I'm a big OCaml fan, but heck if I've had a chance to use it yet.

If Microsoft can keep F# "pure" OCaml it has a great shot at winning the scaling wars. Stuff like workflows and monads are still messing with my head, though.

Re: Ask HN: what language should I learn next?

#60

Earlier quoted context omitted.

Yep. I would learn Objective C and write an iPhone app. Or I would say to heck with it and learn Lisp. Why focus on a pragmatic language for web apps? You've got that already.

Great advice, ricree and m_fish. I think this is right on. That's why I don't want to learn Python - it looks like a great language, but I already have Ruby. I've been trying C and Scheme on the side, but through reading (SICP and K&R), and I've kind of hit a wall. I really want to put something into production that isn't written in Ruby, and an iPhone app would do the trick.

If reading SICP or K&R doesn't fire you up to write code, reading, say the Armstrong erlang book or the haskell books (intros by Hutton, Hudak,) won't do it. I think most of these languages, you can look in delicious and see everything that's been tagged on erlang, haskell, scala, factor, whatever, in the last week, what they're being used for, gauge quality/depth of toolset (emacs/textmate support, debuggers, unit test/BDD, profilers, etc), get ideas there.

great thread BTW , mazeltov

Post reply on HN