NYC++ Meetup
NYC++ Meetup
  • 6
  • 15 324
Chains: Exploration of an alternative to Sender/Receiver | Sean Parent | NYC++
If you're in the NYC area, join the NYC++ Meetup group!
www.meetup.com/new-york-c-c-meetup-group/
Description
Starting from separating function execution context from a function result, this talk looks at the ensuing problem space and pursues an alternative path to sender/receivers, emphasizing simplicity and low latency in a dynamic environment.
Speaker Bio
Sean Parent is a senior principal scientist and software architect managing Adobe's Software Technology Lab. Sean first joined Adobe in 1993 working on Photoshop and is one of the creators of Photoshop Mobile, Lightroom Mobile, and Lightroom Web. In 2009 Sean spent a year at Google working on Chrome OS before returning to Adobe. From 1988 through 1993 Sean worked at Apple, where he was part of the system software team that developed the technologies allowing Apple’s successful transition to PowerPC.
Переглядів: 3 674

Відео

How to be Better at Debugging Linux C++ Code | Greg Law | NYC++
Переглядів 36911 місяців тому
At NYC in November 2023, Greg Law discusses the pros and cons of various C debugging tools available for Linux, and walks through a series of live demonstrations. Learn more about NYC : nycpp.dev/ Support NYC on Open Collective: opencollective.com/nycpp
Requirements for C++ Successor Languages | Bret Brown | NYC++
Переглядів 183Рік тому
Requirements for C Successor Languages At NYC in April 2023, Bret Brown discusses problems that new programming languages will need to overcome before they can be seen as viable "successor languages" to C . Learn more about NYC : nycpp.dev/ Support NYC on Open Collective: opencollective.com/nycpp
Let's Talk About C++ Abstraction Layers | Inbal Levi | NYC++
Переглядів 3,9 тис.Рік тому
Let's Talk About C Abstraction Layers At NYC in May 2023, Inbal Levi explores existing "abstraction layers" in C , and proposes suggestions for avoiding bugs that occur at the interfaces between layers. Learn more about NYC : nycpp.dev/ Support NYC on Open Collective: opencollective.com/nycpp
Circle Evolves C++ | Sean Baxter | NYC++
Переглядів 7 тис.Рік тому
Circle Evolves C : One simple trick to unshackle creativity in C language evolution At NYC in March 2023, Sean Baxter introduces the latest release of Circle, which he claims offers a path to safely eliminate C 's technical debt and modernize the language. Learn more about NYC : nycpp.dev/ Support NYC on Open Collective: opencollective.com/nycpp Try Circle on godbolt.org: godbolt.org/z/zK7j8WrM...
The semicolon is a lie | David Sankel | NYC++
Переглядів 462Рік тому
In the first gathering of the NYC meetup group, David Sankel from Adobe presents "The semicolon is a lie," on the history and possible future of compiler optimizations. MC: Nick DeMarco Introductions: Dan Katz

КОМЕНТАРІ

  • @27182818284590452354
    @27182818284590452354 Місяць тому

    This idea is as old as the language itself: every compiler has its language extensions. But they can't agree with each other even on something as trivial and useful as #pragma once. So it's no wonder that people are demoralized about extending C++ and start their own language ecosystems. That said, if GCC or Clang had proper extensibility mechanisms perhaps we'd see enough people who are mad enough to try but not mad enough to have their liver daily eaten by an eagle.

  • @enricomariadeangelis2130
    @enricomariadeangelis2130 2 місяці тому

    I'm only barenly 8 minutes in and I'm always impressed of how much practical your talks are, and yet so much about advanced C++! One of the best for sure!

  • @statebased
    @statebased 2 місяці тому

    Before I realized that the canceling cost of futures was too high, I had written a similar cancelable future implementation in C++ for a trading system. Solution after was to directly write hierarchical state machines.

    • @cjr6381
      @cjr6381 2 місяці тому

      hi @statebased, this hierarchical state machine sounds interesting, do u have some video/docs/blog on this ? i would like to check, thank you.

    • @statebased
      @statebased 2 місяці тому

      @@cjr6381 ~12:38 in ua-cam.com/video/dP4c7pAgaUA/v-deo.htmlsi=mI8RF-wl3gxZgnQ0 There are two insights: streams are a handy way to model states. You can include a notion of hierarchy (yet is a pain to implement).

    • @cjr6381
      @cjr6381 2 місяці тому

      @@statebased thanks, the socket buffers (as events), the kernel interrupts (as events), etc, as in-coming streams, then single thread to process this stream is the simple and elegrant way :-), i still cannot understand how this hierarchy work , sounds complex. thanks again.

    • @charactername263
      @charactername263 3 дні тому

      C++20 coroutines give easier tools for building complex control flow with state machines.

  • @SamWhitlock
    @SamWhitlock 2 місяці тому

    I wish C++ had a better tooling / packaging ecosystem that could alleviate the need to put even senders and receivers into the library. If we figure out that chains are better, we don't have to carry legacy baggage around.

    • @VACatholic
      @VACatholic 2 місяці тому

      The idea that this is going to be a core part of the language rather than a library is just ludicrous tbh.

  • @mjKlaim
    @mjKlaim 2 місяці тому

    What is the discord being mentionned several times here? A conference one? A private one?

  • @RishabhRD
    @RishabhRD 3 місяці тому

    Thanks… Was waiting for it from a long time

  • @pmcgee003
    @pmcgee003 3 місяці тому

    So .. Eric Neibler has a quietly grumpy, super smart, code uncle .. and that guy is Sean Parent. 🙂

  • @RedOrav
    @RedOrav 6 місяців тому

    Epic presentation, only shame is the audio quality. I'd jump on this compiler in a heartbeat

  • @IExSet
    @IExSet 9 місяців тому

    Simply trying to sculpt Rust on top of C++ :-)

  • @skyletoft
    @skyletoft Рік тому

    A bold new idea: Haskell language extensions that have been around for forever?

  • @fdwr
    @fdwr Рік тому

    - 10:31 I appreciate the incremental approach, rather than the "rewrite it in a completely different language and different common runtime and different toolchain" mindset 🤦‍♂. - 15:46 Yeah, `3 != mask & value` was an operator precedence mistake. - 21:02 Does there need to exist a new declaration syntax if instead one just fixes the mistake of permitting parentheses in initialization in the first place? That way if you see `a b(c)`, you know it's a function call, and if you see `a b = {c}` you know it's initialization. The most vexing parse would be moot, no? - 21:03 "fn" barf, an unpronounceable devoweled word fragment. At least be consistent with the rest of C++ keywords (struct, enum, static_cast, char...) which take whole fragments. So, `func` or `fun`. - 22:27 It's an interesting illustration that newer languages can be mostly a subset of Circle. - 27:02 More often than `[no_implicit_enum_to_underlying]`, I actually wish I had the *opposite* for `enum class` bitflags, that you *could* implicitly to cast to the underlying type. - 33:19 `match` is a matching keyword actually makes sense, not `inspect`.

    • @finnbryant
      @finnbryant Рік тому

      On your 21:03 complaint - I'm not the hugest fan either, but given C++ has std, I'm not sure there's any existing "consistent" rule.

  • @kgnet8831
    @kgnet8831 Рік тому

    👍 A Windows Circle Version would be optimal😺

  • @totheknee
    @totheknee Рік тому

    Edit: This is addressed at 55:26 -Some of these are great ideas (ignoring that we're still using C++ and not doing this on a simpler, objectively easier to write/maintain/debug/read/use language like C), but it will lead to fragmentation. Is that a bad thing? Neutral? Maybe it's just like it is now with companies enforcing their bike shed style policies like variable name styling, forcing namespaces, line length, etc. But it seems like a totally different `switch` semantic between companies could take getting used to? I guess companies could rename and brand their personal "version" of Circle. "Here at Twitter, er, X!, we use Dunning-Kruger Circle. Make sure you know we're not writing in C++ anymore, but DKC!"-

  • @totheknee
    @totheknee Рік тому

    38:18 - This is really encouraging, because it means I can do something similar in C, with 1/4 the effort!, by skipping the horrible OOP mistake of the 1980s that we still haven't outgrown for some reason...

  • @totheknee
    @totheknee Рік тому

    25:37 - Wait, isn't cppfront an evolver language? It allows for old C++, and lets anyone opt in to new features. What is the distinction here?

    • @kingduckVI
      @kingduckVI Рік тому

      Yeah I feel like this speaker doesn't quite get the goal of cppfront. "Doesn't have a compiler" what does that even mean?

    • @ShadowaOsu
      @ShadowaOsu Рік тому

      ​@@kingduckVII believe it's because a compiler's job is to turn your code into assembly or byte code which then will be executed, but cppfront code turns into C++ code and that C++ code will get compiled by a C++ compiler.

    • @ladnir
      @ladnir Рік тому

      I'm sure Sean gets the goal and understands it's all relative. Cppfront as of now first down compiles to normal cpp as opposed to a holistic compilation step. If you did cppfront as a holistic compile then I would agree they are the same. By the same logic, carbon is the same as circle. If you look at one one part you can say they are all the same. The differences are in the feature set they want to support. Circle is very "unopinionated" in that users can turn on the features they want. They vote with what they use. While carbon and cpp front seems to be more static.

    • @DM-fw5su
      @DM-fw5su Місяць тому

      ​@@kingduckVI Sean understands matters completely. Maybe watch the next 4hour of youtube hits to understand better how well thought out his entire view of how to take C++ forward

  • @vvnraman
    @vvnraman Рік тому

    Excellent talk which talks about the elephant in the room whenever people are taking about a language to replace C++. It would really benefit to use those principles whenever we're having a programming language discussion. I'm going to start using the terms "C++ successor" vs "C++ alternative" every time I get a chance going forward. Many new languages which came up in the last decade are at best only alternatives. Very few seem to qualify as successor.

  • @WilhelmDrake
    @WilhelmDrake Рік тому

    Constructive criticism: Audio is a bit low. Hard to hear. Pump up the volume in future recordings! Thank-you for providing access to such interesting topics!

  • @WilhelmDrake
    @WilhelmDrake Рік тому

    Thank-you!

  • @WilhelmDrake
    @WilhelmDrake Рік тому

    Brilliant & Exciting!