внимание: множественные точки перехода
Это перевод статьи Тима Брея «Multi-Inflection-Point Alert» via Simon Willison
Поздно ночью в мессенджере намного более молодой программист спросил меня: «Чёрт, вокруг столько всего происходит, это всегда так?» Хм, нет, раньше так не было. Но так может быть в будущем.
Насколько я могу судить, мы сейчас одновременно видим несколько точек перехода в языках программирования, и базах данных, и сетевом программировании, и процессорных архитектурах, и веб-разработке, и бизнес-моделях IT, и рабочих средах. Я ничего не пропустил? Но ещё интереснее то, что такой режим множественных точек перехода может продолжаться еще несколько лет.
Языки программирования
До совсем недавнего времени для большого серьезного программного проекта вы бы выбирали Java, или .NET, или, если вы настоящий мазохист, C++. А сегодня будете дураком, если не присмотритесь внимательно к PHP, Python и Ruby. Сколько внимания они будут привлекать в будущем? Я не знаю, но это решение принимается всем сообществом прямо сейчас.
Кстати, по этом теме посмотрите Interview with the TIOBE guy — интересная штука, хотя я не со всем в ней согласен.
Базы данных
CouchDB. SimpleDB. BigTable. Нужно ли ещё что-то говорить?
Нет, я не думаю, что реляционные базы данных скоро исчезнут. Но я думаю, что замкнутость сообщества разработчиков на SQL сильно навредила им за последние пару декад, и я рад, что теперь считется нормальным смотреть на альтернативы.
Оторвут ли нереляционные альтернативы кусочек рынка для себя? Я думаю, что да, но это решение принимается всем сообществом прямо сейчас.
Сетевое программирование
CORBA мертва. DCOM мёртв. WS-* уже надсадно кашляет по пути в могилу. Говорят, REST — правильный путь. И я с этим согласен. Но у него всё ещё мало инструментов, и лучших практик, и накопленной мудрости, и консультантов в синих костюмах, и прочих признаков мейнстримной технологии.
Так как через несколько лет детей будут учить правильному способу создавать приложение в сети, полной разнородных технологий? Это решает всё сообщество прямо сейчас.
Процессоры
Закон Мура всё ещё работает, но процессоры растут вширь, а не становятся быстрее. После того, как лучшие из лучших потратили декаду на создание и отладку потоковых (threading) фреймворков в Java и .NET, всё яснее становится, что это плохая мысль, хватит развивать её. Я сам полностью сменил мою прежнюю про-потоковую позицию после того, как четыре года назад пришёл в Sun.
Мы ещё не выяснили правильный для обычного человека способ программирования для многоядерных процессоров — проверьте неубедительные результаты моего прошлогоднего проекта Wide Finder. (Кстати, у меня теперь есть мой собственный выставленный в интернет T2000, и как только на нём будет достаточно данных, я перезапущу Wide Finder; приходите все).
Я даже не могу повторить здесь мою присказку о правильном ответе, который ищется прямо сейчас, потому что я на самом деле не уверен, что хоть кто-то сейчас понимает, что здесь нужно. Но мы уверены, что сейчас проходим здесь точку перехода.
Веб-разработка
Раньше это были Java EE, или Perl, или ASP.NET. А теперь неожиданно это PHP, и потом Rails и еще куча фреймворков, виднеющихся на горизонте; и месяца не проходит, чтобы я не увидел очередную шумиху о чём-то, «похожем на Rails».
Мне кажется очевидным, что очень скоро появится Rails++, который будет сочетать в себе хорошие идеи из RoR и некоторые другие, очевидные сразу после того, как первый раз увидишь их.
А ещё, что некоторые из этих «рельсоподобных» фреймворков, даже если они не совершают никаких прорывов, все равно найдут свою долю на рынке, потому что сочетают в себе несколько незначительных преимуществ.
Опять-таки, не могу сказать, что это выясняется прямо сейчас, потому что прямо сейчас я вижу однозначную картину стабильно растущего рынка Rails. Но так будет недолго.
Бизнес-модели
На серверах всё просто и понятно. Продавцы в синих костюмах продают сервера техническим директорам порциями по сотне тысяч долларов, их загружают в датацентры, где они требуют слишком много электричества и обслуживания.
Вернее, это если вы хотите самостоятельно возиться с хранилищами, вычислительными мощностями и распределением нагрузки, а не отправить всё это в облако. Хотите? Технические директора и ребята из датацентров разбираются с этим вопросом прямо сейчас.
А что касается софта, раньше он продавался на магнитных носителях, и деньги брались за право использования. Теперь же всё есть в открытых исходниках, и скачиваются они бесплатно, а вы предоставляете платную техподдержку. Хотя нет, это тоже было в прошлом веке, возможно, теперь весь софт окажется где-то там в облаке, и вы даже ничего не будете скачивать, просто платить за использование.
Я лично не думаю, что какая-то из этих моделей полностью исчезнет. Но вот которая работает лучше всего? Рынок решает это прямо сейчас.
Рабочие среды
Как я писал несколько месяцев назад: сколько же времени государственный и частный технический менеджмент будет продолжать игнорировать тот факт, что есть OS X и Ubuntu, что есть даже две альтернативы рабочей среде Windows, которые надёжнее, безопаснее, эффективнее и дешевле? Наверное, сейчас каждый видел мак или линукс у друга или родственника, и думает, почему его компьютер не может быть таким же классным.
Что тут произойдёт? Я не знаю, но это будут кардинальные перемены, когда мы окажемся на точке перехода, а к ней мы приближаемся прямо сейчас.
Всегда ли будет так?
Вы знаете, может быть. Наше владение информационными технологиями всё ещё очень молодо, и множество плодов висят очень низко, и множество широких шагов вперед ждут, пока их сделают. Сейчас, с распространением блогов, и неконференций, и всех этих новых способов общения, наши мыслители постояннно, 24/7/365 общаются друг с другом обо всех этих проблемах. Разрыв между передним краем и действительно используемой в корпорациях технологией всё так же огромен, как и раньше, и мне кажется, что именно благодяря ему происходит непрерывное разрушение. Ковабанга!