Structure and Interpretation of Computer Programs: SICP - Conor Hoekstra - CppCon 2020

Sdílet
Vložit
  • čas přidán 5. 06. 2024
  • cppcon.org/
    github.com/CppCon/CppCon2020/...
    ---
    This talk will summarise what can be learned from the infamous MIT textbook the Structure and Interpretation of Computer Programs, the book that some engineers have referred to as their "bible." Concepts that are taught in the book will be shown in modern C++ (as opposed to Scheme or a LISP dialect that is used in the textbook). Some of the concepts include: functions, higher order functions, abstract data representations, concurrency & streams and metalinguistic abstraction.
    This is the first book that the The Programming Languages Virtual Meetup (PLVM) worked their way through. The PLVM had their first meeting in May 2020 and have been working their way through the book since then.
    Link to free copy of SICP: web.mit.edu/alexmv/6.037/sicp...)
    Link to PLVM: www.meetup.com/Programming-La...
    ---
    Conor is a Senior Library Software Engineer at NVIDIA working on the RAPIDS team. He is extremely passionate about programming languages, algorithms and beautiful code. He is the founder and organizer of the Programming Languages Virtual Meetup and he has a CZcams channel.
    ---
    Streamed & Edited by Digital Medium Ltd - events.digital-medium.co.uk
    events@digital-medium.co.uk
    *-----*
    Register Now For CppCon 2022: cppcon.org/registration/
    *-----*
  • Věda a technologie

Komentáře • 23

  • @kjell-olovhogdahl6557
    @kjell-olovhogdahl6557 Před 3 lety +5

    Great talk! Great Book!

  • @Sudakatux
    @Sudakatux Před 3 lety +1

    Awsome talk

  • @pmcgee003
    @pmcgee003 Před 3 lety +6

    Why Structure and Interpretation of Computer Programs matters
    Brian Harvey
    - University of California, Berkeley - people.eecs.berkeley.edu/~bh/sicp.html

  • @tourdesource
    @tourdesource Před rokem +1

    If I return an rvalue via a recursive call does it get RVO'd? Does that mean we have tail call optimization in C++?

  • @Yupppi
    @Yupppi Před 6 měsíci

    "I know awful is a bit negative" I'd say it's terribly negative, but honest. Or the word is negative, the message isn't. The message itself is honest, but almost reassuring.

  • @davidefichera5100
    @davidefichera5100 Před 3 lety +3

    My favorite book. I'm looking forward for this talk to be disclosed in 36 hours...

    • @davidefichera5100
      @davidefichera5100 Před 3 lety

      Am i the only one disturbed by the fact that you don't remove repeated Ramanujan's numbers? It was just a matter of filtering adjacent not equals. This is necessary because numbers such as 87,539,319 are sums of cubes in more than two ways.

    • @davidefichera5100
      @davidefichera5100 Před 3 lety

      Not the more relevant comment but one more thing disturbing me is reading 3.1414926535... I didn't implement Leibniz myself but I bet you mis copy-pasted

  • @123xqp
    @123xqp Před 2 lety +2

    If you liked the Clojure ad check out "Land of Lisp" at czcams.com/video/HM1Zb3xmvMc/video.html

  • @SimonBuchanNz
    @SimonBuchanNz Před 2 lety +8

    The thing I noticed when I came back to SICP later was just how trivial, obvious and boring it all was. This is not a strike against it, but for just how successful all the ideas in it became over the last decade or two!

    • @MP-mx9nf
      @MP-mx9nf Před 2 lety +6

      lol whut? did you do the exercises?

  • @Marius-ir1qn
    @Marius-ir1qn Před 3 lety +3

    accumulate faster than raw loops ? you must be joking

    • @TheMrKeksLp
      @TheMrKeksLp Před 3 lety +6

      Rust's Iterators are as well. It's kinda crazy how high level code is faster than low level

    • @Marius-ir1qn
      @Marius-ir1qn Před 2 lety

      Nonsense. The very only thing which might show higher performance to higher level code is the compiler optimizations which at the time might not yet apply to certain lower level code.

    • @Bryan-bh7cy
      @Bryan-bh7cy Před 2 lety

      @@Marius-ir1qn noob

    • @ezg5221
      @ezg5221 Před rokem +3

      Iterators are probably easier for a compiler to reason about and unroll because they don't introduce anything auxiliary to the operation and the data to be operated on. No mutating variables, and no secret corner cases that prevent their elision. If the compiler could know that the operation was associative then you could even get parallelism for free

    • @origamitraveler7425
      @origamitraveler7425 Před rokem +3

      people underestimate the inherent optimization achievable from declarative code lol

  • @hexa3389
    @hexa3389 Před 3 lety +11

    Doing SICP in C++...
    This is absolutely haram. How did you think this was a good idea?