Lambda the Ultimate

inactiveTopic Module Concept For C++
started 5/20/2003; 10:04:22 AM - last post 5/20/2003; 3:39:02 PM
Ehud Lamm - Module Concept For C++  blueArrow
5/20/2003; 10:04:22 AM (reads: 1569, responses: 4)
Module Concept For C++
An amusing comp.std.c++ thread about adding modules to C++.

Why amusing? First, because of the debate concerning what modules are all about, and second because modules aren't really a new idea, are they?


Posted to Software-Eng by Ehud Lamm on 5/20/03; 10:06:20 AM

Dan Shappir - Re: Module Concept For C++  blueArrow
5/20/2003; 11:23:54 AM (reads: 711, responses: 0)
It's interesting to note that C++.NET does introduce a similar concept to the one presented by the original poster. The new #using preprocessor directive imports metadata into a program that will use the Managed Extensions for C++.

Considering the slow and conservative evolution that C++ is undergoing, it's surprising how quietly Microsoft has managed to add at ton of extensions to C++ in the context of .NET, e.g. the __gc modifier for identifying managed types, the __delegate keyword for defining delegates, __sealed for preventing a method from being overridden or a class from being a base class and much more.

OK, so MS has been careful about preceding these extensions with the required double underscore, but still the result is that when you develop C++ app for .NET you end up with code that looks (and behaves) very different from standard C++. Maybe this quiet is the result of MS having so many committee members on its payroll (or am I being paranoid?).

Isaac Gouy - Re: Module Concept For C++  blueArrow
5/20/2003; 12:16:33 PM (reads: 682, responses: 1)
Seems like the problems are the interaction between templates and export, and the difficulty of extending an existing design with such fundamental features.

what modules are all about, modules aren't really a new idea
So what distinguishes modules from other "separate compilation" features, and when did they appear?
I figured Modula probably had modules by design ;-) and read that Niklaus Wirth first came across "modules", in the language Mesa, when he was on sabbatical at Xerox PARC in 1977.
A Brief History of Modula and Lilith

Ehud Lamm - Re: Module Concept For C++  blueArrow
5/20/2003; 12:47:28 PM (reads: 706, responses: 0)
Well, I guess everyone expects me to suggest taking a look at Ada. Ada modules are called packages, and their design is explain in the Ada Rationale document.

And oh, the name of language is Ada (as in Ada Lovlace), not ADA.

Isaac Gouy - Re: Module Concept For C++  blueArrow
5/20/2003; 3:39:02 PM (reads: 663, responses: 0)
taking a look at Ada
In my case, it's ignorance of C C++ that's at issue ;-)
Hierarchical packages and package nesting (also sections 3-5A and 3-5B) were the most obvious differences that I could find in Ada, C, C++, and Java vs. The Steelman.

the name of language is Ada (as in Ada Lovlace), not ADA
The Language Once Was Key... discussion ?
Indeed the ADA Home Page is quite different.