Это не совсем моя сфера, я пришел к этому вопросу случайно, поэтому я могу уйти, но я посмотрю на Wolfram Mathematica . Это техническая вычислительная среда и многопарадигмальный (проприетарный) язык программирования, поддерживающий множество стилей программирования (включая основанное на правилах и функциональное программирование). Он имеет в своей основе очень общий механизм правил. Несмотря на название и репутацию математического программного обеспечения (которое оно есть), это язык программирования общего назначения, очень высокого уровня. Его подмножество может быть скомпилировано в C. Он может динамически загружать внешние библиотеки и прозрачно взаимодействует с платформами Java и .Net. У него есть веб-версия - webMathematica (которая, однако, основана на Java, jsp + Tomcat, но никто не мешает вам напрямую взаимодействовать с вашим веб-слоем на основе .Net, просто еще немного работы). Дополнительным преимуществом является то, что, если вам когда-нибудь понадобятся какие-либо математические вычисления, анализ, графики, статистика, все это есть, и состояние дел.
Я думаю, что разработка Mathematica должна быть намного быстрее, чем во многих других языках / решениях (я профессионально программирую на Mathematica, C, Java и Javascript, поэтому могу хотя бы сравнить эти языки). Я думаю, что полная коммерческая лицензия должна составлять 2 или 3 К для одной машины (4 ядра). Он имеет несколько функций распараллеливания. Самым сложным в этом подходе было бы найти компетентного программиста Mathematica, но тот, кто имеет опыт работы в программировании на основе функциональных / правил (скажем, LISP / Prolog), должен уметь довольно быстро улавливать вещи. Кроме того, он может быть недостаточно быстрым, если вам нужна очень высокая производительность - я действительно не знаю, как он сравнивается с точки зрения производительности с другими механизмами правил. В некоторых случаях у меня была возможность сравнить в Mathematica решение на основе правил для какой-то проблемы с решением, скомпилированным для C, и я бы сказал, что хорошо написанный код на основе правил должен быть на уровне Python с точки зрения производительности, и в среднем, возможно, на один порядок или около того медленнее, чем тот, который скомпилирован для C. Но это было в основном для задач, связанных с числовыми / вычислительными задачами или манипуляциями с данными, поэтому я бы подумал, что для проблем, изначально связанных с правилами, разрыв в производительности быть меньше.
Одна вещь, в которой я уверен, это то, что в Mathematica вы можете создавать наборы правил любой общности и сложности довольно легко с небольшим количеством кода. Это лучший инструмент для исследовательского программирования, основанный на правилах, с которыми я сталкивался до сих пор, с очень коротким циклом разработки. Я приглашаю вас посетить тег Mathematica здесь, в SO, чтобы увидеть, какие типы проблем люди решают с его помощью. Для одного известного проекта, написанного полностью на языке Mathematica (15 миллионов строк кода), проверьте WolframAlpha двигатель знаний.