Serving the Quantitative Finance Community

 
User avatar
DominicConnor
Topic Author
Posts: 41
Joined: July 14th, 2002, 3:00 am

No new C++ until 2010, no concepts

July 23rd, 2009, 7:51 pm

DDJ article by stroustrup
 
User avatar
lexington
Posts: 0
Joined: November 16th, 2008, 5:04 am

No new C++ until 2010, no concepts

July 24th, 2009, 4:06 am

Good decision.They were supposed to make template programming and usage easier. Instead, they transferred the complexities from templates into concept maps and axioms. Pedagogically, concepts were a disaster. There's no way that Joe Coder would ever master such a huge, confusing and unintuitive set of rules and constructs. The Rise and Fall of C++0x Concepts
 
User avatar
mj
Posts: 12
Joined: December 20th, 2001, 12:32 pm

No new C++ until 2010, no concepts

July 24th, 2009, 5:02 am

Interesting comment by Sutter on the article "Rise and fall etc"QuoteThis article is correct when it says that concepts are no longer part of C 0x. Beyond that, it's hard to know where to start with the major errors in fact and characterization, and the rest is best ignored. (Sorry.)
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

No new C++ until 2010, no concepts

July 27th, 2009, 9:08 am

Well, concepts represent an attempt to bring C++ into the realm of programming by contract (provides/requires interfaces), aka constraints. It is vital to good template design and call it by whatever name, you need it.OOP seem to outweigh GP by a long shot so the idea is strange to many programmers. See how C# has done it with 'where' clauses.I see concepts as the s/w equivalent of hardware plug-and-socket interfaces. It's as clear as mud that this is the way to go; OOP is to fine-grained for large system development. So, in the word of a poster, Joe Coder will be Bill Designer.
Last edited by Cuchulainn on July 26th, 2009, 10:00 pm, edited 1 time in total.
 
User avatar
mj
Posts: 12
Joined: December 20th, 2001, 12:32 pm

No new C++ until 2010, no concepts

August 10th, 2009, 3:25 am

interview with BS
Last edited by mj on August 9th, 2009, 10:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

No new C++ until 2010, no concepts

August 14th, 2015, 8:14 am

C++17 Expected Features QuoteThe current version of ConceptGCC is considered an alpha release, and as such should be considered highly experimental.
Last edited by Cuchulainn on August 13th, 2015, 10:00 pm, edited 1 time in total.
 
User avatar
Polter
Posts: 1
Joined: April 29th, 2008, 4:55 pm

No new C++ until 2010, no concepts

August 20th, 2015, 9:04 am

Object Oriented Programming without Inheritance - ECOOP 2015 -- Bjarne Stroustrup
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

No new C++ until 2010, no concepts

August 20th, 2015, 1:26 pm

QuoteOriginally posted by: PolterObject Oriented Programming without Inheritance - ECOOP 2015 -- Bjarne StroustrupOOP without inheritance == object-based QuoteThe term "object-based language" may be used in a technical sense to describe any programming language that uses the idea of encapsulating state and operations inside "objects". Object-based languages need not support inheritance or subtyping, but those that do are also said to be "object-oriented". Object-based languages that do not support inheritance or subtyping are usually not considered to be true object-oriented languages. (Wiki)
Last edited by Cuchulainn on August 19th, 2015, 10:00 pm, edited 1 time in total.
 
User avatar
Polter
Posts: 1
Joined: April 29th, 2008, 4:55 pm

No new C++ until 2010, no concepts

October 11th, 2015, 12:54 pm

Introducing Concepts -- http://accu.org/index.php/journals/2157 -- Concepts in C++11 had many false starts. Andrew Sutton show why they are a big deal now they are with us. by Andrew SuttonAn Inline-variant-visitor with C++ Concepts -- http://accu.org/index.php/journals/2160 -- Concepts are abstract. Jonathan Coe and Andrew Sutton provide us with a concrete example of their use.
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

No new C++ until 2010, no concepts

October 11th, 2015, 5:08 pm

QuoteAn Inline-variant-visitor with C++ Concepts -- http://accu.org/index.php/journals/2160 -- Concepts are abstract. Jonathan Coe and Andrew Sutton provide us with a concrete example of their use.Code looks contrived.It's trying too hard. The Visitor code lets the rest down. GOF and boost static_visitor are better wrt certain METRICS. What about a more intuitive example? Even better: multimethods in C++..Edit: boost static_visitor is rather comprehensive,
Last edited by Cuchulainn on October 11th, 2015, 10:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

No new C++ until 2010, no concepts

November 4th, 2015, 7:45 pm

Big shame that C++ does not supportinterfaceconcepts/contractsPlan B: use private inheritance and 'using' ..From Wiki
Last edited by Cuchulainn on November 3rd, 2015, 11:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

No new C++ until 2010, no concepts

November 4th, 2015, 7:50 pm

I would like to do this in C++ but no..
Last edited by Cuchulainn on November 3rd, 2015, 11:00 pm, edited 1 time in total.
 
User avatar
Polter
Posts: 1
Joined: April 29th, 2008, 4:55 pm

No new C++ until 2010, no concepts

November 4th, 2015, 8:02 pm

QuoteOriginally posted by: CuchulainnBig shame that C++ does not supportinterfaceconcepts/contractsC++17 -- or a TS around 2017 -- just might :-)More:Trip report: Fall 2015 ISO C++ standards meetinghttp://herbsutter.com/2015/10/25/2568/QuoteConcepts TS: It's published! We did that between meetings, but it's worth mentioning again here. There was initial discussion about putting it directly into C++17; we expect to seriously consider that at our next meeting.. . . Modules has reached a milestone: design agreement! This was done by separating "phase 1" and "phase 2" of modules, and greenlighting phase 1 to proceed to wordsmithing for adoption (hopefully at our next meeting) into a new Modules TS, while in parallel continuing work on an expanded phase 2 which can follow.. . .Contracts seem to have made a breakthrough in getting the various parties to agree on the nitty-gritty details of a design. This consumed two three-hour evening sessions on Tuesday and Wednesday nights. If this holds, we expect to see a combined proposal that for the first time achieves broad agreement in time for our next meeting.CppCon 2015: Gabriel Dos Reis "Contracts for Dependable C++"
of the three major areas that C++17 is expected to address is "improving support for large-scale dependable software." A general understanding of "dependable software" is the notion that the product should reliably perform the task it was designed for, and when given erroneous inputs the program should not be allowed to blindly continue execution, thereby possibly causing serious harms. In another words, an abrupt program termination is preferable to an exploited program vulnerability."Contracts" are a language feature being considered by the ISO C++ standards committee for C++17. They offer a basic mitigation measure, and early containment mechanism, by allowing a C++ programmer express more formally (instead of just comments) in code the requirements of a function interface. They offer a complement to conventional static type checking, and move comments closer to mechanized scrutiny. This presentation will explore the design space, previous efforts, the importance of analysis tools (both static and dynamic), and how contracts provide greater integration and support.CppCon 2015: Gabriel Dos Reis "Large Scale C++ with Modules: What You Should Know"
" are a frequently requested and long-awaited feature by C++ programmers. In a nutshell, the idea is to have a direct language support for (a) expressing the boundaries and dependencies of a program component; (b) isolating source codes from macro vagaries; (c) scaling compile time, especially for large projects, given the ubiquity of "headers-only" template libraries; (d) spur innovation and deployment of semantics-aware developer tools.This presentation will focus on three major points: (1) the design of the module proposal currently being considered by the C++ standards committee (design goals, properties, constraints); (2) implementations currently under way; and (3) early user experience and migration.Modules directly address a problem (scalability) listed as one of the three major areas where C++17 is expected to significantly improve daily experience of the working C++ programmer. Naturally, this feature is also on the top ten list of C++17 functionalities Bjarne Stroustrup put forward in his "Thought on C++17."
Last edited by Polter on November 3rd, 2015, 11:00 pm, edited 1 time in total.
 
User avatar
Cuchulainn
Posts: 20250
Joined: July 16th, 2004, 7:38 am
Location: 20, 000

No new C++ until 2010, no concepts

November 4th, 2015, 8:14 pm

Thanks,I have had a read of Boost.Functional/OverloadedFunction 1.0 which seems to be like a interface.With interfaces, you can put a domain expert in a dark room and let her devise standardized interface. Then the mortals can use them.QuoteThis paper discusses modularization as a mechanismfor improving the flexibility and comprehensibility of asystem while allowing the shortening of its developmenttime. The effectiveness of a "modularization" isdependent upon the criteria used in dividing the systeminto modules. A system design problem is presented andboth a conventional and unconventional decompositionare described. It is shown that the unconventionaldecompositions have distinct advantages for the goalsoutlined. The criteria used in arriving at the decompositionsare discussed. The unconventional decomposition,if implemented with the conventional assumptionthat a module consists of one or more subroutines, willbe less efficient in most cases. An alternative approachto implementation which does not have this effect issketched.David Parnas 1971.
Last edited by Cuchulainn on November 3rd, 2015, 11:00 pm, edited 1 time in total.