Tag: valuesemantics

Val: A Safe Language to Interoperate with C++ – Dimitri Racordon – CppCon 2022

  • Lobby
  • Tag Archives: valuesemantics

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

Val: a safe language to interoperate with C++ - Dimitri Racordon - CppCon 2022
https://github.com/CppCon/CppCon2022

Val is a cppcon.digital-medium.co.uk/tag/programming/">programming language based on two of the best ideas behind C++: generic cppcon.digital-medium.co.uk/tag/programming/">programming and first-class value semantics. Unlike C++, however, Val is a safe-by-default cppcon.digital-medium.co.uk/tag/programming/">programming language, meaning that many guarantees that are enforced by convention in C++ are proven by induction in Val.

Val follows strict mutable value semantics, which allows in-place mutation, including across function boundaries, but forbids pointers and references. Instead, objects are independent entities that can never be accessed mutably via different names. Val also checks generic definitions at declaration to ensure that algorithms never rely on unspecified properties of their inputs.

Nonetheless, if we look carefully, we realize that Val and C++ are actually very close. Both are zero-cost abstraction languages that fully acknowledge the physical constraints of computer architecture, yet manage to build efficient generic abstractions. Perhaps they could become friends so that, one day, developers can write fast-by-definition and safe-by-default Val code that seamlessly calls into C++, and vice-versa. Perhaps their relationship could even grow stronger, who knows?

This talk will refer to some of contents presented by Dave Abrahams in his talk titled: "Values: regularity, independence, projection, and the future of cppcon.digital-medium.co.uk/tag/programming/">programming". https://youtu.be/QthAU-t3PQ4
---

Dimitri Racordon

Dimitri is a researcher at Northeastern University, in the US.
He might a bit of an outsider at CppCon. He's never been a real software developer. He doesn't have clients or a product owner to satisfy so he can get away only writing proof of concepts. He has a Ph.D. in computer science, but only because he bribed his jury members with Swiss chocolate. He used to work on model checking for concurrent programs before getting into cppcon.digital-medium.co.uk/tag/programming/">programming language design. Now he writes formal proofs for a living and has yet to prove someone else reads them. He also likes coding very, very much.

Because he knows he's not so good at writing correct programs, though, Dimitri thought he'd better write cleverer compilers. The bar wasn't so high but the quest led him to interesting research questions. Eventually, he developed a true passion for type-based approaches to memory safety. Further, because he constantly falls into the traps of premature optimization, Dimitri believes that languages should offer transparent abstractions with predictable costs that free the user from thinking about performance all the time.

Dimitri likes generic cppcon.digital-medium.co.uk/tag/programming/">programming, because it looks like math. He also likes low-level cppcon.digital-medium.co.uk/tag/programming/">programming languages. Since he's not good enough to write C++ and thinks he's too cool for Rust, he decided to focus his research on yet another cppcon.digital-medium.co.uk/tag/programming/">programming language. He says he's "discovering" a core calculus to build a "safe by default" and "fast by definition" language that interoperate with C++.
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , ,

Value Semantics: Safety, Independence, Projection, & Future of Programming – Dave Abrahams – CppCon 22

  • Lobby
  • Tag Archives: valuesemantics

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

C++ Value Semantics: Safety, Independence, Projection, and the Future of Programming - Dave Abrahams - CppCon 2022
https://github.com/CppCon/CppCon2022

Support for first-class user-defined value types may be among C++'s greatest strengths—one that most recent language designs have sadly failed to emulate. That said, although value types are everywhere in C++, we don't have a commonly accepted definition of “value semantics”, and we tend to use the phrase with only an intuitive idea of what it means. This talk offers a deeper understanding of value semantics, defining it in a way that in turn reveals surprising truths about cppcon.digital-medium.co.uk/tag/programming/">programming in general. We'll expose the value semantics that underlies our mental model even when we're “forced” to use pointers or references, and discuss how a future C++ might close that expressivity gap, improving safety, performance, and programmer confidence. We'll conclude with some guidelines you can use today to improve your programs, and propose the next must-see session for value semantics lovers.

This presentation lays groundwork for another talk, “Val wants to be your friend.” If you're interested in that talk, you'll want to see this one first.
---

Dave Abrahams

Dave Abrahams is a founding contributor of the Boost C++ Libraries project and the founder of the first annual C++ conference, BoostCon/C++Now. He is a contributor to the C++ standard, and was a principal designer of the Swift cppcon.digital-medium.co.uk/tag/programming/">programming language. He recently spent seven years at Apple, culminating in the creation of the declarative SwiftUI framework, worked at Google on the Swift for TensorFlow project and, briefly, on the Carbon language, and is now a principal scientist at Adobe's Software Technology Lab.
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , ,

Back to Basics: Master C++ Value Categories With Standard Tools – Inbal Levi – CppCon 2022

  • Lobby
  • Tag Archives: valuesemantics

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

Back to Basics: Master C++ Value Categories With Standard Tools - Inbal Levi - CppCon 2022
https://github.com/CppCon/CppCon2022

Value categories are deeply ingrained in the C++ language.
Though as a beginner they might seem almost insignificant, the importance of having a proficient understanding of them increases as one gets deeper into library writing or generic code, but also when writing an application level code.
In the talk we will go over changes made to value categories during C++ versions, and explore the standard tools used to achieve the desired behavior in your code
---

Inbal Levi

Inbal Levi is a Senior Software Engineer with a passion for software design, software development lifecycle, and high performance.
She is a director of the ISO C++ foundation and an active member of the C++ Standards Committee as co-chair of Library Evolution, the chair of SG9 (Ranges group), and the chair of the ISO C++ Israeli NB. Inbal is also an organizer of the CoreCpp conference and user group.
---

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , , ,

Back to Basics: C++ Value Semantics – Klaus Iglberger – CppCon 2022

  • Lobby
  • Tag Archives: valuesemantics

https://cppcon.digital-medium.co.uk/tag/cppcon/">cppcon.org/
---

Back to Basics: C++ Value Semantics - Klaus Iglberger - CppCon 2022
https://github.com/CppCon/CppCon2022

Modern C++ is more than new standards or an assortment of new features. Modern C++ is about a philosophy on how to use the language. An integral part of this philosophy is value semantics: preferring values and value-like types instead of pointers and references.

This talk explains the rational of this philosophy. It demonstrates the benefits of several value types from the standard library, such as std::optional, std::function and std::variant, and the drawbacks of several reference types, such as std::string_view and std::span. It also goes into detail about the most common questions about value semantics, as for instance how to properly use reference types and whether we should stop using reference parameters.
---

Klaus Iglberger

Klaus Iglberger is a freelance C++ trainer and consultant. He has finished his PhD in Computer Science in 2010 and since then is focused on large-scale C++ software design. He shares his expertise in popular advanced C++ courses around the world (mainly in Germany, but also in the rest of the EU and the US). Additionally, he is the initiator and lead designer of the Blaze C++ math library (https://bitbucket.org/blaze-lib/blaze/), one of the organizers of the Munich C++ user group (https://www.meetup.com/MUCplusplus/), and the organizer of the Back-to-Basics track at CppCon.
__

Videos Filmed & Edited by Bash Films: http://www.BashFilms.com
YouTube Channel Managed by Digital Medium Ltd https://events.digital-medium.co.uk

#cppcon.digital-medium.co.uk/tag/cppcon/">cppcon #cppcon.digital-medium.co.uk/tag/programming/">programming #cpp

Filed under: UncategorizedTagged with: , , , , , ,