Будут ли проблемы у пользовательского софта в 2014 году? (по мотивам прогноза Тима Брея) Сергей Голубицкий
Будут ли проблемы у пользовательского софта в 2014 году? (по мотивам прогноза Тима Брея)
Сергей Голубицкий
Опубликовано 06 февраля 2014
Сегодня мы пообсуждаем что-то родное и тёплое: гиковы слезы и программерские муки. В качестве исходного материала я выбрал очень резонансную публикацию Тима Брея, мастодонта компьютерной индустрии, начинавшего на рубеже веков в Antarctica Systems, затем отдавшего 10 лет жизни сначала Sun Microsystems, а потом Google (где и числится в штате поныне).
Тим Брей — жжёный программист с 30-летним опытом, наделённый совершенно уникальным талантом философского осмысления бытия. Признаюсь, других таких я вообще не встречал по жизни — ни в виртуальности, ни наяву. Гениальных программистов — сколько угодно! Гениальных метафизиков — меньше, но тоже есть. Но так, чтобы в одном флаконе и то и другое, — можно пересчитать на пальцах одной руки. Тим Брей один из них.
Пост, послуживший отправной точкой для нашего осмысления, называется весьма незамысловато — «Software 2014», что не помешало Тиму Брею в паре тысяч знаков разложить по полочкам всю проблематику современного софтостроения. Сделал он это с позиции программиста, поэтому оставляю профессиональной части аудитории насладиться нюансами технотронного жаргона самостоятельно по линку выше (бо не смею в калашный ряд :-) ), сам же попробую оценить ту же ситуацию, однако ж с другой стороны баррикад — пользовательской. То есть «Software 2014» глазами не программиста, а потребителя.
Синопсис концепции Тима Брея сводится к простой истине: код на серверной стороне выглядит восхитительно, код на стороне клиентской — приближается к катастрофе. Обосновывает свою позицию программист-философ следующим образом.
Server-side Programming:
— Все технологии отшлифованы десятилетиями интенсивных разработок и являют собой сегодня упорядоченный мейнстрим, объединённый важной характеристикой: независимо от языка программирования, среды, фреймворка и библиотек серверные программы универсально ориентированы на HTTP: они этот протокол понимают, умеют на нем общаться и создают на его основе API.
— Универсальность серверному программированию обеспечивает всеобщее признание схемы использования шаблонов проектирования Model-View-Controller (MVC, модель – представление — контроллер). Несколько портят картину языки PHP и Spring («Кое-кто ещё пытается писать на них важные приложения, но их давно уже никто не принуждает к такому выбору»).
— Существует большое число языков программирования, пригодных для создания серверных приложений, которые с лёгкостью справляются с главным трендом 2014 года — масштабируемыми системами.
Ну и так далее. Картина, одним словом, замечательная. Совсем другой коленкор —
Client-side Programming:
— Главная причина кошмара, связанного с написанием программ, которые исполняются не на сервере, а на клиентском оборудовании, кроется в одном слове — mobile! В самой мобильности, ясное дело, нет ничего предосудительного — чудовищна лишь современная реализация этого понятия. А именно: для того чтобы создавать по-настоящему универсальный мобильный клиент, программисту требуется писать три разных кода — для Web, для iOS и для Android. Перейти от одного к другому автоматически не получается, нужно именно что писать три разных программы.
— И iOS, и Android по гамбургскому счету — ужасные операционные системы хотя бы потому, что нужно пользоваться ужасными языками — Java или Objective-C. К ним можно привыкнуть, их можно принять на веру, с ними можно примириться и даже — полюбить, но это всё — от безвыходности. Эта любовь сродни любви заложника к захватившему его террористу (стокгольмский синдром). Можно, конечно, писать приложения на HTML5, но это такой же паллиатив, особенно на фоне возможностей, существующих для server-side программирования.
— Цикл обновления на мобильных платформах чудовищный. В случае с iOS речь идёт о днях, на Android — о часах. Тим Брей предлагает сравнить процедуру обновления с приложениями, основанными на браузерах (несколько секунд), чтобы понять критичность этого недостатка мобильных экосистем («Вы обнаружили в своём приложении баг, который ведёт к потере данных, нарушению целостности пользовательского аккаунта и подрыву безопасности клиента? Sucks to be you — хреново быть в вашей шкуре!»).
— Мобильному «железу», с которым приходится работать, хронически недостаёт памяти, мощности ЦПУ и заряда батареи.
— Количество формфакторов на рынке приближается к бесконечности, и с каждым днём ситуация становится ещё хуже.
— Как ни банально это звучит, заработать программисту на мобильных приложениях очень и очень сложно: «Apple постоянно говорит о миллиардах и миллиардах долларов, которые они выплачивают в своём App Store программистам, почему же тогда я лично не знаю ни одного, кто бы зарабатывал серьёзные деньги на мобильных приложениях?»
— Ну и далее по мелочам: JavaScript sucks, браузерные API suck, CSS sucks, а все вместе сводится к уже прозвучавшему — Mobile sucks! А вместе с ним — suck и всё клиентское программирование.
Из всего сказанного Тим Брей делает сакраментальный вывод: 2014 год продолжит оставаться для серверного программирования стабильной, отлаженной и приятной средой; что касается клиентского программирования, то сказать ничего определённого невозможно, потому что рамках существующих экосистем выхода не заметно.
Попробую оценить эту реплику профессионала с позиции профана, то есть того самого бедолаги, расположенного с клиентской стороны баррикады, ради которого стараются Тим Брей и его соратники. Слово «пользователь» происходит от глагола «пользоваться», а это действие, как вы понимаете, не предполагает заглядывания под капот. Вот моя машина, я в неё сел и поехал. Я хочу только одного — чтобы в ней ничего не ломалось и мне было в ней комфортно. Как там внутри у моей машины всё устроено, какие технологические процессы были задействованы, какие уникальные разработки использованы, меня как пользователя не интересует в принципе. Соответственно, и страдания Тима Брея как программиста мне фиолетовы. В конце концов, если программист этим занимается — значит ему либо интересно, либо выгодно.
Что меня как пользователя может не устраивать в клиентских программах в целом и в мобильных в частности? Можно, конечно, повыпендриваться и побрюзжать на «тоталитаризм» iOS, можно возмутиться бесхозной энтропией Android, можно даже изобразить из себя «продвинутого пользователя» и возбухнуть на громоздкую и тормозную Java, однако реальность такова, что пользовательский софт даже в его сегодняшнем виде тысячекратно зашкаливает потребности 99% этих самых пользователей!
Причём зашкаливает по всем параметрам: и по разнообразию, и по качеству исполнения, и по функциональности, и по диапазону цен, и по мере интеграции в экосистему (любую — что iOS, что Android). Пользователи планеты Земля давно уже получили всё, что только могут пожелать в ближайшие 10 лет. И дай-то бог, чтобы они могли освоить одну миллионную часть того, что уже существует в ближайшие 50 лет.
Собственно говоря, сказанного достаточно для того, чтобы сделать «пользовательский» вывод по пророчеству Тима Брея: все эти причитания матерого программиста-философа о беспросветности программирования client-side сублимируют не изъяны языков, API, экосистем и существующей мобильной парадигмы, а изъяны эволюции! В том смысле, что мы давно уже достигли такой стадии развития пользовательского программирования, после которой всякая дальнейшая работа (за исключением косметики) является избыточной.
Я внимательно слежу за всем существующим в мире софтом, написанным и для Windows, и для Mac OS X, и для Android, и для iOS. И слежу уже как 24 года! И вот что я вам скажу: за последние 10 лет не произошло никакого качественного улучшения того, что уже было достигнуто! Менеджеры задач, редакторы, органайзеры, PIM’ы, браузеры, календари, файловые менеджеры, чат-клиенты, видеоклиенты, всё-всё-всё сегодня ничуть не лучше, чем было 10 лет назад (а Skype — так и хуже :-) ). Больше рюшечек, больше свистелок, больше избыточного и бесполезного лжефункционала (и все это за счёт утяжеления кода и усиления жоркости до «железа»), но ничего принципиально нового и интересного. В 2014 году я бы прекрасно мог продуктивно работать и удовлетворять свои чисто пользовательские (не профессиональные) запросы на любой компьютерной системе с тем же софтом, который у меня был в 2004 году.
Следовательно, Тим Брей лукавит. Все его чисто программерские проблемы — это фикция в глазах потребителя. Просто коллегам Тима Брея по гамбургскому счету давно пора менять профессию. Слишком уж много развелось программистов в сфере пользовательского софта, и им просто там нечем заняться. Разве что — взять и с нуля переделать этот жуткий, дикий и уродливый КОМПЬЮТЕРНЫЙ КОСМОС, созданный отцами-основателями до того криво, до того перректально и без малейшей оглядки на будущее, что аукнется ещё не одному поколению.
К оглавлению
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Начало свободного софта
Начало свободного софта Говоря в главе первой об истоках и предпосылках истории FOSS, я упомянул общественные движения Open Source Software и Free Software, однако больше не прибавил о них ни слова. Настало время восполнить это упущение.Под открытым и свободным программным обеспечением,
7 февраля 2014 года — день истины, определивший вектор самосовершенствования Сергей Голубицкий
7 февраля 2014 года — день истины, определивший вектор самосовершенствования Сергей Голубицкий Опубликовано 07 февраля 2014 На сегодня у меня была запланирована бомба, потенциал которой я попытался вложить в название — «Окончательный вердикт по
Почему не будет в России никакого экономического кризиса в 2014 году Сергей Голубицкий
Почему не будет в России никакого экономического кризиса в 2014 году Сергей Голубицкий Опубликовано 09 января 2014 Первый «Битый Пиксель», запланированный ещё в разгар общенародного праздничного безделья, я собирался посвятить самой актуальной и
Что общего между гиперлинком и педофилией (по мотивам дела Барретта Брауна) Сергей Голубицкий
Что общего между гиперлинком и педофилией (по мотивам дела Барретта Брауна) Сергей Голубицкий Опубликовано 11 марта 2014 В начале 2012 года я рассказывал читателям «Бизнес-журнала» («Проект Разгром») о сенсационном взломе серверов компании
Голубятня: Ась? Сергей Голубицкий
Голубятня: Ась? Сергей Голубицкий Опубликовано 12 октября 2010 года Читатели со стажем не дадут соврать: о системах распознания речи (VRS, Voice Recognition Systems) я писал регулярно, начиная с самой первой статьи, опубликованной в бумажной «Компьютерре» аж в 1996
Голубятня: I Am You Сергей Голубицкий
Голубятня: I Am You Сергей Голубицкий Праздник «Холи» возбудил не только гоанцев, но и всю творчески активную тусовку европейского десанта. Надо сказать, что в Гоа постоянно проживает значительное количество музыкантов, художников, поэтов и танцоров, которые работают, не
Голубятня: Что еще? Сергей Голубицкий
Голубятня: Что еще? Сергей Голубицкий Опубликовано 25 июня 2011 года На мартовской презентации айпада Garage Band явился, как говориться, story apart. Не удивительно, что в среде профессиональных музыкантов и композиторов, познакомившихся с уникальными и
Голубятня: Just 5 Сергей Голубицкий
Голубятня: Just 5 Сергей Голубицкий Опубликовано 12 января 2011 года Продолжаем новогодний видео марафон. Сегодня вертим в руках телефоны второго поколения от Just 5. В видео клипе я назвал сотрудников этой удачливой компании «нашими соотечественниками»
Голубятня: Out-of-the-box Сергей Голубицкий
Голубятня: Out-of-the-box Сергей Голубицкий Опубликовано 24 августа 2010 года Концепция out-of-the-box хорошо известна шозистам мира, хотя и не особо принята в нашем айтишном королевстве. Смысл концепции прост: распаковал коробку, достал и сразу же начал
Голубятня: Сергей Комаров Сергей Голубицкий
Голубятня: Сергей Комаров Сергей Голубицкий Опубликовано 15 июля 2010 года Очередной микроюбилей — 200 публикация «Голубятни Онлайн». Вспоминаю бумажные «Голубятню 100», «Голубятню 200», «Голубятню 300», «Голубятню 400»! Надеялся дожить до совсем уж
Голубятня: АК-47 Сергей Голубицкий
Голубятня: АК-47 Сергей Голубицкий Опубликовано 16 июня 2010 года Пауза, вызванная традиционным летним анабазисом на юга, затянулась, поэтому беру стахановские обязательства: до конца месяца выдавать посты в удвоенном ритме! Тем более, что совсем без
Экспорт софта в 2013 году десятикратно обогнал экономику! Михаил Ваннах
Экспорт софта в 2013 году десятикратно обогнал экономику! Михаил Ваннах Опубликовано 27 января 2014 Посмотришь отечественные телеканалы — и складывается печальная картина; впору с искажённым лицом бежать к пруду… Официоз радостно как-тосообщает,
Рождение нового стиля из трагедии персонализации (по мотивам книги Эли Паризера) Сергей Голубицкий
Рождение нового стиля из трагедии персонализации (по мотивам книги Эли Паризера) Сергей Голубицкий Опубликовано 11 октября 2013 Формально свой добровольный исход из «Фейсбука» я объяснил нежеланием предоставлять предприятию Марека Цукерберга
Время пошло!.. Попытка оптимистического прогноза: дело для трех поколений
Время пошло!.. Попытка оптимистического прогноза: дело для трех поколений Автор: Юрий РомановИтак, сто лет. Все случится в 2107 году. Интрига в чём? Успеем или нет? Хватит ли у нас времени и денег[При подсчётах возможных затрат за основу брались суммы военных бюджетов наиболее