Project

General

Profile

News

C++ User Group: Thinking with templates

Added by Pinke, Christopher about 8 years ago

Dear colleagues,

this wednesday, january 27th, we will have our next C++ user group meeting.
It will take place at

12.00h in room 0.101 at FIAS.

Please not the different time.

Jonas Glesaaen will give his talk:
Thinking with templates

The template system in C++ is a convenient tool to overcome unnecessary
code bloat. However, this is only the tip of the iceberg of the potential
in efficiency, readability and problem solving it can bring to the table.
With the help of C++ compilers’ ability to do advanced pattern matching,
programming with templates might prove to be the best approach to
abstraction a practitioner needs to heighten their skills.

In this talk we will first give an overview of the power of the C++ typing
system. We will then look at how one can use templates to transcend types
and start writing “expressions” instead of code. Here we will also study
how the new additions to C++11 and C++14 makes writing generic code easier
for everyone. Finally we will see how all of this allows us to solve
problems and implement algorithms in a readable and reusable way.

Also, we will have time for open discussions on C++ topics after the talk.
if you have a C++ programming question, bring it along!

The following meeting will take place at the end of january.
If any of you would like to give a talk, do not hesitate to contact me or Vinzent.

C++ User Group: C++ meeting today

Added by Steinberg, Vinzent over 8 years ago

Dear colleagues,

Because we meet at a new venue today, I wanted to clarify how to get there:

To enter the GSC you have to use the door between FIAS and GSC (where the bridge between the two buildings is). Then take the door to the left, and you should be in front of the seminar room.
It is not possible to use the "front door", which is locked.

See you at 16.15h!

C++ User Group: (Some) good C++ practices

Added by Pinke, Christopher over 8 years ago

Dear colleagues,

next wednesday we will have our next C++ user group meeting.
It will take place at

16.15h in room 0|08 in the GSC (Giersch Science Center).

Please not the different place.

Alessandro Sciarra will give his talk:

(Some) good C++ practices

Good practices are in any programming language crucial in order
to deliver high quality products. Moreover, languages evolve and,
even if they are compatible with previous standards for obvious reasons,
new syntax (and more in general new functionalities) should be preferred.

In the first part of the talk, a brief overview of C++ cast operators
will be given. Then, a very frequent class hierarchy will be analysed,
trying to understand why the most naive design often fails and how
to proceed to have a more robust, comprehensible and extensible code
in such a situation.

Also, we will have time for open discussions on C++ topics after the talk.
if you have a C++ programming question, bring it along!

The following meeting will take place at the end of january.
If any of you would like to give a talk, do not hesitate to contact me or Vinzent.

C++ User Group: Understanding Performance with Flame Graphs

Added by Pinke, Christopher over 8 years ago

Dear colleagues,

since in the last months there were no user group meeting due to time problems and no volunteers for talks, we decided to shift the dates for november and december.
The next meeting will be this wednesday, november 11th, at 16.15h in room 0.101 at FIAS.
Vinzent Steinberg will give a talk about how one can optimize performance of a program using a tool called flame graphs:

Understanding Performance with Flame Graphs

When optimizing a program, it is essential to identify the bottlenecks that have to be
eliminated. Flame graphs are a powerful visualization of profiled software, allowing
the most frequent code-paths to be identified quickly and accurately.
This talk will show how to profile your program and generate flame graphs
to gain insight into the performance characteristics of your code.

Also, we will have time for open discussions on C++ topics after the talk.
if you have a C++ programming question, bring it along!

The following meeting will take place at december 16th, so well before the christmas break.
If any of you would like to give a talk, do not hesitate to contact me or Vinzent.

C++ User Group: Introductory course to the C++ programming language

Added by Pinke, Christopher over 8 years ago

Dear colleagues,

our regular C++-User-Group meeting would take place on wednesday of next week, september 30th.
As no one approached me or Vinzent in order to prepare a talk, I would suggest that we cancel this meeting.
As an alternative, I would like to point your attention to the C++-course of Jonas Glesaaen, who already gave a lot of interesting talks for the user group.
I am sure that, although it is entitled "introduction", there is a lot in it even for more advanced programmers.
Please read his announcement for more information:

Dear all,

In week 40 I will give an intensive course in the C++ programming language.

Time: Monday 28/09 to Friday 02/10, from 9:00 to 16:00
Location: Room 01.120, the computer room

The course will be divided into first a 3 hour lecture followed by a
practical segment after lunch.

We will cover most of the individual components of the C++ programming
language

   - Tools and compilers
   - Data types, pointers and references
   - C++ memory management
   - Control structures and functions
   - Exception handling
   - Classes, inheritance and polymorphism
   - Short overview of Templates and the Standard Template Library

It is intended for the students aspiring to taking the High Performance
Computing class offered at FIAS. However, anyone interested in learning
about the C++ programming language is welcome to join.

The course's content will be tailored to the students attending, meaning
that all content might not be covered in the end if it proved too difficult.

A sign up is available at the course's homepage to gauge interest and map
out the experience level.

More information on the course's homepage
<http://th.physik.uni-frankfurt.de/~glesaaen>, or on the QIS page
<https://qis.server.uni-frankfurt.de/qisserver/rds?state=verpublish&status=init&vmfile=no&publishid=187195&moduleCall=webInfo&publishConfFile=webInfo&publishSubDir=veranstaltung>
.
Best regards,

Jonas Rylund Glesaaen

Regarding the next meeting at the end of October: Please feel free to contact me or Vinzent () if you would like to do a talk or have a topic that you would like to have covered.
If you need some inspiration, a list of interesting topics can be found at https://fias.uni-frankfurt.de/pm/projects/cplusplus-usergroup/issues .

Of course, everyone that uses C++ for his programming work (or otherwise interested) is invited to join us in learning more about the language.

C++ User Group: Exception Safe Coding

Added by Kretz, Matthias almost 9 years ago

Tomorrow (June, 17th) we'll have our next C++ user group meeting. (15:00 in 0|200 at FIAS)

Dirk Hutter has prepared a talk on “Exception Safe Coding”:

Exceptions provide a sophisticated way to deal with error conditions in C++. They feature
many advantages compared to other error reporting mechanisms such as return codes.
However, safe usage of exceptions is a non-trivial problem.

The talk will give an general overview on how to use exceptions and give guidelines and
present best practices for creating exception safe code.

Following the talk we will have time for open discussion on C++ topics. So, if you have a C++ programming question, bring it along!

PS: Since the JP Morgan Chase takes places tomorrow afternoon/evening some of you might have to miss the meeting. Let me know if this is the case. I would announce a reschedule of the meeting tomorrow morning, if many interested people would be affected.

C++ User Group: Template Meta Programming

Added by Kretz, Matthias almost 9 years ago

Tomorrow (May, 27th) we'll have our next C++ user group meeting. (15:00 in 0|200 at FIAS)

Jonas Glesaaen has prepared a talk on “Template Meta Programming”:

One can do much more with C++ templates than most realize, as the template
system itself happens to be Turing-complete. Using this language within C++
it is possible to move some executions from runtime to compile time,
possibly reducing runtime and moving error checks to take place during
compilation.

In this talk we will look at how to use the template system to carry out
simple calculations during compilation. We will also scratch the surface of
boost's metaprogramming library (MPL) which provides a lot of useful
metafunctions and metaclasses to facilitate programming with templates.

Following the talk we will have time for open discussion on C++ topics. So, if you have a C++ programming question, bring it along!

C++ User Group: Rust for C++ Programmers

Added by Kretz, Matthias almost 9 years ago

Next Wednesday (April, 29th) we'll have our next C++ user group meeting. (15:00 in 0|200 at FIAS)

Vinzent Steinberg has prepared a talk on “Rust for C++ Programmers”:

C++ has a lot of problems that cannot be fixed, because backwards
compatibility has to be maintained. Rust is an emerging programming
language trying to learn from the past and provide a modern alternative.
By making ownership of data explicit, it can guarantee memory safety and
the absence of data races, while offering a level of control over
performance similar to C++.

A brief introduction to Rust as a language will be given in the talk. We
will see how Rust's ownership model guarantees memory safety.

Following the talk we will have time for open discussion on C++ topics. So, if you have a C++ programming question, bring it along!

C++ User Group: const-correctness in C++

Added by Kretz, Matthias almost 9 years ago

On Wednesday (April, 1st) we'll have our next C++ user group meeting. (15:00 in 0|200 at FIAS)

I have prepared a talk (~30 min) on “const-correctness in C++”:

The const keyword (and related facilities, such as mutable and const_cast) is one of the things in C++ that look easy and straightforward. However, once you take a deeper look, the feature may appear confusing or even counterproductive. (The C++ FAQ recommends to sit down and ensure that no "sharp implements [are] nearby" before it explains the core issue.)

This talk will present a thorough introduction of the syntax and semantics of const. This will ultimately lead to the question of the intended use of const. The second part of the talk therefore explains how const is used correctly, how this leads to const-correct interfaces, and why this improves maintainability and reduces coding errors.

Following the talk we will have time for open discussion on C++ topics. So, if you have a C++ programming question, bring it along!

(1-10/19)

Also available in: Atom