Andreas Rumpf: Nim ARC/ORC (NimConf 2020)

Поділитися
Вставка
  • Опубліковано 29 вер 2024

КОМЕНТАРІ • 13

  • @iLLt0m
    @iLLt0m 4 роки тому +27

    The most underrated programming language in existence.

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

    I passionately hate garbage collectors. Good though that gc::arc exists. And it has so good benchmarks.

  • @01MeuCanal
    @01MeuCanal Рік тому +2

    To promote Nim the community should develop and release a good open source soft or a game. Maybe a video editor or something most people use. When people know that software is made with Nim, it would help to boost Nim reputation.

  • @driziiD
    @driziiD 4 роки тому +6

    19:53 those are some great benchmarks

  • @Deeharok
    @Deeharok 3 роки тому +1

    At 3:24 - why doesn't other just point to the container itself, i.e. an indirect reference to the underlying buffer pointer? Then if you do an .add you don't have to worry about the underlying buffer being moved to another location in memory?

    • @andreasrumpf9012
      @andreasrumpf9012 3 роки тому +2

      Assuming I understand your question correctly: This implies another indirection and a mechanism to clean up "other" when it's not used anymore. C# uses this solution. So yes, it's possible but then you miss the "move optimizations".

  • @mooseyard
    @mooseyard 4 роки тому +8

    Great talk, thank you! It cleared up some confusion I’ve had about sink & lent.

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

    wow, Amazing! I didn't know about `cursor` pragma! 33:25

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

    Is it possible to pass a reference as a procedure argument? I like doing that but can't see it being done anywhere.

    • @uncannydeduction
      @uncannydeduction 4 роки тому

      Maybe I should just use "sink" and then return it? But that can only be done for one argument which is not cool.

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

      I am not sure what you mean. 'const T&' is simply 'T' in Nim, 'T&' is 'var T'.

    • @CraigBlack123
      @CraigBlack123 3 роки тому +1

      Nim is innovating in a way I haven't seen in any other language. This is incredible. One suggestion. Could you please add an annotation for whether the reference count for a particular class is atomic or not? I would imagine it needs to be atomic for some classes but others could avoid the overhead.