Учитывая, что среда выполнения Visual Basic 6.0 поставляется с Windows 7 и будет продолжают поддерживаться на протяжении всей жизни ОС (до января 2020 г.) и что среда разработки Visual Basic 6.0 больше не поддерживается, довольно стабильна, каковы риски при хранении критически важных приложений в Visual Basic 6.0 в течение следующих нескольких лет?
Риски вокруг использования приложений Visual Basic 6.0
Ответ 1
официальный совет для владельцев приложений VB6 от Microsoft UK:
[Не обновлять и не заменять VB6 приложение, если] ваше приложение отлично работает, он не требует никаких изменений в течение многих лет, нет планирует расширить функциональность, необходимость интегрировать его с более новыми приложения
Это говорит о факторах, повышающих риск для приложения VB6:
- Необходимо изменить приложение (исправления ошибок или новые функции).
- Необходимо интегрировать приложение с более новыми приложениями.
- Но интеграция не требует миграции. Interop позволяет вам смешивать код .Net с VB6 (PDF-документ).
EDIT Я забыл упомянуть о главном риске. Перенос кода VB6 на .Net может быть большой задачей. По-моему, сейчас это проще, чем было в первые дни: теперь есть отличные коммерческие инструменты; и некоторые более свежие функции языка VB.Net делают его более простым. Риск состоит в том, что это может стать тяжелее, если вы оставите его слишком долго. Настанет момент, когда большинство людей, которые когда-либо будут мигрировать, уже мигрировали: тогда инструменты могут исчезнуть, а знания сообщества о миграции могут ухудшиться. /EDIT
Я уверен, что Microsoft в конечном итоге снизит время выполнения VB6, но имейте в виду, что Windows 8 по-прежнему поддерживает 16-разрядные приложения. А тут есть виртуальные машины. Лично я думаю, что приложения VB6 будут работать еще долго.
Ответ 2
Один из факторов риска заключается в том, что вы работаете на языке, который разработчики в основном не хотят иметь дело. Будет сложнее найти хороших разработчиков, поскольку текущие разработчики уйдут или вам нужно расширить приложение.
Кроме того, вы увеличиваете размер базы кода, которую вы когда-нибудь захотите перевести на другой язык.
Самый большой из них заключается в том, что добавление новых функций в ваше приложение VB6 дороже, чем если бы приложение было на более подходящем языке, например С# или VB.NET. Это происходит потому, что:
- Разработчики VB6 стоят дороже. Поскольку разработчики не хотят использовать VB6, они потребуют больше денег, чтобы принять позицию в вашей компании (я бы).
- У .NET есть намного большая стандартная библиотека и более сторонние компоненты, чем VB6. По моему опыту, в .NET есть еще много сторонних компонентов с открытым исходным кодом, в то время как компоненты VB6 часто являются собственностью.
- Использование Visual Studio 2008 или 2010 более продуктивно, чем VB6 IDE из-за всех улучшений и функций за последние 10 лет.
- .NET имеет лучшую поддержку тестирования модулей.
- С# - лучший язык, чем VB6. Хороший разработчик С# может написать функцию намного быстрее, чем хороший разработчик VB6, потому что язык намного эффективнее.
Ответ 3
Существует много рисков... Например, если дыра безопасности обнаружена в среде исполнения VB6 - MS будет вкладывать деньги, чтобы исправить это? Есть хорошие шансы, что они будут, но в этот момент это так, что они могут не беспокоиться.
Оценка риска также должна основываться на том, насколько важна критически важная для вашего приложения, и насколько она велика/сложна. Если это лежит в основе вашего бизнеса, и однодневная стоимость простоя приведет к банкротству вашего бизнеса, я бы посмотрел на его замену довольно быстро тем, что действительно поддерживается.
На другой стороне монеты есть много компаний. В производстве все еще много кода VB6 (я уверен, что некоторые вещи, которые я написал в VB6, все еще работают).
Ответ 4
Другой возможный риск также связан с использованием старого ocx с 16-разрядным setup.exe для среды разработки.
Вы не можете запустить 16-битную настройку на новом 64-битном o.s. среды разработки.
Цитата, например, Farpoint Spread 3.0.16: у нее есть 16-разрядная установка разработчика, но в этом счастливом случае вы можете найти обновленное 32-разрядное приложение setup.exe.
В некоторых ocx нет 32-разрядного файла setup.exe для среды разработки.
Часто возникают проблемы со старыми серийными номерами ocx/регистрационными ключами. С некоторыми из этих ocx вы больше не получаете поддержки
Ответ 5
Приложения в VB6 сегодня сделаны в огромных количествах. Проще говоря, они надежны. Нет никаких рисков, но это просто препятствие, это не перекрестная платформа. Существует огромное количество онлайн-проектов VB6 с открытым исходным кодом для всех доменов. Он теперь используется в Linux. Он отлично работает со встроенными ASM для низкоуровневых функций.
Некоторые хорошие моменты:
-
Компоненты VB6 бесплатны.
-
VB6 более продуктивен, чем Visual Studio 2008 или 2010 или любой другой язык после VS6.
-
В отличие от сказанного выше, VB6 является лучшим языком, чем С# (тоже быстрее). Хороший разработчик VB6 может написать функцию много быстрее, чем хороший разработчик С#, потому что язык намного больше мощный.