dotGo 2017 - John Cinnamond - Go Lift

แชร์
ฝัง
  • เผยแพร่เมื่อ 1 ก.พ. 2025

ความคิดเห็น • 32

  • @SakibHasan1
    @SakibHasan1 7 ปีที่แล้ว +11

    One of the best talk i have ever heard. Awesome presentation skills! Very enjoyable!

    • @alvarochaim1643
      @alvarochaim1643 3 ปีที่แล้ว

      I realize it's kinda randomly asking but does anyone know a good website to watch newly released tv shows online ?

    • @chancekaiser5368
      @chancekaiser5368 3 ปีที่แล้ว

      @Alvaro Chaim i dunno I watch on Flixportal. just search on google after it:) -chance

    • @alvarochaim1643
      @alvarochaim1643 3 ปีที่แล้ว

      @Chance Kaiser thank you, I signed up and it seems like a nice service :) Appreciate it !!

    • @chancekaiser5368
      @chancekaiser5368 3 ปีที่แล้ว

      @Alvaro Chaim you are welcome :D

  • @ivanjijon8647
    @ivanjijon8647 ปีที่แล้ว

    This was just wonderful.

  • @codeplexx
    @codeplexx 6 ปีที่แล้ว +10

    So, basically, it moved error handling from being explicit to being implicit. If now an error occurs, it skips over the remaining code, and allows errors to be handled in a specific section at the end of the function... sounds familiar.

    • @wofebr
      @wofebr 5 ปีที่แล้ว

      You really got me here... Where does this happen too? Not ironic tho, really a question

    • @mtae5
      @mtae5 4 ปีที่แล้ว +3

      @@wofebr try...catch blocks. Java.

  • @koredeaderele1666
    @koredeaderele1666 6 ปีที่แล้ว +1

    rewatching this talk after studying haskell/monads and it's so much more enlightening

  • @koredeaderele1666
    @koredeaderele1666 7 ปีที่แล้ว +1

    This was an incredibly insightful talk

  • @MakisMaropoulos
    @MakisMaropoulos 7 ปีที่แล้ว +1

    Unique talk John you made me laugh, which is very rare !

  • @AzazeoAinamart
    @AzazeoAinamart 7 ปีที่แล้ว +2

    Absolutely the best! Maybe the best (tech) talk I've ever saw!

  • @koredeaderele1666
    @koredeaderele1666 7 ปีที่แล้ว +2

    Just wrote some really beautiful code based off the info in this talk. Long live John Cinnamond. Long live Golang.

  • @PhilippeSantanaCosta
    @PhilippeSantanaCosta 6 ปีที่แล้ว +2

    Nice! Just took a funcional approach to handling erros, with a kind of Maybe monad.

  • @fahadus
    @fahadus 7 ปีที่แล้ว +13

    That rick roll, though!

  • @rraviravir
    @rraviravir 6 ปีที่แล้ว

    Neat Talk - but i didn't get the conclusion - i get that "Math helps us solve complex problems". But how ?? Is it indication that i should model the flow of data or control like a math transformation ??? can someone help me understand it ??

    • @JohnCinnamond
      @JohnCinnamond 6 ปีที่แล้ว +3

      The ideas in the talk come from a branch of mathematics called Category Theory. Specifically, I'm looking at the idea of building functors in Go. There are limitations to doing this in a language like Go, but nonetheless I think that there is a lot you can learn from understanding Category Theory, even if you have to implement them differently than you would do in, say, Haskell. There is an excellent, comprehensive (but challenging) course on Category Theory from Bartosz Milewski: th-cam.com/video/I8LbkfSSR58/w-d-xo.html

    • @JohnCinnamond
      @JohnCinnamond 6 ปีที่แล้ว +2

      ... there are other branches of mathematics that can be useful to help you understand how your code works. General Algebra (or Universal Algebra) gives some basic building blocks that are directly applicable to code. The best example of this is monoids (e.g., see this blog post: blog.axosoft.com/monoids-practical-category-theory/). If you want to go further, Constructive Type Theory and Homotopy Type Theory will show you how to reason about increasingly complex structures. It's debatable how much these will help *understand* anything, but maybe I just need to spend more time on them :-)

  • @JeffreyGoldberg
    @JeffreyGoldberg 7 ปีที่แล้ว

    Is there anything more than a rough analogy between "type lifting" in the sense of this talk and "type lifting" as used in natural language semantics? I don't think the terminology is a coincidence, particularly when combined with the exhortation to think like a mathematician,.

    • @JohnCinnamond
      @JohnCinnamond 7 ปีที่แล้ว

      I’m not familiar with ‘type lifting’ in natural language semantics. I’m not familiar with much in natural language semantics. The terminology I used comes from Category Theory. Do you have any good starting points for type lifting in natural language semantics?

  • @santosharakere
    @santosharakere 6 ปีที่แล้ว

    excellent talk. Thanks.

  • @Resumeshortly
    @Resumeshortly 7 ปีที่แล้ว +1

    Watching the talk, this seems a lot like trying to add Option types to Go

  • @PaleoWithFries
    @PaleoWithFries 4 ปีที่แล้ว +2

    Interesting talk now that Go has generics. 😄

    • @OverG88
      @OverG88 3 ปีที่แล้ว +2

      Not yet...

  • @nexovec
    @nexovec ปีที่แล้ว

    Aaand that's a monad...

  • @rckd5903
    @rckd5903 4 ปีที่แล้ว

    Nice talk 👍 The know-how he dropped is gold. Pro tip: learn haskell to get this knowledge for free 🤤

    • @a0um
      @a0um 2 ปีที่แล้ว

      Knowledge is never free but, yes, Haskell is with learning.

  • @RayZde
    @RayZde ปีที่แล้ว

    Too bad they didn't add try catch. There are still unknown errors that can occur in go. fmt.Sprintf("%v", arg) can return a nil value and a nil value can be assigned to a string. You cannot check if string == nil.

  • @OwaisLone
    @OwaisLone 10 หลายเดือนก่อน

    Ewww. This would be soo annoying to come across in a big project.