- объектная ориентированность (всякая языковая сущность претендует на то, чтобы быть объектом);
- компонентно-ориентированное программирование;
- безопасный код;
- унифицированная система типизации;
- поддержка событийно-ориентированного программирования;
- «родной» язык для создания приложений в среде .NET(тесно и эффективно интегрирован со средой разработки Microsoft.NET).
Таким образом, целесообразно с помощью языка C# создать язык общения агентов, используя стандарт FIPA ACL для представления уровня переговоров агентов. Такой выбор в первую очередь обуславливается желанием исполнения поставленных задач в единой среде программирования.
Для общения агентов необходимо как-то представить информацию, которой владеют агенты, т.е. представить знания в понятной для программных сущностей форме. Решением этих задач занимается раздел искусственного интеллекта (ИИ)- инженерия знаний, одно из важных направлений современного программирования.
Ни одна из известных платформ "традиционного” программирования не содержит адекватных средств представления знаний, которые были бы включены в эту систему в качестве основных понятий и конструкций базовых языков. И наоборот ни одна из известных систем инженерии знаний не содержит современных, удобных и эффективно реализованных средств "традиционного” программирования. Поэтому в настоящее время интегрируются методы инженерии знаний и инженерии программ.