Skip to content
0:00 / 0:00

#stl#algorithms#lambdas

C++Now 2019: Conor Hoekstra “Algorithm Intuition”

CppNow

39K subscribers • 42 videos on Hallway • Conference channel

YouTube
  • One of the most-watched uploads on C++Now, a conference or university channel Hallway lists. Nobody has recommended it in the communities yet, so it ranks below community picks.
  • Presented by Conor Hoekstra, Amazon Software Development Engineer

Intermediate. Assumes working knowledge.

23K views7 years ago

Programming languagesComputer scienceC++AlgorithmsData structures

Conor Hoekstra introduces standard template library algorithms in C++ and explains how to develop intuition for using them effectively.

cppnow.org — Presentation Slides, PDFs, Source Code and other presenter materials are available at: cppnow.org/history/2019/talks/ — Data structure intuition is something that develops naturally for most software developers. In all languages, we rely heavily on standard containers and collections. Need fast insertion/lookup? Hashmap. Need a sorted data structure that stores unique values? Set. Duplicate values? Multiset. And so on. However, most software developers don't develop algorithm intuition quite as easily. Algorithms aren't taught as widely as data structures are, and aren't relied on as heavily. This talk aims to introduce some STL algorithms, show how they are commonly used, and show how by developing intuition about them (+ a little help from lambdas), you can unlock their true potential. — Conor Hoekstra Amazon Software Development Engineer San Francisco Bay Area After graduating in 2014, Conor worked in Toronto, Canada for 4 years at an insurance software company where he slowly transitioned from actuary to software developer. In 2018, he moved down to Silicon Valley to work for Amazon. He has 5 years of C++ experience and is passionate about algorithms, modern C++ and is in the midst of falling in love with Haskell and functional programming. He also has a YouTube Channel where he covers solutions to competitive coding problems and more: youtube.com/codereport — Videos Filmed & Edited by Bash Films: BashFilms.com --- *--* ---

Why it's here

A top upload from a listed channel

C++Now is on Hallway's list of conference and university channels, and this upload is one of its most-watched talks or lectures. Nobody has recommended it in the communities yet, so it ranks below community picks.

Moments people linked to

u/arkethosin r/functionalprogramming • Mentions

On “The B₁ and ϕ₁ Combinators”

Good point! I was using my "C++ brain" and not my "Haskell brain" when writing this up. I have updated the blog. I actually made the exact same comment (why not call `transform_reduce` instead `zip_reduce` in a talk I gave in 2019) but in C++, `transform_reduce` can take both 1 or 2 ranges. But in my Haskell code it can only take two.
6View on Reddit

u/another_math_personin r/haskell • Mentions

On “Examples of Incorrect Abstractions in Other Languages”

Coming from a place of love, c++ also has old features that have been superceded by newer functions They've finally added transform_reduce (no stream fusion / functions don't compose quite like you want, so this must be a single function 1) And that's good! I mean it's an exciting feature for c++ But you can look at inner_product and see that it's just a more specialized version that has existed for a while Conor Hoekstra talks about this in fairly simple terms in this video: link to this video 1 let's pretend this is solved by ranges? I'm not going to get into it