У меня есть несколько скриптов - некоторые на Perl, а некоторые на Bash - которые используются для:
- Создание базы данных (таблицы, индексы,
ограничения, взгляды)
- Анализ электронных таблиц и загрузка данных в базу данных
- Получение информации о куче файлов и загрузка их в
базы данных.
Эти сценарии используются вместе с гораздо более крупным приложением, написанным на Java, и мой менеджер попросил меня переписать сценарии на Java. Его аргументация заключается в том, что с ним проще работать, портировать, управлять, понимать и поддерживать, если все это на одном языке, а слишком большое количество отдельных частей является проблемой проектирования.
Моя первоначальная реакция заключается в том, что это плохая идея. Сценарии очень лаконичны и быстры, а задачи, тривиальные в сценариях, такие как использование регулярных выражений для поиска и замены недопустимых значений, будут намного более многословными и, скорее всего, будут медленнее, когда выполняются в Java.
Единственный недостаток сценариев заключается в том, что при запуске в окнах для запуска требуется Cygwin. Поэтому я хотел бы дать встречное предложение, чтобы я переносил все сценарии bash на perl, чтобы они могли работать на окнах без Cygwin, и чтобы я тратил время на организацию и документирование сценариев.
Проблема в том, что ответа типа «внутренняя реакция» будет недостаточно, чтобы убедить моего менеджера. Я пришел из Linux, он из Windows, и у нас есть некоторые классические различия между Linux и Windows в подходах.
Итак, у меня два вопроса:
- Правильна ли моя "реакция кишечника"? Является ли Java медленнее, более подробным и сложным в обслуживании для управления базами данных, анализа электронных таблиц и задач обработки файлов?
- Если ответ на первый вопрос положительный, как лучше представить мой случай?
РЕДАКТИРОВАТЬ: Спасибо всем за идеи. Я хотел бы сделать одно уточнение: сценарии не являются полноценными приложениями, скрытыми в запутанных сценариях. По большей части это задачи, которые были выполнены вручную, которые я автоматизировал с помощью сценариев, а затем украсил по мере развития требований. И причина, по которой я начал использовать язык сценариев вместо java, заключается в том, что эти задачи были , поэтому намного проще выполнять в сценариях. Например, один скрипт запускает несколько запросов, форматирует результаты и выводит их в файл. Как вы думаете, сколько LOC потребуется, чтобы сделать это в Java?