Авторизация
 
  • 21:16 – Землетрясение в Индонезии 07 12 2016: последние новости, фото и видео с места трагедии 
  • 21:16 – Метеорит в Хакасии 2016 куда упал: видео падения метеорита 
  • 21:16 – Ксения Бородина расхохоталась из-за слов Валерия Блюменкранца. Видео 
  • 21:16 – Торжественная встреча: фрегат Пакистана прибыл в Новороссийск – фото и видео с места событий 

Будут ли проблемы у пользовательского софта в 2014 году? (по мотивам прогноза Тима Брея)

162.158.78.106

Будут ли проблемы у пользовательского софта  в 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 году.

Следовательно, Тим Брей лукавит. Все его чисто программерские проблемы — это фикция в глазах потребителя. Просто коллегам Тима Брея по гамбургскому счету давно пора менять профессию. Слишком уж много развелось программистов в сфере пользовательского софта и им просто там нечем заняться. Разве что — взять и с нуля переделать этот жуткий, дикий и уродливый КОМПЬЮТЕРНЫЙ КОСМОС, созданный отцами-основателями до того криво, до того перректально и без малейшей оглядки на будущее, что аукнется еще не одному поколению.

Читать больше на www.computerra.ru


КОММЕНТАРИИ:

  • Читаемое
  • Сегодня
  • Комментируют
Мы в соцсетях
  • Twitter