A Classfile API for the JDK

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 พ.ย. 2024

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

  • @ITV-ITV-
    @ITV-ITV- ปีที่แล้ว +17

    I would love to work with someone who can explain complex low-level problems so accessibly and move from the big picture to the details and back with ease as Mr. Brian Goetz does! It would've make my developer career so much easier and enjoyable.

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

    14:00 Best explanation of how Inversion of Control really works

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

    At19:08, eliminating magic numbers for slots makes the code so much clearer. At 21:40 is the wisdom take-away. I'm excited for this.

  • @tintifax8531
    @tintifax8531 ปีที่แล้ว +5

    There seems to be a pattern here. Brian's talks tend to have dull and somewhat uninteresting titles, but then turn out to be chock full of extremely well explained software engineering wisdom.

  • @kaqqao
    @kaqqao ปีที่แล้ว +17

    Gawd, I can't help but think how I wish to just for once work on something where I can iterate many times to get it right, instead of the usual "ship the proof of concept" approach.

    • @askarkalykov
      @askarkalykov ปีที่แล้ว +5

      And after shopping poc, just fix all the bugs before the next release, and keep in mind that we are going to connect new partners already the next month.

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

      We must be working for the same company. Actually, pretty much all the companies I've worked for.

  • @maruseron
    @maruseron ปีที่แล้ว +5

    i'm a simple man. i see brian goetz, i click

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

    "They took away your IDE like 7 years ago" and what comes afterwards: Even a proper. good sense of human. Great session, thank you!

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

    Great improvements

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

    Great presentation! Can't help to think how interesting would be to see this API usage in Kotlin.

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

    Really looking forward to testing that!
    Will the code generation also be a part of the project? I see the mention of "write" there in JEP summary =)

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

    I like how the Java ecosystem is clearing up the technical debt. JVM languages have come and gone, Java has borrowed some of their best parts and made itself better. JDK 21 onwards, Java's future looks bright. Next I would like to see is a culture of less verbosity in code. This is as much a function of coding culture in Java community as much it is about language support.

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

      Verbosity is fine. It's layered the way it is for a reason so you could swap out the layers.

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

      Java's future does look bright!
      There is such a thing as good verbosity... I would describe it as 'terse verbosity" that minimizes the possibility of ambiguity in the reader's interpretation.
      timeout = 50 // could be interpreted as seconds, milliseconds, or minutes by both the reader and the CPU, depending on how it's used
      timeoutMs = 50 // interpreted as 50ms by the reader, could be interpreted differently by the CPU depending on how it's used
      timeout = Duration.of(50, MILLISECONDS) // means the same thing to the reader as it does the CPU
      Like the talk says... "find the primitive" and build outward from that... this reduces "noisy" verbosity and cultivates "terse" verbosity
      Edit: a lot of "noisy" verbosity is often associated with unwieldy designs - let's call them either "jellyfish" or "sea urchin" designs depending on if they are too amorphous or too rigid.
      Developers working on large teams often use verbose names to either prop up jellyfish designs... or to fit in with the hierarchical rigidity of a sea urchin design.
      Verbosity that brings clarity is good... verbosity that doesn't communicate intent or that confuses the reader is probably symptomatic of something deeper

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

      Verbosity should not be reduced. Just use ide

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

    It would be strange if you did not have a strict model in the API for something that obviously had a strict model.

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

    The lambda builder stuff seems like a solution in search of a problem. All you're doing there is filling in a buffer and passing it to the "assembler". The builder doesn't really seem at add anything. Sure you can then run the lambda twice, but if you'd just stuck with a buffer you wouldn't have to run all that code twice.

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

    cool api. since they designed everything from scratch I find it a bit odd that they have slots as int instead of properly exposing a record type (e.g., SlotId) so you can't accidentally pass an int from elsewhere. It's not like you'd need to do arithmetic on slot ids (if you use the api to create them)

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

      I would guess the tradeoff is avoiding allocations of trivial types at the expense of some safety. Valhalla may have made it redundant but delaying the API for when Valhalla eventually lands would not have been acceptable. To me it seems they still went with the best choice they had.

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

    looks like llvm … … 👍👍👍