MSVC++ 2.2 ?!?!
This is a nature of C++. Without going into much explanation, function names in
C++ are "mangled" in order to differentiate between similar named functions in
different classes. Because these names are exported [by the linker] you must
use a same compiler that "mangles" a function name the same way. This is the
reason. Unless another compiler mangles the names in the same way VC++ does,
you must use it to generate DLL's for MAX.
It is possible, however, to write, using VC++, an interface plugin. This would
allow anyone to write anything using any language. A direct plug-in for MAX
will have to be written using VC++ as they are classes derived from MAX (which
was written with VC++). That, in itself, does not mean you couldn't write a
plug-in in Algol, provided you also write an interface for it.