screenshot

Скорость разработки — это:

  1. один из основных критериев, определяющих профессионализм разработчка;
  2. главный аргумент в выборе тех или иных средств;
  3. решающий фактор в бизнесе как для стартапа, так и для транснационального гиганта.

Все три тезиса могут быть оспорены в непринужденной дискуссии, но утверждают себя на производстве — всё всем нужно вчера. В таких условиях программисту следует внимательнее отнестить к методологии и средствам разработки.

Для рутинных действий и автоматизации процессов хорошо подходит Питон — скриптовый язык с динамической типизацией. Он поддерживает множество парадигм, позволяет писать код так, как нужно именно вам. Например, если скрипт простой, вы сразу описываете рабочую логику, а не мусор вроде public class Foo и public static void main().

С Питоном вы становитесь эффективнее. Работа с почтой, разбор и формирование XML, смс-рассылки, перегон данных из одного формата в другой, обработка офисных документов, чтение и запись DBF, COM-автоматизация, взаимодействие с сервисам Гугла, быстрые сайты на Джанго, работа с устройствами по серийному порту и уйма всего другого — это Питон. Плюс кросплатформенность, малый размер дистрибутива, пакетный менеджер (даже два — pip и pypm), масса библиотек на все случаи жизни. Плюс скорость.

Не бойтесь делегировать больше задач сторонним утилитам. Например, вы программируете сайт, и в какой-то момент требуется ужать и обрезать загруженное пользователем изображение. Или сгенерировать капчу. Или штрихкод. Или QR-код. Или Excel-книгу. Или отправить письмо. Стандартный подход — подключить модуль, просмотреть примеры, написать код. Вы потратили время, код увеличился.

Быстрый подход — задействовать консольную утилиту. Работа с изображениями — ImageMagick, генерация капчи — он же, отправка письма — sendmail или blat для Винды, работа с Excel — скрипт на VB Script, штрихкод — GNU Barcode, QR-код — Google Charts. И так далее.

Да, есть в этом подходе и минусы — проект становится зависим от стороннего ПО, использование утилит порождает внешние процессы, что значительно медленнее, чем вызов функций.

Однако, вы выигрываете в скорости разработки. Вы представите публике рабочую версию продукта быстрее, чем ваш конкурент — коллега или стартап. И у вас будет время на то, чтобы подключить нужные классы и заменить утилиты нативными API, в отличии от тех, чей прект вообще не вышел из тестирования.

Не бойтесь внедрять новые технологии. Роман Ворушин внедрил Джанго-систему в банке, где все было написано на Джаве. Иван Сагалаев принес Джанго в Яндекс. Я, не являясь специалистом такого уровня, внедрил Питон и Джанго в организации, где был только PHP и сервера на Винде.

Скорость очень убедительна.