Clojure: A live Demonstration of Simplicity That is Production Ready - Nir Rubinstein

Поділитися
Вставка
  • Опубліковано 8 лис 2024

КОМЕНТАРІ • 41

  • @Wix-Engineering
    @Wix-Engineering  4 роки тому

    For more engineering updates and insights:
    * Visit our blog: www.wix.engineering/blog
    * Follow us on: Twitter: twitter.com/WixEng
    * Visit us on GitHub: github.com/wix
    * Subscribe to our monthly newsletter: www.wix.engineering/subscribe
    * Follow our Medium publication: medium.com/wix-engineering
    * Listen to our podcast: www.wix.engineering/podcast
    * LinkedIn: www.linkedin.com/showcase/wix-engineering/

  • @NirRubinstein
    @NirRubinstein 6 років тому +65

    Hi all
    A few answers to the comments below:
    1. I'm using neovim
    2. The repl is leningen inside a drop down terminal of your choice (yakuake/guake/iterm2)
    3. Some plugins that I use: fireplace, rainbow-parens, paredit, ale
    4. The errors in vim are from the ale plugin in tandem with joker - a clojure linter
    Glad you enjoyed this!
    P.S - I'm not a Wix employee - Wix mainly write in Scala on the backend. I work at AppsFlyer and gave this talk at Wix at their request

    • @khalidkha5077
      @khalidkha5077 4 роки тому +1

      Amazing talk, I wish to see more talks like this. You have such an amazing interactive skill and its fun watching you. Thanks

    • @MattLaine
      @MattLaine 4 роки тому

      Hi Nir: Thanks for the talk and for the response to the Qs here. Is there any way to get @Wix Engineering Tech Talks to pin this comment so that it stays at the top of the page?

  • @Agent-ic1pe
    @Agent-ic1pe 4 роки тому +2

    This presenter is awesome, whenever I'm thinking of a question he immediately answers it, as if he knew what I was thinking! 12/11, would definitely recommend!

  • @voidmind
    @voidmind 4 роки тому +5

    I tried learning Scheme on my own when I had just learned programming and I was put off by it's odd syntax, but now that I am interested in functional programming again some 20 years later thanks to my exposure to ReactJS, I find Clojure's syntax very appealing (this video is the first time I see it). It looks way more approachable than Haskell (for a non lambda calculus nerd) and seems to have a more developed ecosystem of third party libraries than Elm. I'm going to have to take a deeper look.

  • @laalbujhakkar
    @laalbujhakkar 2 роки тому +2

    been tryna learn this language since 2012… not easy to do as side project

  • @CraigPerry
    @CraigPerry 5 років тому +3

    great talk, really enjoyed this

  • @JoshReighley
    @JoshReighley 6 років тому +3

    Very good! Thanks for putting this up..

  • @samuelcouto9986
    @samuelcouto9986 4 роки тому +2

    Great talk. I would like to know what neovim's plugins did he use?

  • @AlexEmelyanov86
    @AlexEmelyanov86 6 років тому +1

    Great! Very clean explanation of things

  • @indigo0086
    @indigo0086 6 років тому +1

    What gives you those blinking errors?

  • @Simon-xi8tb
    @Simon-xi8tb 6 років тому +2

    What vim/neovim plugins is he using ?

  • @elgoog-the-third
    @elgoog-the-third 6 років тому

    Did that change that http-kit is now a wrapper around netty? I remember it being a full http implementation.

    • @NirRubinstein
      @NirRubinstein 6 років тому +2

      Absolutely correct - I was thinking about aleph-http when giving the talk. http-kit has its own impl.

  • @DmitryFomin
    @DmitryFomin 6 років тому +3

    Great! I only not understand clearly why need :as in binding after GET

    • @AlexandreCisneiros
      @AlexandreCisneiros 6 років тому +5

      The `:as` is used to separate the requests parameters from the request itself. When you list the parameters, you get both named parameters (the ones specified on the route string) as well as query string parameters (ones that don't appear on the route string, used with a question mark). Example:
      (GET "/user/:name" [name company]
      (str "Hello " name ", from " company "!"))
      You can then call the URI `server.example/user/dmitry?company=acme` and that works. If you, besides the request parameters (named and query string), want the request itself, you use the `:as` keyword to say the parameters list is finished, and the next variable will hold the request.
      (GET "/user/:name" [name company :as req]
      (str "Hello " name ", from " company "!"))
      I now have a reference to the request itself (which I didn't use, but I could). :)

  • @filippocostalli2358
    @filippocostalli2358 4 роки тому +1

    awesome!

  • @yondam1
    @yondam1 6 років тому +3

    can someone tell what editor he is using?

    • @S4rl4t4n
      @S4rl4t4n 6 років тому +1

      He's using Vim.

    • @andrewnelson3714
      @andrewnelson3714 6 років тому

      vim in the yakuake drop down terminal

    • @jaredsmith5826
      @jaredsmith5826 6 років тому

      Its neovim. Specifically with a Qt graphical frontend. There are graphical frontends (e.g. gtk), or you can just run it in a shell. I typically use it that way, this vid is making me consider switching to a graphical frontend.

  • @AmanuelNega
    @AmanuelNega 6 років тому +3

    I need his .vim*

  • @rodelias9378
    @rodelias9378 4 роки тому +3

    That's great! I didn't know Borat uses Clojure...

  • @zemariagp
    @zemariagp 3 роки тому

    "we'll do it live"

  • @abrahamraji3699
    @abrahamraji3699 4 роки тому

    Has a Gnome sticker on but runs KDE?

    • @NOCTUMSEMPRA
      @NOCTUMSEMPRA 4 роки тому +1

      I find it a real crime, I mean... using Vim for speed and a bloaty window manager behind. Anyways...

    • @abrahamraji3699
      @abrahamraji3699 4 роки тому

      It's not a window manager. But it's convenient so can't really blame him for that.

    • @murraynatkie7490
      @murraynatkie7490 4 роки тому

      gnome has a cooler logo, that's all

    • @dariuselijah9277
      @dariuselijah9277 4 роки тому

      Who gives a sh*t what and how he uses his machine?

  • @Bobby-bz8bk
    @Bobby-bz8bk 5 років тому +3

    strange fellow but very good teaching style

  •  3 роки тому

    Clojure is bordering on esoteric language, right? All those parentheses.. 😂😂

  • @mmddyyyy-his
    @mmddyyyy-his 6 років тому +2

    he's doing coding without mouse or advanced editor, he's probably a god

  • @webgpu
    @webgpu 4 роки тому

    NOTHING TO DO WITH THE VIDEO'S TITLE. SKIP THIS VIDEO AND FIND ANOTHER ONE THAT ACTUALLY EXPLAINS CLOJURE.

  • @michaelkohlhaas4427
    @michaelkohlhaas4427 4 роки тому

    *Maybe production ready but certainly not simple! I can do the same in seconds. Why? Because it's always the same crap and I have a template for it!*

  • @voidmind
    @voidmind 4 роки тому

    You dis frameworks and then you discuss libraries. frameworks and libraries are the same thing.

    • @JhonnyMoreiraMyself
      @JhonnyMoreiraMyself 4 роки тому +1

      I do get why you'd assume this, but it's not correct. Framework === Multiple libraries serving you as a toolkit. Take Ruby on Rails as framework example and React as JavaScript UI Library.

    • @troglodylethol
      @troglodylethol 4 роки тому +4

      There is a huge difference between libraries and frameworks. With libraries you call it's code, with frameworks, it calls your code. Example: you can use a "bridge pattern" with a library, calling your own function that implements the needed functionality being provided by the library. This gives you the ability to swap out the library later without having go and revisit every implementation of that library throughout your application (running into this now with an ORM). However with a framework, there is no such protection, it IS your application, it IS your code. You can't just swap out a framework - you simply rewrite your app. This the same argument I'd use against React's claim to be merely a "view library". Try and head and swap it out for another "library", you'd end up rewriting your entire app.

  • @Naton
    @Naton 4 роки тому

    what is this junk programming language. so hard to read