(Note for Ben: since I get the dead tree version of Software Development, I will be reminded of the series when it arrives and will post the link to it in this forum. I'll be interested in hearing your commments.)

I wonder how well dynamic &/or untyped languages will integrate in and how well (if at all) their classes can be shared between them and the "normal" CLR languages. For example, I'm working on Python code to dynamically create class data members (which can be strings, ints, and doubles right now) based on the contents of a MetaKit database file.

Basically, it's a class to store and edit configuration information. And, the editing will be is automated, too -- the Python code creates Tkinter dialogs based on database information. It's very convenient to be able to add more config data simply by adding to a database; my previous approach in C++ wasn't even close in convenience (required adding code in five different places, plus modifying the dialog screen).

My earlier Python approach was to load in the config information (strings, ints, and doubles) from an INI file into a Python dictionary, which can handle heterogenous types. C++ can't do this due to strong typing. The Python dictionary approach is workable, but the new approach is more convenient.

I also heavily rely on dynamically importing Python modules (specified by the configuration database) to allow easy customization by our customers (or by us for our customers).

In summary, I've found Python's dynamic abilities very useful, know that I couldn't do such stuff in C++, and doubt that I could do it (or at least do it conveniently) in either Java or C#.

I wonder how hard it would be to fully integrate a dynamic, untyped language into dot nyet, being able to share classes, make other languages dynamic, etc. I suspect it'd be pretty hard -- but I don't care enough to spend the time. I ain't going to dot nyet, and neither is my employer.

Tony