Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Bjarne Stroustrup on C++ - Past, Present and Future

Status
Not open for further replies.

rushhour

Newbie level 4
Newbie level 4
Joined
Dec 16, 2006
Messages
5
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Activity points
1,386
The following is just a part of the Frontier Visonary Interview
at **broken link removed** , just to share with you

Best,
Ed

Frontier Journal (FJ): During C++ programming, one typically first starts with classes specification, which is inherently a static abstraction of a snap shot of dynamic real world in OO view (dynamic to static), followed by coding, debugging and testing, in attempt to emulate the same snap shot of real world dynamically (static to dynamic). From OO perspective, how does C++ address this OO modeling issue to help programmers to perform the manual dynamic to static mapping and followed by static to dynamic mapping?

Bjarne Stroustrup (BS): Had I had a chance to name the style of programming I like best, it would have been "class-oriented programming", but then I'm not particularly good at finding snappy names. The school of thought that I belong to - rooted in Simula and related design philosophies - emphasizes the role of compile-time checking and flexible (static) type systems. Reasoning about the behavior of a program has to be rooted in the (static) structure of the source code. The focus should be on guarantees, invariant, etc. which are closely tied to that static structure. This is the only way I know to effectively deal with correctness. Testing is essential but cannot be systematic and complete without a good internal program structure - simple-minded blackbox testing of any significant system is infeasible because of the exponential explosion of states.

So, I recommend people to think in terms of class invariants, exception handling guarantees, highly structured resource management, etc. I should add that I intensely dislike debugging (as ah hoc and unsystematic) and strongly prefer reasoning about source code and systematic testing. I also maintain what I consider a healthy suspicion of all kinds of run-time code modification (self modifying code, dynamic linking, plug-ins, run-time patches) because they too often bypasses careful analysis and whole-system testing.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top