C ++ Russia 2019 Piter程序概述:异步,模块,库...和出租车


这些人除了在C ++领域众所周知外,还有什么共同点?


  • 肖恩·父母
  • 埃里克·尼布勒
  • 马歇尔洛
  • 布莱斯·阿德尔斯坦·莱尔巴赫
  • 安东·波卢欣(Anton Polukhin)
  • 安德烈·达维多夫(Andrey Davydov)

答:所有这些都将来到C ++俄罗斯。 现在夏天结束了,每个人都从假期回来了,是时候等待下一次大型C ++会议了: C ++ Russia 2019 Piter 。 不仅来自此列表中的人员,而且还将由许多其他国际发言人来解决。 30份报告,从上午10点到下午7点,整整2天,没有介绍性的故事和有关音节的阅读文档-立即成为硬核。


事实证明,这是我们会议中组织最迅速,最高效的会议之一;该程序的一半在夏天就已广为人知:演讲者清楚地知道他们想在C ++俄罗斯中说些什么。 现在程序几乎稳定了,是时候揭开保密的面纱了。


我们将所有报告分为“计划类别”,然后在其中填充有趣的主题。 它们是:


  • 新标准的能力
  • 实用C ++
  • 基础设施
  • 多线程
  • 元编程
  • 功能编程

按报告数量的降序显示类别:从九份有关新标准功能的报告开始,以当前有关功能主义的唯一报告-Ivan Chukich的“编译时类型标记”结束。 该程序中仍有一些白点将在接下来的几周内逐渐消失。 让我们看看结果如何。


头条新闻


所有演讲者都是社区中的知名人物;关于他们的写作可能源源不断。 让我们至少详细讨论一下我们在kat之前列出的那些人。


Sean Parent是Adobe移动部门的领先研究人员和架构师之一。 他在举世闻名的公司中发展出色。 在1988年至1993年期间,他帮助Apple为PowerPC编写了著名的OS,自1993年以来,他开始开发Photoshop,2009年在Google工作,开发ChromeOS,然后返回Adobe。 拥有如此丰富历史的人能告诉我们什么? 现在,您可以在YouTube上找到很多有他参与的视频,例如-系列报告Better Code ,这是不言而喻的。 这不是我们第一次来C ++俄罗斯:在会议历史的曙光中,早在2015年,是他制作了第一份开幕报告 ,而在2017年,我们对他进行了半小时的采访 。 肖恩·帕恩特(Sean Parent)所说的一切在深度和细节上都是不同的,不是“看而忘了”的材料,而是值得记住并一遍又一遍的东西。


现在,他以“更好的代码: 关系”系列的新报告飞往我们,您当然不希望错过。 这就是为什么该报告是由会议主题演讲选择的-所有与会者在分散到不同房间之前都可以查看该报告。


第二个主题演讲由Eric Niebler主持 。 故事就此结束了,因为最近他的名字由于受Standard Ranges的影响广为人知 ,而成为术语(请参阅CppReference的标记)的九倍体以他的名字命名。 但是,总的来说,所有这些只是炒作,他为C ++做了大量工作。


埃里克(Eric)是Facebook高级开发人员C ++标准化委员会(C ++ Standardization Committee)的活跃成员,就在这个时候他开始涉足范围。 在Facebook之前,他是一名顾问,既与个人合作,也与BoostPro Computing合作 。 在促进工作中,他不仅编写了几个库并担任发布经理,还成为了推进指导委员会的成员,该委员会(按名称)处理战略发展问题。 埃里克(Eric)的风尚是编写功能强大且优雅的代码,同时开发漂亮的抽象(通常,您可以在范围内看到……或看不到,具体取决于首选项)。 同样重要的是,他不仅可以通过代码来传达思想,而且可以以可理解的报告形式传达思想。


Eric的演讲“ C ++中异步的统一抽象”来了 。 简要介绍一下该问题:C ++中的异步现在处于最底层,必须对其进行修复。 标准工具,例如promise,future,thread,locks甚至std::async ,它们要么工作效率低下,要么只是失效,要么同时工作。 恐怖 更糟糕的是,没有标准的方法可以准确地指出应该在哪里完成工作。 尽管如此,我们还是有很多C ++特定的任务需要它:并行算法,异构计算,网络和IO,响应流...所有重要的核心技术,它们一直在等待标准抽象多年,以反映异步计算的思想。 在这份报告中,埃里克(Eric)将与我们一起研究委员会的研究,他们在其中确定了所有异步计算背后的基本操作。 我们将看到为什么期货和承诺的降幅如此之大,执行者是什么,回调和协程有什么共同点,以及抽象“任务”(正在由R&D积极研究在Facebook上)如何在同步器革命中带来与革命相同的革命。常规同步代码。


如果埃里克(Eric)是一个很酷的工程师和研究人员,很少讲恰当的话,那么Marshall Clow是国际会议的明星。 如果您访问YouTube并在搜索中输入他的名字,那么YouTube会成为他的个人主页。 CppCon,C ++现在,ACCU,EuroLLVM-您可以想象的一切。 现在是C ++俄罗斯。 有趣的是,他不仅是另一个普通的传教士,而且还是C ++的开发者,他拥有35年的经验,是Boost.Algorithm的原始作者(通常是Boost的15年贡献者),是委员会图书馆工作组的负责人。 C ++标准化和libc ++(LLVM的标准库)的主要开发人员。 一个活着的传奇人物和一个熟练地用C ++编写的人,而阅读本文的人中有一半还没有出生。


马歇尔将随附“加强C ++标准模板库”报告 ,其实质是:由于标准库被连续的每个人使用,因此它应该写得很好并且不会在任何地方中断。 该演讲专门讨论使LLVM的libc ++满足以下要求的技术和工具:调试,测试套件和覆盖范围,静态和动态分析,模糊测试。 当然,该报告不仅适用于LLVM开发人员,每个人都可以从中得出自己的想法并得出自己的结论。


布莱斯·阿德尔斯坦·莱尔巴赫(Bryce Adelstein Lelbach)所学的C ++ 比马歇尔( Marshall)少一点,但是他有一些惊喜。 他是C ++社区的全球领导者之一。 他的社交活动是Bryce现在是主要C ++会议的程序总监-CppCon和C ++ Now,是旧金山和硅谷C ++用户组的负责人。 在标准化委员会中,他参加了JTC1 / SC22 / WG21,是工具研究小组(SG15)和图书馆演进孵化器(SG18)的主席,在C ++ 17中,他从事了很多工作(并行算法,执行者,期货,发送者/接收者,多维数组,模块)。 除其他事项外,Bryce领导NVIDIA的CUDA开发团队,有时帮助LLVMLinux并致力于Boost。


Bryce的演讲主题为“ C ++ 20同步库” 。 自从C ++ 11发布以来,已经过去了十几年,世界已经改变了! 在C ++ 11时代,已经牢固地建立了多核处理器,但是正常的核数是2或4。 与古代人一样,十多个国家都用“许多”一词表示。 “两个”,“四个”和“很多”。 现在有几十个目标并忍受一整毫秒的同步延迟是正常的。 拥有成千上万的线程已经很普遍了,“很多”一词现在意味着“成千上万”。 十年前,不可能有人能清楚地想象当前的多线程问题。 使用当今的传统工具,我们要么面临无法接受的高延迟,要么面临无法接受的用于同步线程的内容。 C ++ 20库提供了新的解决方案-可以与成千上万的线程一起工作的轻量级原语。 std::atomic::waitstd::atomic::notify_*std::atomic_refstd::counting_semaphorestd::latchstd::barrier ...本报告是一系列示例,我们将在其中学习如何使用所有这些工具都是为了构建一个现代应用程序,该应用程序几乎可以在从嵌入式CPU和服务器CPU到新GPU的任何硬件上并行执行。


下一位发言人是著名的俄罗斯开发商安东·波卢欣(Anton Polukhin) 。 以有关C ++必不可少的领域的报告以及C ++中具有的其他优点而闻名。 俄罗斯在标准化C ++工作组的国际会议上的ISO代表,是接受的C ++语言标准提案的作者。 为了准备上一次会议,我们在哈布雷(Habré)上对他进行了采访 。 总的来说,俄罗斯人参与委员会的话题已经在哈布雷和世界各地广泛讨论(看起来,Yandex甚至在VK上写过这篇文章 ),现在让我们不要打开这个话题。 您可以转到stdcpp.ru并查看代表列表,现在是:Anton Polukhin,Anton Bikineev和Alexander Fokin。 Anton还是几个Boost库的作者:TypeIndex,DLL,Stacktrace,积极参与支持Any,Conversion,LexicalCast,Variant。 他编写了Boost C ++应用程序开发食谱和第二版。


这次,安东带着报告“ C ++ Taxi Tricks”到达(显然,该报告之所以这么称呼,是因为安东在Yandex.Taxi工作)。 这些技巧的本质是如何精美而有效地编写看似知名的解决方案-例如,从Pimpl中,您可以抛出动态分配并固定高速缓存。


让我们与不在委员会工作的人一起稀释清单。 来自JetBrains的Greet Andrei Davydov-他已经在ReSharper C ++团队工作了三年,我们很多人每天都在使用他的工作结果。 在报告中,安德烈(Andrei)将讨论模块的外观将如何影响C ++语言的核心:如果更早的时候,编译器一次使用一个翻译单元,那么随着模块的出现,游戏规则发生了变化。 将讨论以下主题:


  • 什么是可达实体以及它与可见实体有何不同;
  • 模块如何影响ADL;
  • 具有内部链接的实体是否可以泄漏到另一个模块中;
  • 可以同时输入完整和不完整的类;
  • 模块化世界中的内联函数将会发生什么。

请注意,这不是针对初学者的模块介绍报告。 要求学生熟悉模块的原理,并理解为什么根本需要模块。 好消息是,首先,了解这一点非常简单(只需在Google上找到一些不错的文章),其次,此C ++俄罗斯将对Dmitry Kozhevnikov的模块进行另一次成对的介绍性讨论 (它也可以工作)在JetBrains)。


该程序的其余部分


很明显,在关于哈布雷的简短公告后,不可能告诉30个人及其30份报告。 因此,所有这些都在会议官方网站上进行了更详细的描述。 重要的是要注意,该计划在不断变化:例如,当演示者在计划委员会的帮助下,继续改进其报告时,其说明也会随之更新。 如此接近10月31日,一切看起来都会有些不同,但总体含义将保持不变。


报告不是全部!


当然,会议不仅是报告,而且是沟通的海洋。 这是现场直播与在线广播不同的地方,我们也计划这样做。 看看上面的列表-我想与这些人中的大多数见面并讨论一些重要的事情。 我们有这样的机会:报告结束后,每个人都将进入讨论区并在这里进行足够长时间的讨论。 一天结束时,组织了所谓的BOF会议(有点像圆桌会议,但只有所有人都参加了)。


您只能遇到来自社区的有趣人士,但他们没有报告。 您可以找到感兴趣的公司,向他们的代表学习并参加比赛。 我们现在正在思考各种不同的附带活动。 简而言之,所有关于大型会议的想法都可以想象得到。


大师班


除主要会议计划外,还将开设大师班(参与课程的起草和单独支付)。 他们将在会议的前一天举行,与报告不同,每次报告至少要花费几个小时。 可以在官方网站上找到有关大师班学习的详细说明和条款。


安东·波卢欣(Anton Polukhin)-“灵活而现代的C ++”


安东(Anton)是一位著名的俄罗斯开发人员,在本文中我们对此进行了详细介绍。 他作为Boost库的作者,参与者和标准化委员会的经验以及广泛的实践经验,使他能够编写出能干的智能C ++代码并教别人去做。


在任何大型代码库中,您都可以找到一些绝对难以理解的代码。 通常,编写这样的代码会在应用程序性能上赢得一点点...而且,原则上讲,原则上不需要这种代码,因为它不会优化所需的内容,不会优化所需的位置,也不是应该优化的地方。 。


大师班将从一个小例子开始,您将遇到过早优化的所有常见错误。 然后,她将从基础知识出发,考虑诸如标准库的算法和容器(而不仅仅是标准库),移动语义及其意外行为,多线程等问题。 这是一个完全实用的研讨会,使用Google Benchmark和看起来像任务的任务来优化特定代码。


Rainer Grimm-“使用现代C ++进行嵌入式编程”


Rainer Grimm是来自德国的一位经验丰富的C ++,Python编程培训师和软件开发人员。 嵌入式是现代C ++应用的主要领域之一。 C ++使您可以直接与硬件进行通信,并提供用于构建复杂系统的抽象。 在现代C ++中,有很多东西可以帮助嵌入式。 这些是诸如移动语义和constexpr函数(以提高性能),用户定义的文字和类型特征(对于要求最大安全性的系统),智能指针和std::array (以减少对资源的混乱)之类的事情)


该大师班教您如何更好地利用C ++的嵌入式功能。 特别是,它为有关此类系统的独特局限性的各种问题提供了答案。 该讲习班用英语授课。


Pavel Filonov-“ C ++的持续集成-开发人员”


帕维尔·费洛诺夫(Pavel Filonov)认为开发过程不应在提交后结束,因此,他将介绍一个关于持续集成的大师班。 母版课的目的是迈向持续集成(CI,工程持续集成)的下一步,并使所有目标平台的依赖项解析,组装和单元测试自动化。 结果,参与者将能够完全独立地部署CI所需的所有基础结构,并准备一个用于自动组装和单元测试的C ++项目。


接下来是什么?


然后您需要参加C ++ Russia 2019 Piter! 会议将于10月31日至11月1日在圣彼得堡举行。 门票可以在官方网站上购买。 您还可以详细了解该程序当前版本 (提醒您,它会继续更改)。


关于价格和折扣的重要说明。 票务系统可以发行四种类型的票证:学术,个人,标准和在线。 为何如此重要:如果您自己购买机票,那么它将比公司机票便宜得多。 而且,如果您是学生,研究生或教师(并且有适当的确认文件),那么折扣特别好。 当然, 需要在站点上阅读详细的条件-上面写的所有内容仅供参考。


期待C ++ Russia 2019 Piter,您可以观看今年春天在莫斯科新西伯利亚举行的前两次会议的录像,总的来说,过去几年的所有录像都整齐地放在我们的YouTube频道上 。 因此,您可以直观地评估报告的质量。


在C ++ Russia 2019 Piter与我见面!

Source: https://habr.com/ru/post/zh-CN465895/


All Articles