Хроники смерти Ruby: Ruby и Elixir (4/6)
Elixir, оттолкнувшись от рубишной базы энтузиастов и заимствовав некоторые элементы внешней эстетики языка Ruby, быстро уходит в свободное плавание. Социально активные рубисты, до которых спустя несколько лет наконец начали доходить слухи о скоропостижной кончине любимого языка, начинают давать восторженные отзывы Elixir-у. Пишутся статьи, переходят разработчики, выступают на Ruby-конференциях с обзором новой модной темы. Через пару лет возвращаются обратно на Ruby.
Elixir и Phoenix занимают свою, пока что ещё не до конца устоявшуюся, нишу в мире веб-разработки. Rails – это "через пять лет вырастем до 100 тыс. пользователей". Elixir – это "уже сейчас 1 млн. запросов в секунду". Это мир Discord-а, Whatsapp-а, некоторых подсистем серверов онлайн-игр и прочих распределённых приложений. Ниша пересекается с классическими веб-приложениями, но не сильно.
Мир Elixir, по ряду причин, очень конгруентен миру Ruby. Elixir в использовании гораздо более сложный, чем Ruby (а Phoenix гораздо менее продуктивный в типовых случаях, чем Rails). Сложность окупается кратным ростом возможной производительности с тем же "железом". Из одной экосистемы в другую постоянно идёт взаимопроникновение идей и технологий. Phoenix списывает, творчески перерабатывая под функциональную парадигму (и постепенно в целом радикально переиначивая на свой лад), основную структуру Rails-приложения. Rails списывает экспериментальную и недоработанную идею LiveView (серверных обновлений клиентских событий) у Phoenix, доводит до ума на свой лад и тут же выпускает в production. Phoenix успевает только глазами хлопать. Короче, милые бранятся – только тешатся.
#programming #ruby
Elixir, оттолкнувшись от рубишной базы энтузиастов и заимствовав некоторые элементы внешней эстетики языка Ruby, быстро уходит в свободное плавание. Социально активные рубисты, до которых спустя несколько лет наконец начали доходить слухи о скоропостижной кончине любимого языка, начинают давать восторженные отзывы Elixir-у. Пишутся статьи, переходят разработчики, выступают на Ruby-конференциях с обзором новой модной темы. Через пару лет возвращаются обратно на Ruby.
Elixir и Phoenix занимают свою, пока что ещё не до конца устоявшуюся, нишу в мире веб-разработки. Rails – это "через пять лет вырастем до 100 тыс. пользователей". Elixir – это "уже сейчас 1 млн. запросов в секунду". Это мир Discord-а, Whatsapp-а, некоторых подсистем серверов онлайн-игр и прочих распределённых приложений. Ниша пересекается с классическими веб-приложениями, но не сильно.
Мир Elixir, по ряду причин, очень конгруентен миру Ruby. Elixir в использовании гораздо более сложный, чем Ruby (а Phoenix гораздо менее продуктивный в типовых случаях, чем Rails). Сложность окупается кратным ростом возможной производительности с тем же "железом". Из одной экосистемы в другую постоянно идёт взаимопроникновение идей и технологий. Phoenix списывает, творчески перерабатывая под функциональную парадигму (и постепенно в целом радикально переиначивая на свой лад), основную структуру Rails-приложения. Rails списывает экспериментальную и недоработанную идею LiveView (серверных обновлений клиентских событий) у Phoenix, доводит до ума на свой лад и тут же выпускает в production. Phoenix успевает только глазами хлопать. Короче, милые бранятся – только тешатся.
#programming #ruby
Хроники смерти Ruby: пик популярности (5/6)
К 2017-2018 годам, через 6 лет после даты смерти (2011) и через 3 года после её публичного объявления (2014), Ruby достигает невиданной популярности. До этой поры будучи в общем-то нишевым языком, "себе на уме", инструментом для сравнительно небольшой группы приверженцев (хоть и постоянно растущей), Ruby/Rails становится абсолютным мейнстримом.
Напомню, что создатель Ruby on Rails, Дэвид Хейнмайер Хэнсон, в своей книге "Getting real" (можно перевести как-то вроде "Становясь реалистичным") писал как владелец небольшой компании другим владельцам (и сотрудникам) небольших компаний: ребята, умерьте аппетиты. Не надо мегаломанских целей типа стать фейсбуком. Поставьте скромную цель. Например, миллион баксов в год. Чистыми.
Не надо стремиться к публикациям в больших журналах, типа Wall Street. Занимайтесь маркетингом в своей нише.
Не надо стремиться купить домен из одного словарного слова. Берите любой подходящий, добавьте "app" если надо. Первый домен для приложения компании: basecamphq.com
Спустя годы, конечно, компания-разработчик Rails покупает домен "basecamp.com".
А уже в наше время купила домен "hey.com" (2020) для своего нового email-сервиса (цена не разглашается; из общих соображений, от сотен тысяч до нескольких миллионов долларов).
Про ряд публикаций в Wall Street и выход книги-бестселлера Rework и не говорю.
В компании Basecamp скромно поясняют, мол, к такому успеху не стремились, но к нему пришли.
Следом за успехом материнской компании, получает свои 15 минут славы и разработанный ей (с участием открытого сообщества) фреймворк.
Зарплата Ruby on Rails разработчика выходит на первую строку таблицы зарплат веб-разработчиков.
Ruby заходит одной ногой в топ-10 популярных языков. В последующие годы рекорд не побит: болтается с 10 по 15 место.
Феноменальный успех для нишевого языка, который не поддерживает ни одна всемирная корпорация, и который находился под постоянным коллективным прессингом со стороны агитаторов всех конкурентов.
И вот с этого момента, наконец, можно считать Ruby состоявшимся языком, который хотя бы в теории может начать умирать. По-моему, плато действительно пройдено. Что же, C++ умирает 25 лет. Java умирает 20 лет. .NET умирает 15 лет. Ну и Ruby ещё покочевряжится немножко, как минимум пока нынешние первокурсники не станут шестидесятилетними старичками и не уйдут на пенсию. Не трудно заметить, что период умирания языка в несколько раз превышает период его бурной молодости, так что ждать придётся долго.
Внезапно став мейнстримом, Ruby, из-за своей специализированности и, в некоторой мере, "сиротства" (ни одна всемирная корпорация не поддерживает язык, в отличие от практически любого другого популярного), занял позиции позади навязываемых организационно-административными мерами C++, Go, PHP, Python и др. в индексе "народной популярности" Stackoverflow (последний стал использоваться в качестве основного демагогического аргумента "бесконечного умирания" Ruby).
Зацените накал полемики: Ruby только-только дорос, по масштабам внедрения и популярности, до целесообразности попытки штурма Топ-10 рейтинга Stackoverflow. А отношение такое, как будто он уже успел влезть на первое место и оттуда скатиться на десятое. Откуда такая паника-то? Спокойней надо относиться, ребята, сдержанней.
Объективно, у Ruby/Rails есть существенный недостаток. Если на C++, Javaили КОБОЛе десять дедушек могут полтора года "строить архитектуру", "внедрять паттерны", "документировать и проектировать", вместо реализации бизнес-задач, то на Ruby два студента-старшекурсника за месяц делают MVP. Дедушке не хочется Ruby, ему хочется спокойной жизни. Дедушка напишет в блог, мол, я сорок лет в индустрии, пережил смерть алгола, кобола, эйпиэля, паскаля, ады и перла. И руби тоже туда отправится. Переживу.
Может быть.
Но рассмотрим второй вариант: дедушку самого отправят на пенсию.
На что ставим?
#programming #ruby
К 2017-2018 годам, через 6 лет после даты смерти (2011) и через 3 года после её публичного объявления (2014), Ruby достигает невиданной популярности. До этой поры будучи в общем-то нишевым языком, "себе на уме", инструментом для сравнительно небольшой группы приверженцев (хоть и постоянно растущей), Ruby/Rails становится абсолютным мейнстримом.
Напомню, что создатель Ruby on Rails, Дэвид Хейнмайер Хэнсон, в своей книге "Getting real" (можно перевести как-то вроде "Становясь реалистичным") писал как владелец небольшой компании другим владельцам (и сотрудникам) небольших компаний: ребята, умерьте аппетиты. Не надо мегаломанских целей типа стать фейсбуком. Поставьте скромную цель. Например, миллион баксов в год. Чистыми.
Не надо стремиться к публикациям в больших журналах, типа Wall Street. Занимайтесь маркетингом в своей нише.
Не надо стремиться купить домен из одного словарного слова. Берите любой подходящий, добавьте "app" если надо. Первый домен для приложения компании: basecamphq.com
Спустя годы, конечно, компания-разработчик Rails покупает домен "basecamp.com".
А уже в наше время купила домен "hey.com" (2020) для своего нового email-сервиса (цена не разглашается; из общих соображений, от сотен тысяч до нескольких миллионов долларов).
Про ряд публикаций в Wall Street и выход книги-бестселлера Rework и не говорю.
В компании Basecamp скромно поясняют, мол, к такому успеху не стремились, но к нему пришли.
Следом за успехом материнской компании, получает свои 15 минут славы и разработанный ей (с участием открытого сообщества) фреймворк.
Зарплата Ruby on Rails разработчика выходит на первую строку таблицы зарплат веб-разработчиков.
Ruby заходит одной ногой в топ-10 популярных языков. В последующие годы рекорд не побит: болтается с 10 по 15 место.
Феноменальный успех для нишевого языка, который не поддерживает ни одна всемирная корпорация, и который находился под постоянным коллективным прессингом со стороны агитаторов всех конкурентов.
И вот с этого момента, наконец, можно считать Ruby состоявшимся языком, который хотя бы в теории может начать умирать. По-моему, плато действительно пройдено. Что же, C++ умирает 25 лет. Java умирает 20 лет. .NET умирает 15 лет. Ну и Ruby ещё покочевряжится немножко, как минимум пока нынешние первокурсники не станут шестидесятилетними старичками и не уйдут на пенсию. Не трудно заметить, что период умирания языка в несколько раз превышает период его бурной молодости, так что ждать придётся долго.
Внезапно став мейнстримом, Ruby, из-за своей специализированности и, в некоторой мере, "сиротства" (ни одна всемирная корпорация не поддерживает язык, в отличие от практически любого другого популярного), занял позиции позади навязываемых организационно-административными мерами C++, Go, PHP, Python и др. в индексе "народной популярности" Stackoverflow (последний стал использоваться в качестве основного демагогического аргумента "бесконечного умирания" Ruby).
Зацените накал полемики: Ruby только-только дорос, по масштабам внедрения и популярности, до целесообразности попытки штурма Топ-10 рейтинга Stackoverflow. А отношение такое, как будто он уже успел влезть на первое место и оттуда скатиться на десятое. Откуда такая паника-то? Спокойней надо относиться, ребята, сдержанней.
Объективно, у Ruby/Rails есть существенный недостаток. Если на C++, Java
Может быть.
Но рассмотрим второй вариант: дедушку самого отправят на пенсию.
На что ставим?
#programming #ruby
Хроники умирания Ruby: 2020 и далее (6/6)
К 2020 году Ruby-сообщество окончательно пришло к выводу, что статус первоклассного языка, который был присвоен Ruby "явочным порядком" и без инициативы самого сообщества, накладывает некоторые обязательства, которые невольно надо пытаться выполнять. В частности, поддерживать градус ответной демагогии на должном уровне.
В прошлом году одна из крупнейших PHP-конференций не состоялась, потому что пару разработчиков-феминисток "выразили озабоченность" в связи с "недостаточным разнообразием [diversity]" спикеров. Организатор конференции, глупо хлопая глазами, оправдывался: "Да я... да вы что... да я же приглашал... да просто не было женщин желающих...". На что ему блюстители дайвёрсити строго, сдерживая справедливое раздражение, бросали: "Лучше искать надо было."
В этом плане у Ruby-сообщества несомненный бонус в виде создателя языка-японца и его коллег. Впрочем, как мы видим на примере Cyberpunk, даже при такой казалось бы железобетонной страховке, всерьёз начать докапываться всё равно могут. Но в ином случае было бы совсем плохо, с другой стороны.
Вообще, первая конференция по Ruby, на которую я пришёл, выглядела так: примерно десять человек в Москве встретились у метро. Списались через тематическую Google-группу. Один из участников заранее договорился со своим институтом (не первой величины), выделили кабинет, допустили на территорию. По очереди несколько человек о чём-то интересном рассказали, пиша мелом на доске. Про RSpec доклад был, про то, про сё. Поболтали душевно.
Одна из недавних конференций выглядела до локдауна вы сами знаете как. Официальные спонсоры. Огромная территория, снятая на несколько дней в пригороде. Тысячи участников. Докладчики первой величины со всего мира.
Попробуйте представить теперь, как я воспринимаю назойливо муссируемую идею о том, что Ruby, оказывается, умирает все эти годы. Моей первой реакцией является просто плюнуть и покрутить пальцем у виска: клинический неадекват. Но вот ради молодёжи (не в смысле возраста, а в смысле причастности к теме), которая не виновата в своей начальной неосведомлённости, решил расписать эту мысль чуть подробней.
Собственно, примерно такая же реакция у пока не до конца сориентировавшихся в "социальной реальности" зарубежных коллег. Пишутся статьи со сдержанным недоумением, мол, ребята, что вы нам сказки-то рассказываете: например, про низкую производительность Ruby/Rails? По сравнению с чем низкая? Уж не хуже, например, чем у Python/Django и PHP/Laravel.
"Не хуже" – это, конечно, вежливая сдержанность взрослого, чтобы не обидеть навязчивых подростков. Следующим бесхитростным ходом в борьбе инженеров с журналистами является такой: "А теперь Ruby стал в три раза быстрей. Третья версия." Мол, ну да, умираем, виноваты-с. Кочевряжимся вот как-то так, простите.
Ответным контр-ходом является вариация на тему "вы всё врёти", а именно мантра следующего сорта: "каждый инструмент подходит под свою задачу, нельзя однобоко смотреть на вещи, инженер должен уметь пользоваться чем дают, программист может изучить язык за две недели" и т.п.
На что инженер будет недоумённо хмуриться: мол, простите, а зачем мне кто-то будет рассказывать, что я должен говорить и даже думать(!), если я могу сам всё попробовать и объективно сравнить?
Сравнительный анализ инструментов для конкретной ниши разработки веб-приложений (в широком смысле) показывает, �
К 2020 году Ruby-сообщество окончательно пришло к выводу, что статус первоклассного языка, который был присвоен Ruby "явочным порядком" и без инициативы самого сообщества, накладывает некоторые обязательства, которые невольно надо пытаться выполнять. В частности, поддерживать градус ответной демагогии на должном уровне.
В прошлом году одна из крупнейших PHP-конференций не состоялась, потому что пару разработчиков-феминисток "выразили озабоченность" в связи с "недостаточным разнообразием [diversity]" спикеров. Организатор конференции, глупо хлопая глазами, оправдывался: "Да я... да вы что... да я же приглашал... да просто не было женщин желающих...". На что ему блюстители дайвёрсити строго, сдерживая справедливое раздражение, бросали: "Лучше искать надо было."
В этом плане у Ruby-сообщества несомненный бонус в виде создателя языка-японца и его коллег. Впрочем, как мы видим на примере Cyberpunk, даже при такой казалось бы железобетонной страховке, всерьёз начать докапываться всё равно могут. Но в ином случае было бы совсем плохо, с другой стороны.
Вообще, первая конференция по Ruby, на которую я пришёл, выглядела так: примерно десять человек в Москве встретились у метро. Списались через тематическую Google-группу. Один из участников заранее договорился со своим институтом (не первой величины), выделили кабинет, допустили на территорию. По очереди несколько человек о чём-то интересном рассказали, пиша мелом на доске. Про RSpec доклад был, про то, про сё. Поболтали душевно.
Одна из недавних конференций выглядела до локдауна вы сами знаете как. Официальные спонсоры. Огромная территория, снятая на несколько дней в пригороде. Тысячи участников. Докладчики первой величины со всего мира.
Попробуйте представить теперь, как я воспринимаю назойливо муссируемую идею о том, что Ruby, оказывается, умирает все эти годы. Моей первой реакцией является просто плюнуть и покрутить пальцем у виска: клинический неадекват. Но вот ради молодёжи (не в смысле возраста, а в смысле причастности к теме), которая не виновата в своей начальной неосведомлённости, решил расписать эту мысль чуть подробней.
Собственно, примерно такая же реакция у пока не до конца сориентировавшихся в "социальной реальности" зарубежных коллег. Пишутся статьи со сдержанным недоумением, мол, ребята, что вы нам сказки-то рассказываете: например, про низкую производительность Ruby/Rails? По сравнению с чем низкая? Уж не хуже, например, чем у Python/Django и PHP/Laravel.
"Не хуже" – это, конечно, вежливая сдержанность взрослого, чтобы не обидеть навязчивых подростков. Следующим бесхитростным ходом в борьбе инженеров с журналистами является такой: "А теперь Ruby стал в три раза быстрей. Третья версия." Мол, ну да, умираем, виноваты-с. Кочевряжимся вот как-то так, простите.
Ответным контр-ходом является вариация на тему "вы всё врёти", а именно мантра следующего сорта: "каждый инструмент подходит под свою задачу, нельзя однобоко смотреть на вещи, инженер должен уметь пользоваться чем дают, программист может изучить язык за две недели" и т.п.
На что инженер будет недоумённо хмуриться: мол, простите, а зачем мне кто-то будет рассказывать, что я должен говорить и даже думать(!), если я могу сам всё попробовать и объективно сравнить?
Сравнительный анализ инструментов для конкретной ниши разработки веб-приложений (в широком смысле) показывает, �