Сравнение Kotlin и Python

Переписал git-parse-commits c Питона на Котлин. Теперь можно сравнить:

Размер получился примерно одинаковый (и по строкам, и по кол-ву байт).

Kotlin докер меньше (но не сильно):

  • python: 1.05GB
  • kotlin: 803MB

Преимущества Kotlin:

  • строгая типизация: проще писать, читать и поддерживать
  • лучше работа с коллекциями: проще писать, читать и поддерживать
  • зависимости можно указывать в самом файле скрипта и они сами скачиваются (в Python это целая отдельная история с глобальными пакетами или venv)

Преимущества Python:

  • есть по умолчанию практически во всех операционных системах Linux и macOS
  • быстро стартует (моментально и 2 секунды на данном примере – это уже собранный и со скаченными зависимостями).
  • есть ощущение, что знает большее кол-во людей, чем Kotlin. Соответственно, им будет комфортнее обновлять скрипт.

Временные недостатки Kotlin:

  • все еще приходится весь скрипт держать в одном файле. Блокируется тем, что @file:Import еще не работает в Kotlin 2.0.0, ждем обновлений.
  • непонятно как писать unit-тесты. Аналогично зависит от @file:Import (чтобы в файл теста импортировать файл скрипта). Пока что интеграционные тести и отладка в IDEA.
  • потенциально можно собрать в native. Тогда будет запускаться быстро, но потеряется скриптовость (исходный код в самом файле – всегда можно посмотреть). Это хороший вариант для cli-утил. Сейчас опять же не работает со скриптами, только с обычным Kotlin-проектом, но, в целом, для cli обычный проект подойдет. Не ждем :).