Scala: Beyond the basics with Christopher Batey

Поделиться
HTML-код
  • Опубликовано: 19 сен 2024
  • What can you do in Scala that you can’t do in Java? Why are streams and lambdas not enough for functional programming? What are the practical uses of more advanced language features?
    We’ll cover specific language features with their uses cases:
    Function composition as an alternative to layered architectures
    Functional approaches to implement dependency injection
    Writing reusable code with higher kinded types
    Avoiding mutability with expressions
    Abstracting with type classes
    As well as posing some higher level questions about language features:
    Why do we embrace runtime reflection frameworks but fear compile time implicit parameters?
    Ease of initial understanding vs long term productivity of a language
    Simple vs familiar language features and patterns
    The goal of this talk is for you to learn some specifics about language features not yet in Java as well as to get you excited about programing languages in general

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

  • @ilnurgarifullin1167
    @ilnurgarifullin1167 3 года назад +7

    Amazing talk, puts everything in order. Thank you!

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

    One of the best talk i have seen!

  • @stoaeterna6336
    @stoaeterna6336 2 года назад +1

    Fantastic talk! I am a junior in scala and this was illuminating, thank you.

  • @leftover7766
    @leftover7766 6 лет назад +13

    Excellent distillation, Christopher! Up there with Torreborre and Spiewak. Could you become the next Odersky or Milewski or Martin (presenter wise)?

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

    Brilliant. This is exactly what I was missing.

  • @yvanstu7040
    @yvanstu7040 4 года назад +4

    this guy is a genius

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

    Wow all of those forms of futures... Really glad JS has basically switched everything to native promises for all new things

  • @pharmajoe990
    @pharmajoe990 2 года назад +1

    Great explanation, best I’ve heard! Cheers 👍🏻

  • @alanartigao5078
    @alanartigao5078 6 лет назад +6

    Nice talk! 👍

  • @hereb4theend
    @hereb4theend 5 лет назад +2

    Excellent presentation

  • @pr0master
    @pr0master 5 лет назад +3

    Amazing talk!!

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

    Such a good talk - thanks.

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

    Brilliant, finally made higher kinded types click for me

  • @bilalf
    @bilalf 5 лет назад +1

    Great talk

  • @sateforp
    @sateforp 5 лет назад +2

    15:07 ha has been using c for Customer and p for Person then in the trait CustomerRepo he uses p for Customer :p that is why we should always name variables properly

  • @sateforp
    @sateforp 5 лет назад +1

    14.43 method ending with a c :) looks like a typo. would prob rename it to customer and type a return customer even though it is not needed make the code clear to understand?

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

      Yes, you do it for the first few days or weeks, until you're used to it.
      I preferred to write explicit EventListeners in Java, until it was so familiar, that I preferred the anonymous ad hoc style.

  • @sateforp
    @sateforp 5 лет назад

    registerCustomer also violates command / query separation ? and it is interesting how the method is called register customer then calls save customer inside :)

  • @DaveGouda
    @DaveGouda 5 лет назад

    This guy is Richard Hendricks in real life

  • @farooqmss
    @farooqmss 8 месяцев назад

    Countless times he avoided "spring framework "
    Annotation based framework, framework using reflections, rest controller and service , dependency injection, DI based framework
    😂😂😂

  • @csbnikhil
    @csbnikhil 3 года назад +2

    Guess I saw a Monad.

  • @DGDG0000000
    @DGDG0000000 5 лет назад +1

    I will be very happy when next fashion communication visual idea will be more efficient by just use 100% of screen to target the interest of subject (the code), instead of use less than 20% for targeted subject and 80% for decoration and kind of human chatterbox. This world actually is more like appearances more then reality and efficiency.

    • @eoj096
      @eoj096 3 года назад +2

      lol wut

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

    Beyond the basics.... Proceeds to talk 48 minutes about the most basic sh*it ever.

    • @mikeiavelli
      @mikeiavelli Год назад

      Yes, I am confused. If someone was coding in Scala, wouldn't he already be doing that? That seems pretty basic to me...

    • @pmcgee003
      @pmcgee003 Год назад

      Oh yes. Higher kinded types. We learnt all about them in kindergarten. It was just after we started learning category theory, but before the algebraic geometry.

  • @SHEKINAHVOICING
    @SHEKINAHVOICING 4 года назад +2

    Great presentation