Boundaries

แชร์
ฝัง
  • เผยแพร่เมื่อ 6 ก.ย. 2024
  • Gary Bernhardt
    An exploration of the boundaries between pieces of code, including: isolated testing, behavior vs. data, mutation vs. immutability, how data shape affords parallelism, transforming interface dependencies into data dependencies, and wha

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

  • @agayakwad
    @agayakwad 8 ปีที่แล้ว +2

    amazing talk, the key take away was thinking in terms of isolation and boundaries !

  • @Yamagatabr
    @Yamagatabr 8 ปีที่แล้ว +1

    Why the slide have "Path+" at 17:23 ?
    He talks about that Functional core of the program having all the Conditionals, and them being Paths to the System.
    What exactly he means? Because when searching I just find about system paths and those would be External dependencies and actually should not be in the Functional Core (to keep transparency) right?

    • @ChrisLasher
      @ChrisLasher 8 ปีที่แล้ว +4

      "Paths" refers to "logical paths". These are points in the code where business logic takes place, like deciding if a user account has expired or has not expired. There is one logic path if the user account has expired (add the account to the list of expired accounts), and a separate logic path if it has not (in this case ignore the account).

    • @Yamagatabr
      @Yamagatabr 8 ปีที่แล้ว

      Thank you Chris! It is very clear now ! :)
      Also, he is a Ruby programmer, and most of his applications in D.A.S are towards web applications management. Do you think that "Functional Core + Imperative Shell" applies to all areas of computer programming, or is a better practice just when applied to this scenarios?

    • @ChrisLasher
      @ChrisLasher 8 ปีที่แล้ว +3

      Web apps provide a common ground for many programmers and this is why web app development makes a good domain to illustrate the concepts. The point is to teach the concepts without the audience getting lost learning domain knowledge.
      If the examples were shown for bioinformatics software or financial software, a large portion of the audience might be unfamiliar with the domain, and now the instructor has to explain things unrelated to software development. These principles apply to any domain, though, (including bioinformatics and finance). If something looks exceptional to these guidelines, try reframing the problem. Approaching it from a different perspective can reveal how it actually fits in with these concepts.

  • @dhellraisa
    @dhellraisa 10 หลายเดือนก่อน +1

    2023. This video still does not have near enough views.👏

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

    As the guy comes from Ruby world, he forgot to add `return` to many of the functions/methods ;)

  • @AndersonSilva-dg4mg
    @AndersonSilva-dg4mg 4 ปีที่แล้ว

    interesting