Scala: Beyond the basics with Christopher Batey

Поділитися
Вставка
  • Опубліковано 26 вер 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.

  • @cyphen21
    @cyphen21 3 роки тому +3

    Brilliant. This is exactly what I was missing.

  • @pharmajoe990
    @pharmajoe990 2 роки тому +1

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

  • @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

  • @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)?

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

    Nice talk! 👍

  • @hereb4theend
    @hereb4theend 5 років тому +2

    Excellent presentation

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

    Such a good talk - thanks.

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

    Amazing talk!!

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

    Brilliant, finally made higher kinded types click for me

  • @bilalf
    @bilalf 5 років тому +1

    Great talk

  • @sateforp
    @sateforp 6 років тому +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 6 років тому

    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 4 роки тому +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

  • @sateforp
    @sateforp 6 років тому +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