Прошу заметить, что только на Notes-клиенте.
На серверах можно Java, особенно если агенты/сервисы на Java. А если на LS, то также пропадает необходимость в LS2J либо дополнительном запуске агента с помощью runWithDocumentContext.
1. Дополнительные зависимости, которые усложняют поддержку и ведут к инцидентам от пользователей и неоправданным затратам времени. И которых, если поднапрячься, можно избежать.
Конкретно - меня утомили инциденты с постоянными ошибками "Threw java.lang.ClassNotFoundException" и "Java constructor failed to execute" после переустановки клиентов или каких-то других манипуляций на клиентах нашим ServiceDesk'ом.
2. Сильно замедляет выполнение кода.
3. Как верно сказал
alexas1, - перспектива видна невооружённым глазом.
Ещё к п.1.
При переходах с Java 1.5 до 1.6-1.8 приходилось менять jar'ники, а сделать это на всех (почти 10k) клиентах - нетривиальная задача, т.к. окружение очень разношёрстное, - пользователи работают и в локалке, и на виртуалках, и через Any Connect, и через Check Point... и даже учитывая все админские штуки, как политики, SCOM и др. проблем реально много.
И вот при последнем переходе оценил всю функциональность, и оказалось, что большую её часть можно переписать на чистом LS, что и было сделано.