Presentation is loading. Please wait.

Presentation is loading. Please wait.

C++ Panel Discussion Summary Jim Kowalkowski. Participants Amber Boehnlein Jim Kowalkowski Leo Michelotti Marc Paterno Liz Sexton-Kennedy Bjarne Stroustrup.

Similar presentations


Presentation on theme: "C++ Panel Discussion Summary Jim Kowalkowski. Participants Amber Boehnlein Jim Kowalkowski Leo Michelotti Marc Paterno Liz Sexton-Kennedy Bjarne Stroustrup."— Presentation transcript:

1 C++ Panel Discussion Summary Jim Kowalkowski

2 Participants Amber Boehnlein Jim Kowalkowski Leo Michelotti Marc Paterno Liz Sexton-Kennedy Bjarne Stroustrup (distinguished panelist)

3 Day One Talks Talks Frustration with the language Frustration with the language Speed Speed Persistence Persistence

4 Talks Interesting problems that have been addressed Interesting problems that have been addressed Abstraction and modularity are key concepts Abstraction and modularity are key concepts Experiences with templates and the Standard Library Experiences with templates and the Standard Library

5 Frustrations Questions and concerns Questions and concerns –Decomposing problem is difficult to do properly –Requires design time –Slower to produce results –Appropriateness of algorithm/data separation Answers Answers –Good design yields flexible, maintainable, and correct code –Prototyping is very important, distinguish it from production code –Striking a balance in separating concepts is difficult, extremes are usually bad

6 Speed Questions and concerns Questions and concerns –Fortran is apparently faster Answers Answers –Performance testing is difficult, one must compare very similar things –Cannot ignore efficiency when designing and implementing code –Well designed code is generally easier to optimize –Correctness is more important than speed –Extremely fast programs that produce erroneous results, even part of the time, are incorrect

7 Day Two Missing features Missing features Use of language Use of language

8 Missing Features Questions and concerns Questions and concerns –Persistency –Reflection –Compiler optimization hints Answers Answers –Join committee –No consensus (standards require this) –Not pushed hard by groups in the committee

9 Use of Language Subset Questions and concerns Questions and concerns –Exceptions (cost) –Templates (compiler support) Answers Answers –Take fresh look at exceptions and templates, much improved compiler support –Turning off exceptions is not using Standard C++ –Missing out on the strengths of C++

10 C++ is Difficult Questions and concerns Questions and concerns –Abundant Fortran expertise, not so with C++ –Difficult to read C++ Answers Answers –Fortran skill and code was not very good –Poor C++ is hard to read. Good C++ code matches the concepts and is straightforward to read and maintain –Rely on other code, concentrate on the application, do not need to understand every detail

11 Use of Standard Library Questions and concerns Questions and concerns –Algorithms are “Weird” –Different style than many are accustomed to Answers Answers –Missing out on the strengths of C++ –Algorithms allow direct expression of concepts in code –Efficient »Allow many optimization opportunities »Best available algorithms

12 Session Highlights First day First day –Design aspects –Frustrations Second day Second day –Language features –Language use

13 Stroustrup’s talk Majority of talk discussed techniques involving generic programming Majority of talk discussed techniques involving generic programming Concentrated on use of function objects and algorithms Concentrated on use of function objects and algorithms Classes and code should map clearly and cleanly onto the concepts and intention of the program Classes and code should map clearly and cleanly onto the concepts and intention of the program Stressed importance of building classes that directly model a single concept. Stressed importance of building classes that directly model a single concept. Stressed that class hierarchies should be kept as simple as possible (hierarchies of pure interface) Stressed that class hierarchies should be kept as simple as possible (hierarchies of pure interface)

14 Summary Use the language features that are appropriate for solving the problem Use the language features that are appropriate for solving the problem –Code to the standard, not a subset Need for representation on the C++ committee Need for representation on the C++ committee Take a look at the generic programming aspects of the language. Take a look at the generic programming aspects of the language. –The combination of OO and generic programming is the strength of the language


Download ppt "C++ Panel Discussion Summary Jim Kowalkowski. Participants Amber Boehnlein Jim Kowalkowski Leo Michelotti Marc Paterno Liz Sexton-Kennedy Bjarne Stroustrup."

Similar presentations


Ads by Google