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

Поделиться
HTML-код
  • Опубликовано: 31 янв 2025

Комментарии • 67

  • @heepajunk
    @heepajunk 8 лет назад +136

    The world needs a ton more of this type of content.

  • @sangkim6338
    @sangkim6338 3 года назад +27

    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 лет назад +71

    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 5 лет назад +2

      Also it targets the CLR of .NET

  • @pragyandas
    @pragyandas 7 лет назад +22

    Clojure has made world a better place...Simply Genius...

  • @kshahkshah
    @kshahkshah 9 лет назад +31

    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.

  • @vamsideepakampolu8546
    @vamsideepakampolu8546 9 лет назад +12

    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.

  • @WilkerLucio
    @WilkerLucio 10 лет назад +25

    fantastic presentation, Clojure is such a piece of art :)

  • @klgraham
    @klgraham 9 лет назад +61

    This sold me on Clojure.

    • @abhisheksingh-li6zo
      @abhisheksingh-li6zo 8 лет назад +1

      +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 лет назад +8

      +abhishek singh :-) No... Just that Clojure is a language worth using.

  • @freerunkevin
    @freerunkevin 7 лет назад +6

    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 12 лет назад +5

    Thanx for putting this on RUclips Jason !

  • @hariharanviswanathan242
    @hariharanviswanathan242 5 лет назад +9

    Rich is a genius. Clojure (Lisp) + Haskell + Erlang (concurrency constructs) = ❤️

  • @panhao356
    @panhao356 9 лет назад +7

    Great speech. Expert to Expert is really insightful.

  • @jasonofthel33t
    @jasonofthel33t  12 лет назад +16

    You're welcome!

  • @abpdev
    @abpdev 5 месяцев назад

    This is an amazing talk!

  • @cusnaez
    @cusnaez 7 лет назад +1

    Best introduction to Clojure ever!

    • @RogerBarraud
      @RogerBarraud 7 лет назад

      Not really - See Rich Hickey's YT vids for even better intro / intermediate / advanced coverage! :-)

  • @ThomasGoossens
    @ThomasGoossens 11 лет назад +4

    Great conversation! Thanks!

  • @АйбатАманбайұлы
    @АйбатАманбайұлы 2 месяца назад

    Best intro to Clojure

  • @RogerBarraud
    @RogerBarraud 7 лет назад +1

    Great talk. Good mix of conceptual and concrete.

  • @kenzo0622
    @kenzo0622 9 лет назад +10

    This is a great talk. Thanks!

  • @laurelsporter
    @laurelsporter 3 года назад +1

    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 Год назад +1

      The algorithm pulls out some diamonds from the rough in a whole for sure. And that's why I continue to use RUclips.

  • @elgireth
    @elgireth 7 лет назад +3

    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?

  • @seyiakadri
    @seyiakadri 8 лет назад +9

    Great. Clojure is it.

  • @artist6000ish
    @artist6000ish 2 года назад

    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"

  • @DanielBeecham
    @DanielBeecham 11 лет назад +4

    This was great, thanks.

  • @Kenbomp
    @Kenbomp 3 года назад

    Nice. Swap reminds of the small talk becomes command.

  • @ycombine1053
    @ycombine1053 3 года назад +4

    When writing concurrent programs in your current language is so hard that you write your own Lisp lol.

    • @laurelsporter
      @laurelsporter 3 года назад

      After you've gotten used to Erlang or Elixir, it's not much of a stretch, and Erlang was definitely an inspiration for Clojure. That'll really change how you think about concurrency and parallelism, being used to more common languages. But, even with the niceties of Elixir, the BEAM (Erlang's runtime/VM) just doesn't lend itself to general purpose programming.

  • @andrw_
    @andrw_ 3 года назад +3

    The Bob Ross of programming meets the cowboy Tom Hanks

  • @eugenemosh3658
    @eugenemosh3658 2 года назад

    Thanks!

  • @hertzbergny
    @hertzbergny 8 лет назад +37

    love how nerdy as fuck this is

    • @creativefeather2968
      @creativefeather2968 7 лет назад +4

      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 :)

  • @mhameedmmd
    @mhameedmmd 6 лет назад +1

    my life is changed now !!!

  • @valentinzambelli9930
    @valentinzambelli9930 4 года назад +14

    Even if you are Rich Hickey you still have to whiteboard code in interviews...

    • @adrbaz
      @adrbaz 4 года назад +1

      😂

  • @RahulGaurh4x
    @RahulGaurh4x 2 года назад

    man oh man ...if I could be a centage of programmer mister rich is

  • @UberOcelot
    @UberOcelot 6 лет назад +2

    This was like an hour long mental message, does it get better than this?

  • @Evan490BC
    @Evan490BC 11 лет назад +7

    (greatp (watch 'Rich 'Brian)) ; => T

  • @Simon-xi8tb
    @Simon-xi8tb 6 лет назад

    Rich Brickey and Brian Hickman

  • @abhinavomprakash4884
    @abhinavomprakash4884 3 года назад +3

    When the creator of clojure says multi threading in java is complicated.....

  • @MinNyeAccount
    @MinNyeAccount 9 лет назад +4

    I understand nothing of what they are saying.. but i have seen the entire video.. ??

    • @ericlubisse8461
      @ericlubisse8461 8 лет назад +2

      +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 лет назад +8

      Relax it is normal, study more about computer science and come back in a couple of years

  • @willmcpherson2
    @willmcpherson2 4 года назад +1

    The persistent data structures are really cool but man I would not enjoy implementing that

  • @jungjunk1662
    @jungjunk1662 3 года назад +1

    Why is the guy wearing a 🎩 inside?

  • @alehatsman8550
    @alehatsman8550 6 лет назад +9

    Hello guys, I am from 2018 and the most popular language in the World is JavaScript.

    • @mrsozekaiser9299
      @mrsozekaiser9299 6 лет назад +1

      :))

    • @christgar64
      @christgar64 5 лет назад +4

      I am from 2020 and JS is still very popular but equally hated.

    • @n30v4
      @n30v4 3 года назад +1

      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 Год назад +2

      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 11 месяцев назад +1

      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.

  • @trwd3000
    @trwd3000 8 лет назад +15

    These guys should dress more like the rock stars they are.

    • @RogerBarraud
      @RogerBarraud 7 лет назад +2

      I think you'll find they *did* :-)

  • @MIIIG
    @MIIIG 2 года назад

    He use worm brackets )))

  • @SonOfBohl
    @SonOfBohl 11 лет назад +3

    MUH MONADS