У меня есть куча скриптов - некоторые в perl и некоторые из bash - которые используются для:
- Создание базы данных (таблицы, индексы, ограничения, представления)
- Разбор таблиц и загрузка данных в базу данных
- Получение информации о связке файлов и загрузке в базы данных.
Эти сценарии используются в сочетании с гораздо большим приложением, написанным в java, и мой менеджер попросил переписать скрипты в java. Его аргументация состоит в том, что с работой, портом, управлением, пониманием и поддержкой легче работать, если все это на одном языке, и что слишком много отдельных частей - проблема дизайна.
Моя первоначальная реакция заключается в том, что это плохая идея. Сценарии являются красиво краткими и быстрыми, а задачи, которые тривиальны в сценариях, такие как использование регулярных выражений для поиска и замены недопустимых значений, будут гораздо более подробными и, скорее всего, медленнее, когда они будут выполнены в java.
Единственный недостаток сценариев в том, что при запуске в Windows для запуска требуется cygwin. Поэтому я хотел бы дать встречное предложение о том, что я переношу все сценарии bash в perl, чтобы они могли запускаться в Windows без cygwin, и что я трачу время на организацию и документирование скриптов.
Проблема в том, что ответа типа "реакция кишки" не будет достаточно, чтобы убедить моего менеджера. Я исхожу из Linux-фона, он из Windows, и у нас есть некоторые классические различия в Linux и Windows в подходах.
У меня есть два вопроса:
- Является ли моя реакция "кишки" правильной? Является ли Java более медленным, более подробным и сложным для ведения управления базами данных, анализа синтаксиса и задач обработки файлов?
- Если ответ на первый вопрос - да, то как лучше всего представить мой случай?
EDIT: Спасибо всем за понимание. Я хотел бы сделать одно пояснение: сценарии не являются полномасштабными приложениями, скрытыми в запутанных сценариях. Это, по большей части, задачи, которые были выполнены вручную, которые я автоматизировал с помощью сценариев, а затем расширил их по мере разработки требований. И причина, по которой я использовал язык сценариев вместо java для начала, состоит в том, что эти задачи были so гораздо проще в скриптах. Например, один script запускает кучу запросов, форматирует результаты и выводит их в файл. Сколько LOC вы думаете, что нужно сделать, чтобы сделать это в java?