Я большой разработчик VBA для Excel.
VBA pro:
Одно из главных препятствий для меня, когда я переключаюсь на VSTO с VBA - и, поверьте мне, я люблю кодирование на C #, - это отсутствие отладки на лету, к которой привыкла моя база пользователей. Я часто прыгаю прямо в проблему VBA на ПК пользователя, как это происходит, но с VSTO это невозможно. (Если кто-то не может исправить меня.)
Если у ваших пользователей нет таких ожиданий, это может быть то, без чего вы легко можете жить.
VBA con:
VBA - это один из тех языков, с которыми легко играть и, следовательно, легко создавать путаницу. Он не применяет принципы «чистого кодирования», а это означает, что в то время как приличные программисты могут создавать из них великолепные приложения, VBA может ассоциироваться с хакерствами и растягиванием органического кода из-за низкого уровня доступа. По этой причине разработчиков VBA часто считают более низким классом разработчиков, когда действительно не удается провести различие между теми, кто использует его с умом, и теми, кто этого не делает.
Я сомневаюсь, что кто-то выберет VBA в качестве языка своей карьеры, просто с ними такое случается. Помимо трудностей в поиске квалифицированных разработчиков, слишком большая работа с VBA может отвлечь потенциальных сотрудников, поскольку они не хотят быть связанными с «болотом другого неуправляемого разрастания VBA». Некоторые люди используют VBA в качестве заявления о том, насколько «серьезно» вы относитесь к технологиям.
(Я склонен видеть Perl в том же свете; отлично подходит для коротких сценариев, но когда кто-то, привыкший использовать для написания сценариев, начинает использовать его для большой работы - вы, как правило, получаете что-то немного громоздкое.)