Live data from Hacker News

Clojure will affect the way you think about programming

eli.thegreenplace.net

21–30 of 226 posts

Re: Clojure will affect the way you think about programming

#21
post #11
post #4

I just saw an article recently about core.async and the "go" macro, which seems to effectively give you goroutines in Clojure. I'd be very tempted to use it for that reason alone. I love Go's concurrency, but it can be a little on the verbose side. Good for some projects, but not all of them.

Go is verbose ? I'm surprised to hear that, to be honest. Can you say what it's verbose in comparison to? What production language/framework has terser concurrency with the same expressiveness?

Clojure for one! But I thought it was a common complaint that Go's lack of support for generics and other language design decisions aimed at keeping things easy make it much more verbose.

That's just a non-user's perspective on the scuttlebutt, though - I don't have any actual experience with Go.

Re: Clojure will affect the way you think about programming

#22

I'm an EE who is getting more and more interested in software development and computation in general. I've been reading Paul Graham and Peter Norvig and decided to learn Scheme. Any thoughts on Scheme vs. Clojure for learning?

They are both LISP dialects, therefore worth learning. Clojure(Script) is nice because it has great interoperability with underlying platforms, so it's also a very practical and useful language for the real world. But if you started Scheme stick with that first - focus.

Re: Clojure will affect the way you think about programming

#23

I'm an EE who is getting more and more interested in software development and computation in general. I've been reading Paul Graham and Peter Norvig and decided to learn Scheme. Any thoughts on Scheme vs. Clojure for learning?

To a first order of approximation, for this task it doesn't matter. Both are good options. I do recommend reading SICP while at it; using Scheme for SICP is easier than using Clojure.

On the other hand, Clojure is more production-ready than most Schemes, in my experience -- this sentence being one of the reasons as the Scheme landscape is very fragmented, despite the standard(s). For example, in my own SICP journey (http://eli.thegreenplace.net/tag/sicp) I was using PLT Scheme, one of the most usable implementation back in the day. Unfortunately it forked off into a slightly different language - Racket - since then. So YMMV

Re: Clojure will affect the way you think about programming

#24
post #18

Earlier quoted context omitted.

The perfect language to expand your brain. In a world dominated by java, php, c++,... In my opinion yes, Clojure could the perfect language to continue learning concepts, at same level would be Haskell.

It's also very pragmatic, and probably most used functional languages in the industry at this point.

wish that were true, but i doubt it. scala, prolog and erlang are all higher on tiobe index.

Re: Clojure will affect the way you think about programming

#25

I'm an EE who is getting more and more interested in software development and computation in general. I've been reading Paul Graham and Peter Norvig and decided to learn Scheme. Any thoughts on Scheme vs. Clojure for learning?

Scheme is a smaller language and has legendary beginner books. Start with HTDP and then SICP.

Re: Clojure will affect the way you think about programming

#26
If "expanding your brain" is really what we want to optimize, why not learn Haskell? Or for that matter, why not learn something even more strongly typed, like Agda or Idris? Or even a theorem prover like Lean?

Most of the reasons the author presents would either be expanded in one of those languages, or is immaterial to the goal of maximizing learning. After reading the article I have no more reason to consider learning Clojure over learning any of the languages above.

Re: Clojure will affect the way you think about programming

#27
Having spent some time programming in Clojure, for the purpose of expanding my brain, I suspect a better Lisp to start with might be one of the classics - Racket, Common Lisp, etc... One of the reasons I gave up on Clojure was the lack of documentation of libraries, the bad debugging experience (those stack traces!) and the fact that there's no avoiding the JVM. They're all distractions to the learning (that was 2 years ago, I'd be happy to hear that things have changed).

I think Clojure is a great language, but if you just want to expand your mind via a Lisp then I think you'll get more for your time with another implementation.

Re: Clojure will affect the way you think about programming

#29

" A language that doesn't affect the way you think about programming, is not worth knowing." If this would be common practise nobody would learn golang.

Golang certainly affected the way I think about programming, having learned it after ~15 years of programming experience.

FWIW, I think most language can affect thinking - but the degree varies.

Post reply on HN