Думаю, вы уже видели этот твит:

I have a Python program I run every day, it takes 1.5 seconds. I spent six hours re-writing it in rust, now it takes 0.06 seconds. That efficiency improvement means I’ll make my time back in 41 years, 24 days :-)

Сеть наводнили гневные комментарии, что нехорошие девелоперы прожигают зря машинное время. Еще и троллят нас! Все плохо, неэффективно. Вот раньше-то было лучше.

Поговорим об этом.

Похоже, автор не ждал такой реакции. Ниже он пишет в скобках, что хотел изучить новый язык и развеяться, а утверждение о времени это шутка. Все, что он сказал в первом твите совершенно нормально.

Если ты хорошо знаешь Питон, то пусть программа на нем работает дольше, чем на Расте. Все дело в том, как человек воспринимает время. Если скрипт работает меньше какого-то порога, например, двух секунд, то для человека нет разницы, сколько это конкретно. В самом деле, кто может отличить 50 мс и 500 мс? Если это не система торможения в автомобиле, а обработка логов, то какая разница?

Все эти разговоры от праздности. Можно долго говорить, что все плохо и неэффективно, но тогда портируйте программу с Питона на Си, а еще соберите под все платформы и архитектуры и залейте во все пакетные менеджеры. Это банально трудно, и никто не будет этого делать. Сайты пишут на скриптовых языках, а не на Расте, не потому что девелоперы дураки. Просто в противном случае пользователи не дождутся сайта.

На старой работе я с помощью Питона автоматизировл все что возможно. Сделал загрузку платежей из всех банков и платежных систем. Улучшил документооборот. Добавил прием заявок от населения. Запилил личный кабинет, сбор показаний счетчиков по смс и миллион других штук. Это был буквально информационный взрыв. Годами фирма делала вялые попытки как-то навести порядок, а тут такое. Было ли интересно пользователям, что Питон в 30 раз медленней Раста? Да наплевать.

Кстати, никто их трех гигантов — Гугл, Эпл, МС — не использует С и С++ на мобилах как основной язык. У Гугла это доработанная напильником Джава. У Эпла был Obj-C, попытка нарастить старый Си до уровня Лиспа или Smalltalk. В итоге его заменили на Свифт, который по своей простоте напоминает скриптовый язык. У МС это .Net и Си-шарп, скучный ООП-язык, по сути продвинутая Джава. Во всех случаях к C/C++ прибегают только в крайнем случае, когда образуется горлышко.

Это же справедливо и для десктопа. Виндовый софт пишут на Дотнете, для Мака на Свифте или Obj-C.

Все нормально, жизнь идет своим чередом. Но все спорят про этот твит, натыкаешься и не понимаешь. Сижу в ступоре: о чем они спорят? Опровергни делом, а не словом! Портируй все, что хочешь на чистый Си под Винду 98, тогда и поговорим.

На качественное ПО люди тратят треть жизни. Разработчик Total Commander пилит файловый менеджер уже 25 лет на Дельфи 2. Гвидо занимался Питоном 30 лет. Линус своей операционкой 20 лет. Емаксу Столлмана уже 40 лет. Тут каждый выбирает сам. Хочешь качественный софт – садись и пили. Может, после первого десятилетия получится что-то надежное.

Разговоры о том, что теперь все плохо, а раньше было норм напоминают эту картинку:

Конечно, с высоты опыта легко говорить, что раньше было лучше. Я читал воспоминания одного девелопера. Он пишет, что разрабатывал сайт в девяностых для крупной фирмы. Главное требование было читать прайс-лист из CSV-файла и показывать пользователю. По тем временам это было неслыханно. Все делалось на Си через CGI, шаблонизаторов не было, HTML собирался по кусочкам вперемешку с if-else. Делали несколько месяцев.

Понятно, сегодня любой школьник на своей Ноде выкатит такой “сайт” за полчаса (из них двадцать минут он будет качать пакеты). Но блин, надо же помнить про относительность! То, что легко нам, было трудно в прошлом. Тебя нанимают затем, чтобы решать проблемы настоящего, а не прошлого. Поэтому на работе тяжело, это труд.

Похоже, публика не умеет мысленно перемещаться во времени. Если сегодня я могу сделать что угодно на Маке и божественных языках, где все генерится мышкой, то и раньше так могли. Нет, не могли!

Отдает Оруэллом, если честно. Центральная тема его произведений — память о прошлом. Никто не пытается сделать какой-то анализ, только и слышишь о том, что раньше было ништяк, а теперь плохо. Напоминает рыбку Дори с кратковременной памятью.

Можно же поставить Винду XP, Фотошоп 9, Дельфи 7, Оперу 10. Вместо Андроида — кнопочная Нокия со Змейкой и Оперой-мини. Да, в Твиттер с Нокии уже не напишешь, в Инстаграм не запостишь. Технически возможно написать Джава-аплет под Нокию для постинга в Твиттер, но кто этим будет заниматься? Или можно взять последний 3D-Max и портировать его на Винду XP. А заодно все видео-драйверы и утилиты к нему. Но из-за разницы архитектур получится два 3D-Макса. Сколько пользователей будет у версии под XP? Зарплаты разработчиков будут неизмеримо больше продаж этой версии.

Вот публика и потребляет новейший софт, Маки, Айфоны, беспроводные устройства, Что-Угодно-Script, и при этом раньше было лучше.

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

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

А жизнь продолжается.