Emagister Eventos

using std::cpp 2019

  • Fechas:

    Del 07/03/19 al 07/03/19

  • Lugar:

    Universidad Carlos III de Madrid: Campus de Leganés - Salón de grados, edificio Padre Soler, Leganés, España (mapa)

Web del evento

Descripción ↑ subir

using std:cpp 2019 is the sixth edition of an experience exchange forum in the use of the C++ programming language, which pays special attention to last versions of the language, as well as upcoming features.

What is the target audience of using std::cpp 2019?

The event targets professional C++ developers using C++ as an application development language or to build software infrastructure. It also targets undergraduate and graduate students at their final stage who are interested in using C++ as a programming language to build complex and high performance computing systems.

What is the program of using std::cpp 2019?

Just visit our program section. Most (but not all) of the talks will be delivered in English.

Do I have to register to attend using std::cpp 2019?

Yes. Attendance is abosolutely free. However, registration is needed as we have limited places. Please, use the registration button at the top of this page.




Lugar ↑ subir

Programa ↑ subir

Definitive program

The program is now confirmed.

Mar 2019
  • 08:45 - 09:15
    Welcome and registration
  • 09:15 - 09:30
    • Prof. F. Javier Prieto. Vice-President for Science Policy. University Carlos III of Madrid.
    • Prof. Daniel Segovia. Director of the School of Engineering. University Carlos III of Madrid.
    • Prof. J. Daniel García. Computer Science and Engineering Department. University Carlos III of Madrid.
  • 09:40 - 10:20
    Sponsor Talk (Think-Cell): Text Formatting for a future range based standard library.

    Language: English

    In this talk, I want to convince you that the combination of ranges with a bit of metaprogramming makes for a very elegant solution to the text formatting problem. We introduce a form of ranges with internal iteration, which are generating their elements one by one rather than exposing external iterators. We can use these generator ranges to represent the values to be formatted, conceptually turning them into lazily evaluated strings. These can be used just like regular strings are used today: in function returns; as standard algorithm input; embedded into other, equally lazily evaluated strings; and so on, before they are finally expanded for display.

    Dr. Arno Schödl (Think-Cell) is the Co-Founder and Technical Director of think-cell Software GmbH. Arno is responsible for the design, architecture and development of all our software products. He oversees think-cell's R&D team, Quality Assurance and Customer Care. Before founding think-cell, Arno worked at Microsoft Research and McKinsey & Company. Arno studied computer science and management and holds a Ph.D. from the Georgia Institute of Technology with a specialization on Computer Graphics.

  • 10:20 - 10:40
    Coroutines in Qt.

    Language: Spanish

    Coroutines are components used to write some algorithms in a more accessible way allowing the developer to suspend tasks and resume them later. Coroutines are well-suited for implementing asynchronous code like the typical code found inside Qt applications. Some examples of code using coroutines and the relation with Qt will be shown and this will also motivate the explanation about how some internal components of Qt are working to make everything work.

    Jesús Fernández (Qt Company)studied Computer Science and Electronics. He currently works for the main contributor to the Qt Open Source Project, The Qt Company, he is maintaining a couple of modules inside Qt. Before joining The Qt Company, also worked as a graphics programmer for Gameloft and contributed to the creation of the Asphalt 9: Legends 3D engine. He also has experience working for other relevant companies like Hewlett-Packard and Panda Security.

  • 10:40 - 11:00
    Deepening inline.

    Language: English

    inline is a reserved C ++ word that has always been associated with the performance of applications. The C ++ Standard indicates that its implementation "is not required to perform this substitution”, which is, to say the least, confusing. In C ++ 11 another meaning radically different was added to the keyword: you can qualify the namespaces to get symbolic versioning. Since C ++ 17 inline can be applied to variables, allowing them to be declared and defined in the header files without breaking the one definition rule. In this talk these aspects will be covered, exemplifying their use in Qt libraries, as well as indicating several tips on when and how to use inline.

    Jose Caicoya (Velneo) studied Applied mathematics and Computing at Oviedo University and was teaching maths and programming for ten years. Beyond his beginnings with the Zx Spectrum, he became a professional developer and nowadays he enjoys programming at Velneo. He is Member and Secretary of the Spanish C++ Standards Committee.

  • 11:00 - 11:30
  • 11:30 - 12:10
    Invited talk: Will we see C++ standard linear algebra in AAA games?

    Language: English

    C++ is getting ready to learn linear algebra. Guy Davidson and Bob Steagall are leading a proposal to introduce vector and matrix types to the standard library. This talk will take a whirlwind tour through the study of linear algebra, the new proposed types and functions, and consider their use in the low-latency games development environment.

    Guy Davidson (Creative Assembly) has been writing games for nearly 40 years and has not grown tired of it. He is the Principal Coding Manager at Creative Assembly, makers of the Total War franchise, Alien:Isolation and Halo Wars 2.

  • 12:15 - 12:20
    Flash Talk: Bob Meets Conan. Asier Lacasta.

    Language: English

    Over the last couple of years Conan has become the standard package manager solution for creating and distributing C++ packages. It is really well supported and its usage in combination with widely used build tools like CMake can be easily configured. In addition, it also allows users to have an independent build system-agnostic solution for sharing artifacts.

    In this work, the main characteristics of Bob will be presented and special attention will be paid on the adaptation of Conan to an already existent SCons based build system. It will be detailed, how the projects are configured and how these configurations are shared to be compatible with the Conan standard packages. Some use cases of the current BSH solution will be presented together with details on the performance

    Asier Lacasta and Matthias Lieberei (BSH). Asier Lacasta obtains a Computer Science degree from the University of Zaragoza where he also earned a PhD degree with his research based on high performance computational methods for the simulation and control of environmental flows on heterogeneous architectures. In 2016 he joins BSH as software engineer in the user interfaces development group for induction cooktops. From 2018 he participates in specific tasks to provide methods, processes and tools to align Agile software development lifecycles with high-quality product requirements.

  • 12:20 - 13:00
    Sponsor Talk (Indizen): Let's make easy to use libraries.

    Language: English

    We often use libraries with annoying, error prone interfaces. The main cause is the potential incompatibility between the library and the program using it, due to being compiled with different compiler versions or settings. Another well known issue is the usage of separated heaps by the program and the library in Windows. These problems can be solved (at a very high cost!) by using pure C interfaces and/or the Hourglass Pattern. In this talk I propose designing interfaces using a selected set of C++ features that should be very unlikely to cause ABI incompatibilities. I will focus on the usage of std::unique_ptr with custom deleters to manage the lifetime of objects passed through the library interface, thus making life easier for both the library implementor and the library user. Needless to say, a full Hourglass Pattern interface can also benefit from using std::unique_ptr.

    Martin Knoblauch (Indizen). Fiddling with computers since the mid 80's, passionate about C++ since the 90's, C and C++ lecturer in the 00's. At Indizen since 2014. Member of the Spanish C++ Standards Committee.

  • 13:00 - 13:30
    Grill the committee

    Language: English

    Would you like to make a question to the standards committee?. We cannot bring the whole committee to you. But you will have the opportunity to make questions to three members of ISO/IEC JTC1/SC22/WG21. Bring ready your favorite question or complain.

    • Axel Naumann (CERN), Swiss National Body.
    • Guy Davidson (Creative Assembly), UK National Body.
    • Timur Doumler. UK National Body.
    • Juan Alday (Bloomberg), US National Body.
    • J. Daniel Garcia (University Carlos III of Madrid), Spanish National Body.
  • 13:30 - 15:00
    Comida / Lunch
  • 15:00 - 15:40
    Invited Talk: ¡++) – Reflecting C++!

    Language: English

    What do you use to not get lost in a new city? A map! Some of today's C++ code is as complex as a metropolis, but mapping it still relies on tools to generate descriptions. Wouldn't it be nice to query C++ code from within C++? To answer questions like "which members do you have?" and "what is your type"? That's what reflection is about. This presentation will introduce the magic of the meta land, the features that open up with reflection in your hand.

    In your hand? Yes: a first Reflection TS is scheduled to be published in 2019. In parallel the C++ committee is investing a lot of work in making the interfaces nicer, by making it stdlib's first constexpr library. As one of the Reflection TS authors, I will give you a quick tour of where we are and where it is we are going - which is relevant for any library that wants to live in compile-time space.

    Axel Naumann (CERN) graduated as an experimental high energy / particle physicist. After a couple of years in The Netherlands and the US, he is now working at CERN, where he is leading the ROOT project https://root.cern, used by tens of thousands of physicists (and others) with varying coding expertise, to analyze about 1 exabytes of serialized C++ data - all in C++, with dynamic Python bindings. Since 2011, Axel is CERN's representative at the ISO C++ committee. Examples of past presentations include talks at 33C3, ACCU and a Google Tech Talk, as well as lectures and trainings.

  • 15:45 - 15:50
    Flash Talk: Beyond you: long term sustainability.

    Language: English

    With the help of the fellow developers, discuss briefly about what will happen to our open source project when we aren't able to keep maintaining it, the importance of documentation and tests, and how to best prepare our project for those who shall come after us. Rationale for lcov as the tool of choice, and basic usage.

    Uxio Prego. Computer scientist. Exposed to GIS, rules engines, web, accounting and ERP, financial (real estate), simulators, and games. Worked in full stack, serverless, quality, et cetera. Python, Shell, Java, JS, C, PHP, Tcl, C++. Too elaborate to type in Nano, too dumb to type in Emacs.

  • 15:50 - 16:10
    Sponsor talk. Conan/JFrog. ABI compatibility is not a major problem.

    Language: Spanish

    Too many times, programmers think that binary compatibility problems are reduced to changes in the interface of the library motivated by new features or bugs. However, the ABI can also be affected by the context of compilation (the type of compiler and version, flags, ...) and also by the libraries that we are consuming. Using semantic versions is not enough, we need a more powerful tool to manage all this variability. Thanks to Conan we can ensure that managing the ABI is not a major problem.

    Javier García Sogo (Conan/JFrog) is an industrial engineer from the Polytechnic University of Madrid (UPM). He has experience programming in both C++ and Python. Currently investing his time in the C++ ecosystem developing Conan, the package manager for C/C++ backed by JFrog, and facilitating the Madrid User Group.

  • 16:10 - 16:40
  • 16:40 - 17:20
    Invited talk: The most valuable values

    Language: Spanish

    The modern C++ community puts a strong emphasis on value semantics. We know how to build types and algorithms thinking in terms of values, their properties and relationships. However, when it gets to the big picture—the architecture—we end up growing ad-hoc webs of mutable objects that perform poorly and are hard to understand, debug and maintain.

    In this talk, we'll learn what value semantics are about in a fundamental way. We'll then use values where they matter most: the architectural foundations of our system! As an example, we'll present the Unidirectional Data Flow Architecture, that is changing how people build interactive software. We'll show some patterns, examples and tools that make it easy to implement, and efficient to execute.

    Juanpe Bolívar (independent consultant) is a Berlin based freelance software engineer, with a focus on interactive software, modern C++, functional programming and open source strategy. Before he worked for Ableton and he has been involved in various music technology projects. He has also developed for the GNU project and cofounded a Hacklab in Granada.

  • 17:20 - 17:40
    Embedded C++ in space missions.

    Language: Spanish

    We show in this talk how we use C++ in a space mission context in the Instituto de Astrofísica de Andalucía. Basically, we usually deal with embedded processor like Tegra X2, LEON or Microblaze which present different issues when we attempt to use C++. We explain how we use cross-compilers and hardware abstraction layers for using C++ or when we have to settle for C.

    Is really C++ slower or heavier than C? We will also address this question using real life examples in the realm of the embedded processors like memory use, program size or number of instructions.

    Juan Pedro Cobos Carrascosa (Institute of Astrophysics of Andalusia - CSIC) recevied the Ph.D. degree in 2,016 about high-performance scientific computing on FPGA and embedded computer architectures for space instrumentations. He is Computer Engineer in the Instituto de Astrofísica de Andalucía (IAA-CSIC) from 2008 where he has participated in different space missions using mainly C and C++ for embedded processors and FPGAs.

  • 17:40 - 18:20
    Some fun with Reactive Programming in C++17.

    Talk: English

    Reactive Programming models program behavior as a directed graph of data dependencies where state changes propagate through callbacks. We introduce the main concepts of RP and some motivational examples through the construction of an RP microframework in C++17 using Boost.Signals2.

    Joaquín M López Muñoz is a telecommunications engineer from the Technical University of Madrid (UPM). He started programming at 13 and discovered C++ more than 20 years ago. Member of the Spanish C++ Standards Committee and Boost author (MultiIndex, Flyweight, PolyCollection).

Patrocinadores ↑ subir

Eventos relacionados