HN Theater @HNTheaterMonth

The best talks and videos of Hacker News.

Hacker News Comments on
Clojure core.async

Rich Hickey · InfoQ · 50 HN points · 4 HN comments
HN Theater has aggregated all Hacker News stories and comments that mention Rich Hickey's video "Clojure core.async".
Watch on InfoQ [↗]
InfoQ Summary
Rich Hickey discusses the motivation, design and use of the Clojure core.async library.
HN Theater Rankings

Hacker News Stories and Comments

All the comments and stories posted to Hacker News that reference this video.
Aug 27, 2017 · 1 points, 0 comments · submitted by tosh
Feb 15, 2017 · kudokatz on Callback Hell (2016)
> You could hide all async in a procedural layer if you accepted the constraint that once an async call starts, none of your own code will run until it returns. It wouldn't block the browser or OS, but it would block you ... I have no choice in the matter. I can't make use of the result of a REST call until I actually have the result.

The core.async library for Clojure makes the code look imperative, but handles locking and selecting threads to run under-the-covers ... you may find it an interesting compromise

https://www.infoq.com/presentations/clojure-core-async

Dec 17, 2016 · 2 points, 0 comments · submitted by tosh
There has never been an argument on how concepts like .map, .reduce, .filter, functors, promises, futures are inferior to what Go programmers currently use.

With regard to futures and promises, I find the article What color is your function [http://journal.stuffwithstuff.com/2015/02/01/what-color-is-y...] very convincing with regards to their problems. The article touches on part of why Go's concurrency model is superior, but for an even more compelling argument, you should watch Rich Hickey's talk[http://www.infoq.com/presentations/clojure-core-async] about core.async which is Clojure's library implementation of CSP[https://en.m.wikipedia.org/wiki/Communicating_sequential_pro...], which is the concurrency model which Go has language level support for. The argument briefly is that CSP allows for concurrent code that reads sequentially and is therefore easier to reason about.

Node only runs on one core, you can start it more then once. This only works if the request well don't have to coordinate over the hole address space. You need to care all the shared state in a database, witch you don't really want to do.

Go, is pretty good for that and it helps to think about it. You can start on thread of control per request, like with Scala where you might start one actor per request but the difference is that you have first class channels to communicate. Witch is pretty powerful.

One the JVM you can do this CSP style where well with Clojure (https://github.com/clojure/core.async).

Interesting video why CSP is best:

> http://www.infoq.com/presentations/clojure-core-async

Its interesting that you use Go (CSP) and Node.js (callback) and like them both. Generally CSP people belive that the Node.js approach leads straight to hell.

Rich Hickey is really good about why Callbacks are terrible (and that's why he implemented CSP in clojure):

> http://www.infoq.com/presentations/clojure-core-async

> https://github.com/clojure/core.async

ivanplenty
"Like" is relative and based on tradeoffs. Loved Rick's talk, thanks.

This last year I worked on a project with people from the valley, we used Go, and everyone contributed quality code. This is because people in SF area know Go.

A year ago I worked on a project with people from the midwest, we used node, and got the same quality. Much fewer people in the midwest know Go.

Independent of my feelings about both environments, CSP, callback hell, etc, at the end of the day my team and I have to build a product, and I try to pick the tool that best matches our combined skillsets.

nickik
Absolutly. For some stuff node.js works perfectly well and knowlage is often the hardest thing to come by.
Nov 23, 2013 · 47 points, 8 comments · submitted by puredanger
jaseemabid
Is there any way I can download the video?
ataggart
There's a "Download MP3" link directly under the video.
okasaki
You could download it with (the somewhat inappropriately named) youtube-dl tool.
imdhmd
A presentation slide is missing. Can i download the original presentation from somewhere?
juliangamble
These slides appear to be the same talk done at a different venue. http://qconsf.com/system/files/presentation-slides/Clojure.p...
ataggart
From the context, I gathered that the missing slide is just the subsequent slide[1] without the blue oval.

[1] http://www.infoq.com/resource/presentations/clojure-core-asy...

agumonkey
Good call. I'm really curious if there really never was a slide 7...
kul_
infoq seems to be down.
None
None
HN Theater is an independent project and is not operated by Y Combinator or any of the video hosting platforms linked to on this site.
~ yaj@
;laksdfhjdhksalkfj more things
yahnd.com ~ Privacy Policy ~
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.