Loading…
C++Now 2014 has ended
Please visit the C++Now website.
Paepcke [clear filter]
Tuesday, May 13
 

8:00am MDT

General Conference Welcome
Welcome to Aspen! Orientation to the conference facilities and surroundings.

Speakers
avatar for Jon Kalb

Jon Kalb

Conference Chair, Jon Kalb, Consulting
Jon Kalb is using his decades of software engineering experience and knowledge about C++ to make other people better software engineers. He trains experienced software engineers to be better programmers. He presents at and helps run technical conferences and local user groups.He is... Read More →


Tuesday May 13, 2014 8:00am - 8:15am MDT
Paepcke

8:15am MDT

Library in a Week - c++ templating engine

Library in a week 2014 will attempt to build a C++ template engine library.  Templating engines are very popular libraries that provide a way to separate an application from ouput.  Often the output is a html or text that may be developed by an non-programmer or other development team.

Consider the following program which uses the ctemplate library:

    //user.tpl

    Hello {{NAME}}!

 

    //user.cpp

    #include <cstdlib>

    #include <iostream>  

    #include <string>

    #include <ctemplate/template.h>  

 

    int main() {

      std::string user = getenv("USER");

      ctemplate::TemplateDictionary dict("example");

      dict["NAME"] = user;

      std::string output;

      ctemplate::ExpandTemplate("example.tpl", ctemplate::DO_NOT_STRIP, &dict, &output);

      std::cout << output;

      return 0;

    }

In this example the output is simple text, but the template file could be replaced with html or json and the application would not need to be changed.

A templating engine has two languages - the markup langauge the allows a text template to be filled in by an application and the library langauge for the application to be developed.  In our case the library language will be C++11.

The workshop will work like this.  On day 1 I will provide motiviation and an overview of the library development. We will split into individuals and groups to attack various aspects of the library and markup languge design.  Some groups may look at existing libraries for inspiration providing presentations on the best aspects of the other libraries. From that point forward it will be up to the group to direct the remainder of the workshop.

Collaboration Tools: 

Library in a week 2014 will use a git repository for collaboration and sharing of information.

git clone https://github.com/JeffGarland/liaw2014.git 

Also the group will use an email list for discussions beyond face to face meetings.

Level: Beginner to Expert 

Attendees should have a basic background in C++.


Speakers
avatar for Jeff Garland

Jeff Garland

CrystalClear Software
Jeff Garland has worked on many large-scale, distributed software projects over the past 30+ years. The systems span many different domains including telephone switching, industrial process control, satellite ground control, ip-based communications, and financial systems. He has written... Read More →


Tuesday May 13, 2014 8:15am - 9:00am MDT
Paepcke

9:00am MDT

Keynote: Axiomatic Programming: From Euclidean Deductions to C++ Templates and Beyond

Axiomatic Programming is commonly defined as structured generic programming. Not unlike Euclidean Geometry, it relies on a simple, constructive, logical system. It lies at the foundation of the STL and many successful generic libraries. This talk focuses on tools support and illustrates how ideas and methods from automated deduction and proof theory influence current and future possible developments of C++ templates.


Speakers
avatar for Gabriel Dos Reis

Gabriel Dos Reis

Gabriel Dos Reis is a Principal Software Development Engineer at Microsoft. He is also a researcher and a longtime member of the C++ community.  His research interests include programming tools for dependable software. Prior to joining Microsoft, he was Assistant Professor at Texas... Read More →


Tuesday May 13, 2014 9:00am - 10:30am MDT
Paepcke

8:30pm MDT

Grill the Committee
What would you like to know about how the C++ Standard happens?

The panel is made up of members of the C++ Standards Committee and the audience asks what's on your mind.

Moderators
avatar for Jon Kalb

Jon Kalb

Conference Chair, Jon Kalb, Consulting
Jon Kalb is using his decades of software engineering experience and knowledge about C++ to make other people better software engineers. He trains experienced software engineers to be better programmers. He presents at and helps run technical conferences and local user groups.He is... Read More →

Tuesday May 13, 2014 8:30pm - 10:00pm MDT
Paepcke
  panel, plenary
 
Thursday, May 15
 

8:00am MDT

Library in a Week - c++ templating engine

Library in a week 2014 will attempt to build a C++ template engine library.  Templating engines are very popular libraries that provide a way to separate an application from ouput.  Often the output is a html or text that may be developed by an non-programmer or other development team.

Consider the following program which uses the ctemplate library:

    //user.tpl

    Hello {{NAME}}!

 

    //user.cpp

    #include <cstdlib>

    #include <iostream>  

    #include <string>

    #include <ctemplate/template.h>  

 

    int main() {

      std::string user = getenv("USER");

      ctemplate::TemplateDictionary dict("example");

      dict["NAME"] = user;

      std::string output;

      ctemplate::ExpandTemplate("example.tpl", ctemplate::DO_NOT_STRIP, &dict, &output);

      std::cout << output;

      return 0;

    }

In this example the output is simple text, but the template file could be replaced with html or json and the application would not need to be changed.

A templating engine has two languages - the markup langauge the allows a text template to be filled in by an application and the library langauge for the application to be developed.  In our case the library language will be C++11.

The workshop will work like this.  On day 1 I will provide motiviation and an overview of the library development. We will split into individuals and groups to attack various aspects of the library and markup languge design.  Some groups may look at existing libraries for inspiration providing presentations on the best aspects of the other libraries. From that point forward it will be up to the group to direct the remainder of the workshop.

Collaboration Tools: 

Library in a week 2014 will use a git repository for collaboration and sharing of information.

git clone https://github.com/JeffGarland/liaw2014.git 

Also the group will use an email list for discussions beyond face to face meetings.

Level: Beginner to Expert 

Attendees should have a basic background in C++.


Speakers
avatar for Jeff Garland

Jeff Garland

CrystalClear Software
Jeff Garland has worked on many large-scale, distributed software projects over the past 30+ years. The systems span many different domains including telephone switching, industrial process control, satellite ground control, ip-based communications, and financial systems. He has written... Read More →


Thursday May 15, 2014 8:00am - 9:00am MDT
Paepcke

9:00am MDT

Keynote: Beware of C++
With C++11 (and C++14), C++ has become a different programming language. As an application programmer you can declare, initialize, iterate, and move far more easily than before. However, there is a price to pay for that power, which ideally only "foundation library developers" should have to pay. But is that really true? How much must the average application programmer know about the tricky details to be able to program effectively in C++11? Because things have changed, we also have to ask how much, and in which direction, do basic programming patterns change with C++11? For example, how should I declare template arguments and when should I use explicit in C++11?

Even the Library Working Group of the C++ Standardization Committee have no clear answers for these questions. I will present some of the issues I see for the average application programmer, combined with some insights based on discussions about defects in the C++11 Standard Library.

video

Speakers
avatar for Nicolai Josuttis

Nicolai Josuttis

IT Communication
Nicolai Josuttis (www.josuttis.com) is well-known in the community for his authoritative books and talks. For more than 20 years he has been a member of the C++ Standard Committee. He is the author of several worldwide best-sellers, including:- C++20: The Complete Guide- C++17: The... Read More →


Thursday May 15, 2014 9:00am - 10:30am MDT
Paepcke

8:30pm MDT

Boost Library Incubator
Boost has been enormously successful, but is becoming a victim of it's own success. It’s getting bogged down:a
  • Libraries are in the review queue for ages.
  • It’s hard to find review managers.
  • Libraries don't get enough reviews.
  • Some libraries are left without a maintainer.
  • Library documentation is not nearly good enoug
  • Boost is getting larger and hard to manage and deploy.
  • Some libraries become obsolete and there is no way to deprecate them.

BUT, more than ever, C++ needs more and better libraries!!!

I've distilled my ideas for addressing these problems in a website: Boost Library Incubator (www.blincubator.com). I'll walk through the website showing how it addresses the above mentioned problems. I hope this will serve as a basis for ideas for the near term enhancement and evolution of Boost. I expect a lot of spirited audience participation here!

Speakers
avatar for Robert Ramey

Robert Ramey

Software Developer, RRSD
Robert Ramey is a freelance Software Developer living in Santa Barbara, California. (See www.rrsd.com.)  His long and varied career spans various aspects of software development including business data processing, product, embedded systems, custom software, and C++ library development. Lately, he has been mostly interested in C++ library design and implementation related to Boost... Read More →


Thursday May 15, 2014 8:30pm - 10:00pm MDT
Paepcke
 
Saturday, May 17
 

11:00am MDT

Future of Boost
The people who bring you Boost and C++ Now! talk and answer questions about what they see coming.

Speakers
avatar for Steering Committee and C++Now Committee Chairs

Steering Committee and C++Now Committee Chairs

Currently the members of the Boost Steering Committee are Michael Caisse, Marshall Clow, Beman Dawes, Hartmut Kaiser, Jon Kalb, Eric Niebler, Sebastion Redl, and Rob Stewart.


Saturday May 17, 2014 11:00am - 12:30pm MDT
Paepcke
  panel, plenary
 
Filter sessions
Apply filters to sessions.