Nobody Can Program Correctly - Lessons From 20 Years of Debugging C++ Code - Sebastian Theophil

Поделиться
HTML-код
  • Опубликовано: 29 окт 2024

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

  • @vaddimka
    @vaddimka Год назад +2

    This is a nice video to sleep to, feels very 90s

  • @babgab
    @babgab Год назад +9

    My impression is that there aren't a ton of debugging talks because a huge swathe of the industry doesn't actually "debug," especially in the sense of using a symbolic debugger. I sometimes worry that this skill will be lost over the years.

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

      I can't even imagine coding without a debugger. How else could you follow the flow of your program?

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

      @@joesilver75 In the best case, you can deduct (mis)flow from a reasonable test coverage; in the worst case, the code is not even littered with debug log messages, but rather naked printf/OutputDebugString calls that may or may not be included in release builds.

  • @player-eric
    @player-eric Год назад +3

    Could you please provide accurate subtitles for this video?

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

    At 49:24 you have:
    ```
    if (auto const ohFile = ERRNORETRYIGNORE(
    open(file, ...)
    tc::err::returned_nonnegative_value(), // success
    tc::err::returned(invalid_filehandle, EINTR), // retry
    tc::err::returned(invalid_filehandle, {EPERM, ENOENT, EACCES}) // allowed errors
    ))
    {}
    ```
    Am I correct that `ERRNORETRYIGNORE` is a function of 4 parameters, the first is returning a file handle, the 2nd returns a lambda/functor that tests for a non-negative value, and the others returning lambda/functors that test `errno` for the errors specified?
    Just want to confirm my understanding as there's no comma at the end of the `open()` call.

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

    There's always the: "Uhh?... thats funny..."

  • @thomasw813
    @thomasw813 Год назад +1

    40:19 That assumption is wrong. I have been debugging a lot of code which I haven't written. I was doing it as a service. Other programmers do that by coincidence because they take over a job of someone else. What's the consequence for the rest of the video? Do we need to educate the programmers who had the wrong mental model? How?

  • @hiftu
    @hiftu Год назад +1

    Is that possible to fix the audio of this video? (the "s"-es hurt my ears.)

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

    (end-begin)/sizeof(element_t) doesn't make sense for std::vector in the first place. v.end()-v.begin() would already be the number of elements == v.size().
    You fixed the element_t to be the same between processes, but the std::vector itself is not portable between processes.

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

    Very informative talk.

  • @betafractal9395
    @betafractal9395 Год назад +1

    That title is hilarious 😆

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

    That's some bad mic here!

  • @knownaskevr
    @knownaskevr Год назад +2

    Why is this already part of the playlist? On RUclips, people typically go to playlists to see content in some order. Making this part of the playlist, particularly at the beginning, is a total buzzkill and discourages me from looking into CppCon content.

    • @batorygimnazjum2683
      @batorygimnazjum2683 Год назад +1

      What kind of order do you mean?

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

      ??? did you look at the video or just the title

    • @colin398
      @colin398 Год назад +1

      Cope

    • @ChrisCox-wv7oo
      @ChrisCox-wv7oo Год назад +4

      Your complaint is that it's on the playlist? What is the harm?

    • @johnwilkesbooth6378
      @johnwilkesbooth6378 Год назад +2

      What are you talking about??