Expert to Expert: Rich Hickey and Brian Beckman - Inside Clojure

  Рет қаралды 111,482

jasonofthel33t

jasonofthel33t

11 жыл бұрын

Cross posted from channel9.msdn.com/Shows/Going+....
Clojure is a dynamic programming language created by Rich Hickey that targets both the Java Virtual Machine and the CLR. It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection.
Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs.
Astrophysicist and Software Architect Brian Beckman interviews Rich Hickey to dig into the details of this very interesting language. If you don't know much about Clojure and the general problems it aims to solve, well, watch and listen carefully to this great conversation with plenty of whiteboarding and outstanding questions. Expert to Expert simply rocks! Thank you for spending time with us, Rich! Clojure is great!

Пікірлер: 63
@heepajunk
@heepajunk 7 жыл бұрын
The world needs a ton more of this type of content.
@sangkim6338
@sangkim6338 3 жыл бұрын
1:20 what clojure is 1:38 founding ideas of clojure 4:00 why pick Lisp as a base language for clojure 7:11 clojure's evaluation strategy 8:10 how is clojure 'functional'? 13:35 clojure's data structures 15:10 numerics 17:20 //board session// 18:50 how is list different from vector? 20:05 vectors and maps are .. functions! 23:04 two phase syntax (code as data, data as code) 28:05 *** moment of violating immutability *** 28:15 interop example 29:30 clojure concept of identity, in terms of mutability and immutability (how does clojure navigate both) 30:40 persistent data structure 32:25 how clojure implements persistent data structure (hash array mapped tries) 37:25 identities in clojure 38:00 identity and value in OOP perspective 40:06 how clojure fixes the conflation of identity and value (atom, ref) 47:36 example of transaction
@Korupshenv1
@Korupshenv1 10 жыл бұрын
I think talking about Clojure at this level shows how distinct and unique the language really is compared to others. Rich has done an excellent job on reviving Lisp for the new era where concurrency and immutable data structures should be fundamentals within the language itself. Targeting the JVM was definitely a smart move on Rich's behalf. It's very rare to see this kind of interoperability. Thank you for the upload.
@christgar64
@christgar64 4 жыл бұрын
Also it targets the CLR of .NET
@pragyandas
@pragyandas 7 жыл бұрын
Clojure has made world a better place...Simply Genius...
@kshahkshah
@kshahkshah 8 жыл бұрын
That explained a *lot* of Clojure concepts very very succinctly. Namely what that community means when they refer to 'persistence' and how that affects time complexity of standard operations. Awesome interview.
@klgraham
@klgraham 8 жыл бұрын
This sold me on Clojure.
@abhisheksingh-li6zo
@abhisheksingh-li6zo 8 жыл бұрын
+Kenneth Graham i can,t understand what u want to say ?? are u mean that u got job in clojure after seeing this video,, how this is possible..?
@klgraham
@klgraham 8 жыл бұрын
+abhishek singh :-) No... Just that Clojure is a language worth using.
@WilkerLucio
@WilkerLucio 10 жыл бұрын
fantastic presentation, Clojure is such a piece of art :)
@vamsideepakampolu8546
@vamsideepakampolu8546 8 жыл бұрын
This seems to be the most non-abstract Rich Hickey talk on the internet, I did not understand the last bits but I now know that they exist which means that I can work on figuring them out later.
@hertzbergny
@hertzbergny 8 жыл бұрын
love how nerdy as fuck this is
@creativefeather2968
@creativefeather2968 7 жыл бұрын
I think you're conflating nerdy discussion and meaningful discussion, lol. I'm just learning clojure and this helped me understand the language in a much more meaningful way than the documentation on the website has so far. I'll give you though, if you're learning or know clojure, you might be a nerd :)
@buttkrustable
@buttkrustable 8 жыл бұрын
I don't have a fucking clue what they're talking about. But i love watch it.
@jasonofthel33t
@jasonofthel33t 11 жыл бұрын
You're welcome!
@hariharanviswanathan242
@hariharanviswanathan242 4 жыл бұрын
Rich is a genius. Clojure (Lisp) + Haskell + Erlang (concurrency constructs) = ❤️
@freerunkevin
@freerunkevin 7 жыл бұрын
What an enlightening talk! They should make some of these concepts into college material, e.g. designing and implementing a persistent, immutable set datastructure. This really shows where these abstract concepts come together in the real world.
@RogerKeulen
@RogerKeulen 11 жыл бұрын
Thanx for putting this on KZbin Jason !
@ThomasGoossens
@ThomasGoossens 11 жыл бұрын
Great conversation! Thanks!
@panhao356
@panhao356 8 жыл бұрын
Great speech. Expert to Expert is really insightful.
@RogerBarraud
@RogerBarraud 6 жыл бұрын
Great talk. Good mix of conceptual and concrete.
@kenzo0622
@kenzo0622 8 жыл бұрын
This is a great talk. Thanks!
@DanielBeecham
@DanielBeecham 11 жыл бұрын
This was great, thanks.
@seyiakadri
@seyiakadri 8 жыл бұрын
Great. Clojure is it.
@elgireth
@elgireth 7 жыл бұрын
Great stuff! Evolving reference feels indeed like a dual of Observables/Streams. And swap is like scan in streams. Though scan takes the latest value & the state built only in that stream to produce a new value where swap can take any other state too. How would a transaction look like on e.g. 2 observables/streams?
@cusnaez
@cusnaez 7 жыл бұрын
Best introduction to Clojure ever!
@RogerBarraud
@RogerBarraud 6 жыл бұрын
Not really - See Rich Hickey's YT vids for even better intro / intermediate / advanced coverage! :-)
@counterculturecocks
@counterculturecocks 6 жыл бұрын
Brilliant!
@laurelsporter4569
@laurelsporter4569 2 жыл бұрын
Great to see something other than one-way talks. Thank you, Algorithm. Around 45 min...x86 has a number of compare and exchange instructions, and have retained that terminology for it for many years, as they've added more of them. Windows' library writers probably derived their terms from Intel's hardware level vocabulary.
@captaincaption
@captaincaption 8 ай бұрын
The algorithm pulls out some diamonds from the rough in a whole for sure. And that's why I continue to use KZbin.
@Kenbomp
@Kenbomp 3 жыл бұрын
Nice. Swap reminds of the small talk becomes command.
@artist6000ish
@artist6000ish Жыл бұрын
at 50:41, Rich cut Brian off, but Brian's question was about the mutable data structures in Java and .NET. It's unfortunate because Rich response didn't make sense without that qualification where he says "you don't use them"
@eugenemosh3658
@eugenemosh3658 2 жыл бұрын
Thanks!
@andrw_
@andrw_ 2 жыл бұрын
The Bob Ross of programming meets the cowboy Tom Hanks
@mhameedmmd
@mhameedmmd 5 жыл бұрын
my life is changed now !!!
@valentinzambelli9930
@valentinzambelli9930 3 жыл бұрын
Even if you are Rich Hickey you still have to whiteboard code in interviews...
@adrbaz
@adrbaz 3 жыл бұрын
😂
@abhinavomprakash4884
@abhinavomprakash4884 3 жыл бұрын
When the creator of clojure says multi threading in java is complicated.....
@Simon-xi8tb
@Simon-xi8tb 6 жыл бұрын
Rich Brickey and Brian Hickman
@UberOcelot
@UberOcelot 5 жыл бұрын
This was like an hour long mental message, does it get better than this?
@RahulGaurh4x
@RahulGaurh4x Жыл бұрын
man oh man ...if I could be a centage of programmer mister rich is
@Evan490BC
@Evan490BC 10 жыл бұрын
(greatp (watch 'Rich 'Brian)) ; => T
@willmcpherson2
@willmcpherson2 4 жыл бұрын
The persistent data structures are really cool but man I would not enjoy implementing that
@MinNyeAccount
@MinNyeAccount 8 жыл бұрын
I understand nothing of what they are saying.. but i have seen the entire video.. ??
@ericlubisse8461
@ericlubisse8461 8 жыл бұрын
+MinNyeAccount mmm...how did you make it to the end of the video? Anyway, have a look at this www.braveclojure.com/
@micheldibjorge7517
@micheldibjorge7517 8 жыл бұрын
Relax it is normal, study more about computer science and come back in a couple of years
@trwd3000
@trwd3000 7 жыл бұрын
These guys should dress more like the rock stars they are.
@RogerBarraud
@RogerBarraud 6 жыл бұрын
I think you'll find they *did* :-)
@SonOfBohl
@SonOfBohl 11 жыл бұрын
MUH MONADS
@MIIIG
@MIIIG Жыл бұрын
He use worm brackets )))
@jungjunk1662
@jungjunk1662 2 жыл бұрын
Why is the guy wearing a 🎩 inside?
@alehatsman8550
@alehatsman8550 6 жыл бұрын
Hello guys, I am from 2018 and the most popular language in the World is JavaScript.
@mrsozekaiser9299
@mrsozekaiser9299 5 жыл бұрын
:))
@christgar64
@christgar64 4 жыл бұрын
I am from 2020 and JS is still very popular but equally hated.
@n30v4
@n30v4 2 жыл бұрын
Im from 2021 and JS is still… await … what??? Resolve that now! What do you mean I’m rejected.. ~shooting in background~ Hello I’m from Microsoft. .NET is coming. And can’t be stopped now. Since Billy the swag Gates is divorced we are concentrating on a younger audience.
@PatternShift
@PatternShift 7 ай бұрын
I am from 2023! And JavaScript keeps getting more popular despite being bad, but it's ok, Microsoft is slowly taking over the language and ecosystem and fixing the fact that it's not C# by turning it into C#, one TypeScript feature at a time.
@utkukaratas
@utkukaratas 3 ай бұрын
2024 - JS and his crossdressing persona TS doesn’t seem to have lost steam at all. There’re even competing runtimes for backend use other than Node - Deno, Bun. The whole ecosystem of its underlying tools are slowly being rewritten in Rust.
Brian Beckman: Don't fear the Monad
1:07:10
jasonofthel33t
Рет қаралды 396 М.
The Value of Values with Rich Hickey
31:44
InfoQ
Рет қаралды 131 М.
New Gadgets! Bycycle 4.0 🚲 #shorts
00:14
BongBee Family
Рет қаралды 9 МЛН
1❤️
00:20
すしらーめん《りく》
Рет қаралды 33 МЛН
A History of Clojure by Rich Hickey with Q&A
1:07:02
Visas Meilas
Рет қаралды 29 М.
Maybe Not - Rich Hickey
1:03:29
ClojureTV
Рет қаралды 155 М.
"High Performance Clojure" by Chris Nuernberger
36:00
ClojureTV
Рет қаралды 2,7 М.
ClojureScript for Skeptics - Derek Slager
41:09
ClojureTV
Рет қаралды 69 М.
Persistent Data Structures and Managed References - Rich Hickey
55:54
Hammock Driven Development - Rich Hickey
39:49
ClojureTV
Рет қаралды 286 М.
Solving Problems the Clojure Way - Rafal Dittwald
1:02:26
Clojure/north
Рет қаралды 71 М.
"Transducers" by Rich Hickey
45:00
Strange Loop Conference
Рет қаралды 107 М.
Clojure in a nutshell by James Trunk
32:44
Func Prog Sweden
Рет қаралды 90 М.
The Language of the System - Rich Hickey
1:02:50
ClojureTV
Рет қаралды 162 М.
Обзор игрового компьютера Макса 2в1
23:34
#miniphone
0:18
Miniphone
Рет қаралды 11 МЛН
как спасти усилитель?
0:35
KS Customs
Рет қаралды 515 М.
Выложил СВОЙ АЙФОН НА АВИТО #shorts
0:42
Дмитрий Левандовский
Рет қаралды 1,4 МЛН