====== What is the best DCI language? ====== Your favorite language, of course! :-) Naturally it should have some notion of objects, since DCI is about networks of collaborating objects. Furthermore, these objects will have functionality (methods) attached to them at runtime, so the language must support some way of extending types, while [[Why isn't it DCI if you use a wrapper object to represent the Role?|not breaking object identity]] at the same time. Some examples of how this is done with statically typed languages like C# and C++ can be found here: [[Can I use DCI in Java?]]. See [[Existing DCI Implementations]] for information about support for the language of your choice.