Русский
Русский
English
Статистика
Реклама

Котлин

Анонс зачем программистам психотерапия и как устроен алгоритм подбора идеального терапевта

14.10.2020 12:12:47 | Автор: admin


СЕГОДНЯ, 14 октября, в 20:00 в наших соцсетях выступит главный евангелист mental health в нашей IT-тусовке создатель языка Kotlin и основатель стартапа Alter Андрей Бреслав.



Учитывая, какой большой отклик мы получили от Хабра во время нашего последнего разговора о ментальном здоровье, мы решили раскрыть тему с практической стороны. Андрей расскажет о том, зачем программистам нужна психотерапия, как найти своего терапевта и как создавался сервис.

Кроме того, он ответит на ваши вопросы: вы можете задать любой вопрос о ментальном здоровье, психотерапии и работе в IT-командах анонимно через эту форму или нажав на кнопку.



О чем расскажет Андрей, кроме ответов на вопросы


  • Как ты пришел к идее сервиса? Почему из огромного беклога задач ты решил делать именно Alter?
  • Что такое супервизия?
  • Главные объективные параметры, по которым надо подбирать психотерапевта, которому можно доверять? (образование, личная терапия, супервизия)
  • Что значит безопасная психотерапия? Может ли психотерапевт навредить? Как?
  • Тревожные звоночки во время сеанса: как понять, что вы попали к вредителю?
  • Как писалась платформа для Alter, какие сейчас есть важные задачи по улучшению
  • Нужна ли психотерапия здоровым людям? В каких случаях?
  • Рядовому программисту желательно ходить на психотерапию? Может ли это как-то помочь в работе? А тимлиду?
  • Как вы проверяете психотерапевтов на пригодность и на безопасность?
  • Вы создали тест на качество психотерапевта совместно с Психологическим институтом РАО. Как это происходило? Как вы поняли, что тест достаточно хорош?
  • Как работает алгоритм самого Alter?
  • Есть ли недовольные клиенты? Что им обычно не нравится?
  • Как вы привлекаете психотерапевтов? Не сказывется ли на качестве специалистов то, что все сильные профессионалы и так загружены заказами и маркетплесы нужны в основном новичкам, которые еще не смогли или так и не смогли наработать свою базу клиентов?
  • Как понять, что тебе не подходит? Школа или сам психотерапевт?
  • Как вам удается соперничать с главным конкурентом сарафанным радио?
  • Есть ли у вас открытые вакансии в Alter?


Как не пропустить эфир?



Выбирайте платформу, которая вам нравится



Нажмите кнопку Напомнить. Так как ютуб самая популярная платформа среди наших эфиров, вставляем трансляцию.



До встречи в эфире!

Подробнее..

Зачем программистам психотерапия и как устроен алгоритм подбора идеального терапевта

24.10.2020 12:06:33 | Автор: admin
Четырнадцатого октября прошёл прямой эфир с главным евангелистом mental health в нашей IT-тусовке создатель языка Kotlin и основатель стартапа Alter Андреем Бреславом.
Делимся с вами расшифровкой и записью интервью



Привет, я Андрей Бреслав, очень рад всех видеть виртуально.

Андрей один из родителей языка Котлин. Кроме того, Андрей активно занимается просветительской деятельностью. Я бы его назвала евангелистом ментального здоровья. Андрей много про это рассказывает в личных разговорах, и это было крайне полезно лично для меня, я ему очень благодарна. Он создал сервис Альтер для поиска подходящего психотерапевта, поэтому мы попросили его сегодня рассказать про психотерапию: насколько это нужно в целом, и программистам в частности. Также Андрей расскажет про то, как работает сервис, и ответит на вопросы.
Я предлагаю для начала рассмотреть анонимные вопросы с Хабра.



Q: профилактика и предупреждение таблетками Пирацетам, Семакс стоит это делать?


Я не врач; думаю, что любая профилактика с применением медикаментам должна проходить под наблюдением врача или специалиста по высшей нервной деятельности, который хорошо понимает не только то, какие бывают таблетки, но и то, какое действие они на вас оказывают и являются ли профилактикой или чем-то другим. Можно разобрать какое-то количество препаратов, принимаемых по общим соображениям без контроля специалиста; это может быть безопасно, но малоэффективно.

Q: как найти работу, которая тебе интересна, когда у тебя есть СДВГ недостаток планирования, наркоманская зависимость от новизны, потребность большей, интенсивной новизны? Над поисками себя я уже нервно смеюсь, потому что знаю себя любимого вдоль и поперек. Перепробовала многое, сливаюсь с проектов через полгода ввиду смертельной скуки и потери смысла.


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

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

А что это за проекты, которые можно сделать за полгода? Мне тоже трудно заканчивать вещи, и я часто бросаю на полпути, и для меня единственный выход ломать себя об колено и продолжать работать в выбранном направлении.


Совершенно определенно, что у людей, которые занимаются разного рода фрилансом, многие проекты недлинные. Если человек занимался бы фрилансом и вел длинные проекты, то он вел бы 2-3 проекта большую часть жизни. Так не происходит, проекты намного короче. Еще в разного рода агентствах бывает много коротких проектов. Это зависит от специальности; даже если человек программист, у него в разных сферах может быть разная специфика. Во всяком аутсорсе можно переходить с проекта на проект, и, если научиться быстро адаптироваться это будет суперспособность. Особенно, если достаточно смелости и задора для пробивания стен например, если есть сложная область, в которой либо очень запущенная сфера, либо все боятся подступиться к новому и неизвестному. Это бывает отличное место для того, чтобы сдвинуть поезд с места, полгода поработать, передать и идти дальше. Можно быть невероятно ценным человеком, который умеет все стартовать. Очень крутая функция. Такие люди нужны.

Q: расскажите про Альтер, про сервис, про то, как появилась идея сервиса; почему выбрали именно Альтер из бэклога идей?


Что такое Альтер? Это сервис, который осуществляет навигацию в мире психотерапии. Мы вкладываем много сил и внимания в поиск хороших психотерапевтов, в чьей компетенции мы были бы уверены, и собираем их на одной платформе. То есть, мы потратили существенное время и наукоемкие ресурсы, поговорили со специалистами, которые изучают научную психотерапию, и вместе с ними выработали методику отбора психотерапевтов. Уже очень многих провели через эту методику: сейчас на нашей платформе более 400 зарегистрированных психотерапевтов это менее 30% из тех, кто проходил отбор. Сейчас доля успешно проходящих отбор снижается: видимо, многих крутых терапевтов мы уже нашли.

То есть, у нас на платформе есть четыре сотни тщательно отобранных терапевтов, которых мы по-разному проверили и которые соответствуют высоким стандартам. Вы приходите к нам на сайт, заполняете анкету, и мы помогаем вам выбрать специалиста из нашей базы для работы с вашим запросом. То есть, по анкете мы стараемся сформулировать, к какой области относится запрос (крутого ИИ у нас пока нет, но со временем, может быть, будет): разные терапевты работают с разными вещами. Мы предлагаем вам на выбор 5 человек. Если 5 мало можно посмотреть каталог и выбрать кого угодно. На сайте можно записаться на сессию, оплатить, а дальше вы приходите в кабинет, либо созваниваетесь с терапевтом напрямую. Так или иначе, вы сможете проходить терапию, через нас дальше записываться и оплачивать. Все достаточно хорошо автоматизировано и удобно.

Вот такая конструкция. То есть, мы помогаем людям найти терапевта, гарантируем то, что он профессиональный, и сопровождаем в процессе терапии. Мы также отслеживаем ваш прогресс, качество терапии, помогаем порефлексировать, как терапия идет, все ли хорошо; будем еще вкладываться в это, со временем.

А как это работает? Как можно понять, насколько эффективна терапия? Есть это ощущение, когда выходишь от терапевта все, теперь во всем разобрались, все хорошо но оно проходит.


Во-первых, это ощущение есть не у всех. И если его нет, то уже надо задуматься; может быть, это нормально, может нет. Как минимум, стоит регулярно задумываться о том, как идет терапия: где я был месяц назад, где я сейчас; это полезная практика, в любом случае. Есть еще различные опросники, другие психометрические способы отслеживания своего состояния. Мы их будем постепенно внедрять, а пока мы просто спрашиваем каждого клиента. Даем возможность сказать, если что-то идет не так, что-то не нравится, где-то буксование. Постепенно будем улучшаться в этом направлении.

Q: Часто произносится слово супервизия, когда говорят про безопасность психотерапии. Расскажи, что такое супервизия.


Это когда психотерапевт приходит к другому, специально подготовленному психотерапевту-супервизору, и анонимизированно обсуждает свои случаи работы с клиентами. Получает обратную связь, улучшается. То есть, супервизор единственный человек, с которым терапевт может обсуждать свою конфиденциальную работу. Хорошие терапевты проходят супервизию постоянно, это одно из условий работы на Альтере; это не значит, что на каждую сессию терапии приходится сессия супервизии, но для улучшения психотерапевтической практики она необходима. Это действительно очень важно для безопасности терапии; для того, чтобы психотерапевт не терял связь с реальностью. Мы видим некоторых публичных, так сказать, психотерапевтов, которые ушли куда-то в сторону комплекса Бога и считают, что только они умеют все делать правильно. Супервизия помогает избежать этого, давая взгляд со стороны.
Кроме этого, существует интервизия: встреча нескольких терапевтов в равных позициях с обсуждением анонимизированных случаев. Это более бюджетный вариант супервизии; работа супервизора, конечно, оплачивается самим терапевтом.

Q: Расскажи про безопасную психотерапию и про то, как терапевт может навредить.


Это очень широкая тема. Тут, скорее, важно сказать о том, какие есть деструктивные вещи. Одна из них это любого рода двойные отношения. Существенный аспект психотерапии это так называемые терапевтические отношения; идея в том, что клиент и терапевт взаимодействуют друг с другом только по вопросам терапии, у них нет никаких интересов к жизни друг друга за ее пределами. Это очень важно. Это значит, что не страшно обидеть терапевта, что у него нет скрытых интересов или неосознанных мотиваций. Можно представить дичайший случай; например, что ваш терапевт это ваша мама. Она очень заинтересована в том, какой будет результат терапии; она физически не может действовать в интересах клиента, у неё сильный собственный интерес, который замещает ваш интерес.

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

Соответственно, любые отношения между клиентом и терапевтом вне терапии находятся под запретом. По этой же причине к одному и тому же терапевту не ходят близкие люди. Если терапевт узнает, что к нему независимо попали (или пытаются попасть) близкие друг другу люди это проблема: ему для продолжения терапии придется переключаться между точками зрения или сторонами разных людей, это слишком сложно.

А это разве не помогает эффективнее работать? Больше точек зрения больше информации о ситуации, можно во всем разобраться.


Дело в том, что терапевту нужна, в первую очередь, не информация. Терапия не работает за счет того, что терапевт все понимает в деталях про вашу жизнь; работаете на терапии вы сами. Позиция терапевта в том, что он находится на вашей стороне, это очень важно. У него не может быть своего мнения о том, хорошо или плохо вы сделали, правду или неправду вы говорите. Его задача относиться к вам безоценочно, с безусловным принятием. Любая посторонняя информация о вас, которую он узнает, усложняет это дело. Поэтому терапевты не добавляют клиентов в друзья в соцсетях, или вообще не ведут соцсетей, или закрывают свои страницы чтобы избегать двойных отношений. Всегда, когда терапевт узнает о вас то, что вы не собирались ему говорить, это усложняет ему работу.

Q: Что сохраняет тайну клиента? То есть, допустим, ты пришел к психотерапевту, что-то ему рассказал. А он пошел, рассказал своим друзьям. Или позвонил твоей маме и тоже рассказал, потому что это подруга твоей мамы. У меня был именно такой опыт в 10 классе: мама мне сказала вот, у меня есть подружка, офигенный психотерапевт. А потом, после сессии, оказалось, что она все рассказала маме. То есть, я уже тогда понимала, что так нельзя делать, но что в таком случае все-таки делать? Если ты подозреваешь, что твой психотерапевт куда-то что-то сообщает, что можно с ним за это сделать?


Нет никаких государственных контролирующих органов, которые что-то могли бы сделать. Если терапевт состоит в какой-либо терапевтической ассоциации или работает на Альтере, можно подать жалобу в этическую комиссию. Мы сотрудничаем с одной такой комиссией, другие организация с другими; так или иначе, она может вынести какое-либо решение. В рамках сервиса мы способны применять определенные санкции к этому специалисту, комиссия тоже способна применять санкции. В рамках государственного регулирования этот вопрос не решается, но сообщество старается обеспечивать личную тайну клиентов. На Альтере серьезное нарушение личной тайны однозначный бан.

Q: Очень кратко: как это доказывается?


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

Q: Расскажи про тревожные звоночки во время сеанса или переписки до него, которые сигнализируют о том, что ты попал к непрофессиональному терапевту, который не будет соблюдать этику или может навредить. Куда нужно смотреть?


Это достаточно сложно. Клиенту без специальной подготовки будет сложновато отличить. Я разговаривал неформально со своими знакомыми; только из того, что человек говорит, сложно понять, нормальный терапевт или нет. Если сомневаетесь, можно просто спросить нас мы ответим.

Из того, что можно заметить в процессе терапии? Естественно, если терапевт вас оскорбляет, или пристает с какими-то сексуальными действиями, или применяет какое-то насилие все это полная катастрофа, так не должно быть ни с какой точки зрения. Дальше есть такие вопросы, которые в разных школах по-разному трактуются, но, в основном, терапевты не дают советов. Хороший терапевт не скажет вам, как поступать. Конечно, если вы сами попросили совета, тут может быть сложнее, но если вы в явном виде не просили он не должен его давать. Опять же, надо помнить, как вы договаривались; если вы начали беседу с того, что вам нужен совет, и через 20 минут вам дали совет, это может быть нормально.

Другая важная вещь реакция на обратную связь. Это не точный определитель; в принципе, хорошим тоном считается запрашивать обратную связь в конце сессии явно: как прошла сессия, было ли вам комфортно, надо ли что-то улучшить. И, в любом случае запрашивал он связь или нет если вы даете обратную связь, вы можете судить по реакции. Если он на нее не реагирует это проблема. Если он как-то реагирует, но ничего не меняется это можно интерпретировать по-разному; это не обязательно значит, что он непрофессионален, но тогда вы должны для себя решить, нужна ли вам терапия в таком виде, или нет.

Q: Нужна ли психотерапия здоровым людям без установленных психиатрических диагнозов?


Допустим, у вас нет диагностированных расстройств. Нужна ли вам терапия? Ответ да, если вы хотите что-то изменить в своей жизни. Допустим, если вас не устраивает ваше фоновое настроение; если вам часто бывает грустно это не значит, что у вас клиническая депрессия, но психотерапия может с этим помочь. Или в случае, когда вы видите, что попадаете в повторяющиеся ситуации, которые вас не устраивают. Допустим, у вас последние 6 лет повторялась одна и та же история по работе, в разных местах, с разными людьми и вы не хотите, чтобы она повторилась снова. Или та же ситуация, но в семье. Или какая-то реакция, которую вы хотите поменять. Или вы просто хотите разобраться в себе и определить, чем хотите дальше заниматься в жизни. Или прояснить что-то. Или вы плохо умеете отдыхать, хотите научиться отдыхать лучше. Примеров можно придумать еще много, и все это нормальные поводы обратиться к психотерапевту и поработать над конкретным вопросом. Вы можете просто чувствовать, что что-то не так, и это тоже нормальный повод пойти к терапевту чтобы он помог разобраться в том, что именно не так. Это важно. Если из этого получится запрос на психотерапию вы продолжите дальше работать с терапевтом.

Q: Замечал ли ты, что с программистами и другими членами команды, которые занимаются психотерапией, работать, выстраивать отношения и доводить проекты до конца гораздо проще? Или гораздо сложнее. То есть, существует ли корреляция? И, если ты хочешь продвигаться в карьере по работе, следует ли (надо ли, обязательно ли) ходить на психотерапию?


Мне кажется, что тут два или три разных вопроса.

Во-первых, замечал ли я. Я про многих своих коллег не знаю, ходят ли они на терапию или не ходят этим не все любят делиться. А из тех, про кого знаю, кто-то пошел к терапевту по не связанному с работой поводу, а кто-то по связанному.

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

Отдельно рекомендую психотерапию менеджерам. Я про IT знаю лучше, чем про другие области, но если вы работаете с людьми, даже если работаете очень хорошо, прекрасно всех понимаете, очень эмпатичны и вообще все хорошо, психотерапия способна помочь вам. Во-первых, всегда есть пространство для развития. Во-вторых, что очень важно, менеджер человек, много отдающий. У него может быть нарушен баланс в этом смысле, можно поучиться его улучшать чтобы не только отдавать, но и получать. У вас могут быть слепые зоны, где вы чувствуете, что силы тратятся непонятно куда. Менеджер это человек, очень сильно нагруженный в межчеловеческом поле: коммуникациях, эмоциональных взаимодействиях. И таким людям развиваться в этой сфере очень полезно.

Можно разбирать рабочие ситуации, можно просто уделять внимание себе. У менеджера очень велик соблазн уделять внимание другим, но в психотерапии надо уделять внимание именно себе, это такое место. Опять же, у каждого свое; можно просто развивать рефлексию это хорошо, с плохо рефлексирующим менеджером тяжело работать. Все начинается с себя, мы других людей понимаем через себя. Вся эмпатия начинается в эмпатии к себе: я про себя либо знаю, либо могу представить какие-либо вещи. Естественно, все люди разные, и я не могу переживать все, что переживают другие люди, но я могу представить. И через это происходит эмпатия к другим людям, сопереживание. И, чем лучше вы способны понимать, чувствовать себя, соприкасаться со своими эмоциями что нравится, не нравится, как вы устали, как здорово поработали, что угодно тем лучше вы будете понимать других, тем проще будет эмпатийно вести себя. Эмпатийное поведение это ответ на огромное количество вопросов коммуникации.

Q: Как вы проверяете психотерапевтов на профпригодность?


Подробно по памяти я не вспомню; можно зайти к нам на сайт, там есть описание отбора. По сути: во-первых, мы смотрим на документы об образовании, смотрим подтверждение того, что человек ходит на супервизию, ходил на личную терапию; даем большой опросник по всевозможным знаниям и навыкам терапии, по которым можно сделать приблизительную оценку. Часть терапевтов идет на интервью со специалистами, которые умеют разбирать в диалоге кейсы и оценивать уровень профессионализма.

Q: Насчет алгоритма Альтера. Я знаю, что, если я хочу попасть на психотерапию, ничего не зная и не понимая, то я смогу прийти к вам, пройти тест, мне подскажут нужную школу терапии и доступных конкретных специалистов. Мне интересно как это работает?


У нас есть научные данные о том, какие школы в каких случаях лучше работают и, соответственно, у каких из наших специалистов какие специализации. Мы по вашим ответам в анкете умеем определять, какие специализации для вас релевантны. И дальше мы делаем так, чтобы вам достались те специалисты, которые будут работать с вашим запросом лучше всего. Вот так все и работает. Более подробно рассказывать не буду это наше ноу-хау.

Q: У вас на сайте только психологи, или есть психотерапевты?


Объясню вкратце. Человек, который называется психотерапевтом, не всегда имеет медицинское образование и подготовку по психотерапии. У нас на сайте работают только люди, которые получили такую подготовку. Часть из них имеет медицинское образование, часть нет; для каждого из них на сайте полностью приведена квалификация. Тех, кто не получил медицинское образование, принято называть психологами, а тех, кто получил психотерапевтами, и у нас есть и те, и другие, и все они умеют проводить психотерапию.

Q: Часто ли добавляются новые специалисты?


Часто, по нескольку десятков каждый месяц. Это только те, кто успешно проходит отбор то есть, поток постоянный.

Q: Что, если алгоритм показывает, что мне подходит только три психотерапевта?


Случается, что запрос у клиента такой, на который в нашей базе есть только три специалиста. Так бывает. Или может быть так, что все остальные специалисты полностью загружены, и принимать новых клиентов могут только трое. Или из-за того, что многие ушли в отпуск (например, в августе). Но, по нашей статистике, очень небольшой процент людей получает менее 5 вариантов.

Q: Сколько надо выбирать психотерапевта? Допустим, надо попробовать 3-4-5 специалистов сколько это занимает времени и специалистов, в среднем?


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

А как понять, что школа или терапевт не подходят?


Про школу надо просто почитать, разобраться и понять, работает или нет. А насчет терапевта у меня есть простой способ: я рассказываю терапевту, что мне не нравится, и слушаю, что он мне скажет в ответ. Это очень хорошо помогает: либо снять проблему (специалист будет по-другому работать), либо определить, что вы не сможете работать эффективно с ним.

Q: Есть ли отзывы и рейтинг?


Хороший вопрос. Отзывов на работу конкретных терапевтов у нас нет, есть только отзывы на работу Альтера. Спрашивать у клиента отзывы на работу терапевта это неэтично. Если терапевт заинтересован в том, чтобы вы оставили хороший отзыв, то это влияет на его работу, поэтому не надо соблазнять терапевтов такими вещами.

Q: На Альтере только проверенные методики? В чем риск новых школ и направлений терапии?


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

Конечно, есть кто-то не озаботился проверкой того, работает ли определенный метод или нет, это другое дело; но это просто подозрительно такие люди почему-то считают, что они все правильно делают, не имея на то основания. То есть, у них есть впечатление того, что после терапии клиентам становится лучше, и они считают, что этого достаточно видимо, думая, что они полностью объективны и не способны ошибаться. Я бы к такому человек не пошел.

Q: Вы сами следите за эффективностью работы специалистов? Если кто-то никому не нравится, то его выгонят?


Мы следим. Не было такого, чтобы мы выгнали человека, потому что он никому не нравился, но несколько раз мы замечали реальные сложности. Например, у нескольких терапевтов были проблемы с проведением первой сессии по видеосвязи. Мы провели с ними обучающий курс по тому, как делать первые сессии, вроде бы стало лучше (хотя еще не все измерено, надежда тут есть). Есть еще какое-то количество видов случаев, в которых мы решаем, что терапевта надо чему-то обучить. Чтоб терапевт прямо никому не нравился с таким мы ни разу не сталкивались. Но были случаи, когда человек делал что-то плохое, и его выгоняли за это. Когда терапевтов много, единичные случаи попадаются.

Q: Как вы привлекаете психотерапевтов? У нас привыкли искать терапевта по сарафанному радио: когда хочешь найти кого-то, кому можно доверять, ты спрашиваешь у своих друзей и у их друзей, и в итоге попадаешь к незнакомому человеку но люди этому доверяют. И, если специалист действительно хороший, то он, вероятно, загружен заказами и все время у него уже расписано. И не происходит ли так, что к вам приходят терапевты, которым не хватает клиентов?


Важное замечание: если терапевт хороший, то у него все-таки не все время расписано, потому что клиенты со временем получают результаты и заканчивают терапию. Это должно происходить регулярно. Если никто не завершает терапию, то что-то здесь не так.
Надо признать, что в некоторых случаях человеку требуется постоянное сопровождение в течение нескольких лет. Это особенность некоторых специализаций например, работа с людьми, которые ухаживают за паллиативными больными. Если человек болеет годами, и это никогда не кончится, то тому, кто ухаживает, может быть нужна постоянная поддержка. Хотя и тогда в некоторых случаях хватает конечного количества сессий. В любом случае, клиентов для такой особенной специализации не так много, и обычно терапевты регулярно расстаются с клиентами, закончив терапию.

То есть, у хорошего психотерапевта есть определенная цикличность?


Да. Но это тоже зависит от специализации и метода. В классическом психоанализе все очень долго проходят терапию, в других школах есть краткосрочные методы терапии за 10-15-20 сессий. Причем эти школы не лучше одна другой, они работают на разные вещи.
Получается ли так, что к нам приходят терапевты, которым не хватает клиентов? Скажем так: те, к кому уже стоит очередь пришедших по сарафанному радио, к нам приходят редко. Они у нас есть, конечно; они все время перегружены, как-то управляют своим календарем в ручном режиме. Но, в то же время, есть множество хороших терапевтов, которые постоянно ищут клиентов. Это нормально.

Q: Как писалась платформа, какие задачи решались в первую очередь?


Альтер это стартап. Относительно молодой, начинался он достаточно медленно все были парттайм. Платформа писалась на коленке (правой). Сейчас она написана на Django, а фронтенд на ReactJS. Мы довольно долго просуществовали в таком состоянии, когда в платформу было вложено 3 месяца работы одного моего знакомого он написал первую версию. Я ее поддерживал длительное время в одиночку, потом кого-то привлек помогать, потом на фуллтайм. Сейчас я, наконец, перестал быть руководителем команды разработки: мы нашли лида. Команда теперь будет расти, потому что скорость развития продукта сейчас ограничивается скоростью разработки, и ее важно ускорить. У нас на днях один человек выходит, мы будем искать еще людей на бэкенд, фулстек, фронтенд, чтобы развивать продукт. Видно, что мы можем сделать много чего лучше, но нужно больше рук. Будем развивать команду.

Q: Когда Альтер перестанет считаться стартапом?


Наверно, когда мы перестанем думать об инвестициях. Мне кажется, из всех определений стартапа разумно использовать определение стартапа как команды, которая собирается расти в 10 раз (а потом, возможно, еще в 10 раз). Наша команда собирается так расти, и мы думаем привлекать инвестиции для этого. Раз в 4-5 мы вырастем сами; мы уже в плюсе, нет необходимости найти деньги завтра, чтобы они не кончились. Мы уже в прибыли, но вся прибыль вкладывается в рост команды. Для быстрого рывка вперед понадобятся инвестиции.

Q: В среднем, сколько обычно длится курс по одному обращению на портале?


Я не уверен. Среднее количество сессий на клиента с учетом всех клиентов около 5, но эта цифра бесполезна; правильнее учитывать только тех клиентов, у которых было более двух сессий. По ним должно быть около 7, если я правильно помню. Эта цифра уже ближе к реальности; хотя я знаю, что у нас есть и такие клиенты, которые ходили 100 раз (буквально). Есть люди, которые ходят на 10, 12, 7, 5 сессий. По-разному.

Как ты думаешь, за эти 10 сессий они решают проблему?


-Мы знаем отзывы тех клиентов, которые решили проблему. Некоторые клиенты ничего не сказали. Конкретно не могу сказать не знаю сам, это конфиденциальная информация. Но мне кажется, что, в целом, репутация сервиса позитивная. Люди рекомендуют нас знакомым, и это хороший знак. Многим сервис пригодился.

Q: Кого вы хайрите?


Сейчас программистов. Недавно наняли руководителя маркетинга, руководителя B2B-направлений. Работаем с компаниями, помогаем им с внутренней организацией психотерапии, проводим семинары и лекции про психическое здоровье это относительно новое направление, мы недавно начали развивать его. Сейчас еще нанимали агентов поддержки у нас есть круглосуточная техническая поддержка для клиентов сервиса. В маркетинге тоже серьезный рост нам нужно поднять его на новый уровень; у нас довольно хороший сервис, но про него еще не все знают.

Q: Если вам требуются разработчики на Django куда написать по поводу сотрудничества?


Можно мне в Telegram. Abreslav.
-Или мне на Хабре, я вас свяжу. Андрей, если вы не против, я напишу все ваши вакансии с расшифровкой.
-Хорошо, я могу точно сказать, какие вакансии открыты.

Мы уже больше 3 лет делаем Альтер. Это начиналось как некая безумная идея было непонятно, как я буду делать какой-то бизнес, работать с людьми. А сейчас ощущения полностью другие. Я уверен в том, что мы делаем полезное дело, есть много свидетельств тому, что мы помогаем людям. Приходит по тысяче клиентов в месяц, мы проводим по пять тысяч сессий в месяц, и понятно, что это полезно. Это очень круто. Ясно, что мы еще много всего улучшим; нет такого ощущения, будто мы все закончили и можно прекратить работу, раз система действует. Мы сделаем очень много чего лучше ради этого мы улучшаем команду и улучшаемся сами. В этом смысле все очень оптимистично. Я рад, что мой первый опыт попытки что-то сделать в гуманитарной сфере и начать новый бизнес идет так позитивно. Я счастлив, что мы встретились с Олей Китаиной сооснователем Alter, и с остальными ребятами, которые с нами работают.



Что было ранее


  1. Илона Папава, Senior Software Engineer в Facebook как попасть на стажировку, получить оффер и все о работе в компании
  2. Борис Янгель, ML-инженер Яндекса как не пополнить ряды стремных специалистов, если ты Data Scientist
  3. Александр Калошин, СEO LastBackend как запустить стартап, выйти на рынок Китая и получить 15 млн инвестиций.
  4. Наталья Теплухина, Vue.js core team member, GoogleDevExpret как пройти собеседование в GitLab, попасть в команду разработчиков Vue и стать Staff-engineer.
  5. Ашот Оганесян, основатель и технический директор компании DeviceLock кто ворует и зарабатывает на ваших персональных данных.
  6. Сания Галимова, маркетолог RUVDS как жить и работать с психиатрическим диагнозом. Часть 1. Часть 2.
  7. Илья Кашлаков, руководитель фронтенд-отдела Яндекс.Денег как стать тимлидом фронтендеров и как жить после этого.
  8. Влада Рау, Senior Digital Analyst в McKinsey Digital Labs как попасть на стажировку в Google, уйти в консалтинг и переехать в Лондон.
  9. Ричард Левелорд Грей, создатель игр Duke Nukem 3D, SiN, Blood про личную жизнь, любимые игры и о Москве.
  10. Вячеслав Дреер, гейм-дизайнер и продюсер игр с 12-летним стажем про игры, их жизненный цикл и монетизацию
  11. Андрей, технический директор GameAcademy как видеоигры помогают прокачивать реальные навыки и найти работу мечты.
  12. Александр Высоцкий, ведущий PHP-разработчик Badoo как создаются Highload проекты на PHP в Badoo.
  13. Андрей Евсюков, заместитель CTO в Delivery Club про найм 50 синьоров за 43 дня и о том, как оптимизировать фреймворк найма
  14. Джон Ромеро, создатель игр Doom, Quake и Wolfenstein 3D байки о том, как создавался DOOM
  15. Паша Жовнер, создатель тамагочи для хакеров Flipper Zero о своем проекте и другой деятельности
  16. Татьяна Ландо, лингвист-аналитик в Google как научить Google-ассистента человеческому поведению
  17. Путь от джуна до исполнительного директора в Сбербанке. Интервью с Алексеем Левановым
  18. Как Data Science продает вам рекламу? Интервью с инженером Unity
  19. Как я переехал в Лондон c Revolut
  20. Завтрак с легендарным геймдизайнером Американом МакГи: о новой Алисе, России и депрессии
  21. Как организовать IT-конференцию и не сойти с ума




Подробнее..

Функциональный Kotlin. Во имя добра, радуги и всего такого

30.01.2021 00:09:39 | Автор: admin

Введение

Сам по себе Kotlin очень мощный инструмент, но многие часто используют его не на полную мощность, превращая его в какую-то... Java 6. Попробую рассказать почему так делать не надо и как использовать функциональные фичи языка на полную.

Функции высшего порядка

Начну с них. И, заодно, расскажу что это вообще такое: когда функция принимает другую функцию как параметр или возвращает ее - это функция высшего порядка. Просто, не правда ли? Но как этим пользоваться?

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

val foo: () -> Unit = {  }

Тогда, мы сможем передать ее, используя синтаксис вида:

run(foo)

Отлично, но что если мы хотим использовать функцию, которую мы определили нормальным способом? Или вообще передать метод? Что-ж, для этого тоже есть возможность - ссылка на функцию. Вот так мы можем проверить строку на пустоту:

str.run(String::isEmpty)

Перейдем к более конкретному кейсу. Допустим, нам нужно распарсить строки определенным образом, но только в одном месте в программе. Очевидно, что логика будет повторяться. Что делать? Создадим для этого отдельный объект с одним методом? Или пропишем для каждого "ручками" прямо на месте?

Нет, копить технический долг ни к чему, лучше мы сделаем, например, что-то такое:

val parse: (String) -> List<Int> = { it.split(":").map(String::toInt) }val (xMin, yMin) = parse(data["from"])val (xMax, yMax) = parse(data["to"])

Функции области видимости

Теперь, когда мы разобрались с ФВП, перейдем к вещам, которыми, скорее всего, пользовались все. let,run,with,apply, иalso. Знакомые слова? Надеюсь, но все же разберем их.

inline fun <T, R> T.let(block: (T) -> R): Rinline fun <T> T.also(block: (T) -> Unit): T

Сначала let и also. Они наиболее просты и понятны, потому что все что они делают внутри - это вызов block(this) . По сути, мы просто делаем вызов определенной нами "на месте" функции. Разница лишь в том, что они возвращают. also используется когда вы хотите продолжить работу с тем же объектом, у которого решили вызвать функцию и let, если вам нужно вернуть новый объект.

inline fun <R> run(block: () -> R): Rinline fun <T, R> T.run(block: T.() -> R): Rinline fun <T, R> with(receiver: T, block: T.() -> R): Rinline fun <T> T.apply(block: T.() -> Unit): T

Теперь к run, with и apply:
run очень похож на let, apply на also, а with это почти то же самое что и run, просто receiver получаем разными способами. Чем они удобны и зачем нужны, если есть let и also? Все просто, тут вместо it используется this, который вообще можно опустить и не писать.

И как же эффективно использовать все эти функции? Мы можем и в большинстве случаев даже должны писать все наши функции полностью в функциях областей видимости.

Так мы получим гарантии, что наши промежуточные значения живут ровно столько, сколько нужно, а код становится проще читать, поскольку все преобразования исходных данных теперь вытекают друг из друга, позволяя нам иметь в каждой подзадаче ровно столько информации, сколько нам надо для ее решения. Функциональная "изоляция" позволит в том числе упростить чтение и тестирование своего кода.

Вы же заметили слово inline в объявлении? А оно, кстати, очень важно. К сожалению, использование функций высшего порядка влечёт за собой снижение производительности, так как функция является объектом и происходит захват контекста замыканием, то есть функции становятся доступны переменные, объявленные вне её тела.

Разумное применение встроенных функций позволяет решить эту проблему. Но делать блоки встроенных функций слишком большими все равно не стоит.

Классы и Объекты

Все мы уже должны были понять, что плодить иерархии и создавать экземпляры классов там, где никакого специфического поведения у отдельных экземпляров нет - дурацкая идея (хотя есть и исключения)?

Это лишний раз усложняет структуру и мешает нам писать код из цепочек функций, потому что нам нужно сначала создать бесполезный экземпляр, и только потом мы сможем воспользоваться его функционалом в блоке области видимости:

let {  val some = Some()  it.run(some::doSome)}

Использование объекта позволило бы нам сделать наш код проще:

let(Some::doSome)

Как хорошо, когда нет ничего лишнего, да?

Но допустим мы все же вынуждены иметь дело с классом, у которого есть поведение, но экземпляр класса создавать не хотим? К счастью, и для этого найдется достаточно простое решение. Мы просто скинем всю статику, которая есть в объекте в companion object:

class Some {  companion object {    fun doSome(any: Any) = run {}  }}

Теперь мы можем сделать так же, как и с объектом.

Factory методы

Для начала я приведу пример кода:

val other = Other()val stuff = other.produceStuff()val some = Some(stuff)

Лично мне он не нравится. Логическая цепочка тут нарушена, поскольку мы в первую очередь хотим понимать что создание экземпляра класса Other и вызов его метода нужны просто чтобы создать экземпляр класса Some, но запись не дает моментально этого понять.

Конечно, мы можем заинлайнить его:

val some = Some(  Other().produceStuff())

Но у меня есть вариант получше. Было бы неплохо, если бы мы могли привязать логику, нужную только для создания объекта к... созданию объекта? И мы можем, для этого нам всего лишь нужно написать вот такой Factory-метод:

class Some {  companion object Factory {    inline fun <T>create(t: T?, f: (T?) -> Stuff) = Some(f(t))  }}

Теперь мы можем сделать так:

val some = Some(Other()) { it.doStuff() }

Или если класс Other тоже имеет свой фабричный метод:

val some = Some.create(Other) { it.create().doStuff() }

Понимаю, на первый взгляд вообще стало хуже. но что если функций и необходимых объектов в иерархии станет сильно больше? Иерархия может быть достаточно большой, а данные могут требовать много преобразований. Не пытайтесь использовать это всегда и везде, но задумайтесь об этом на стадии рефакторинга.

Подводные камни функций-расширений

Предполагаю, что не знать о наличии в Котлине возможности писать функции-расширения и как это делать могут совсем новички, но на всякий случай я объясню. Это функция, с которой вы можете взаимодействовать так же, как с методом класса. Вот как это выглядит:

fun Some.foo() = run { }

Или если хотите экзотики:

val foo: Some.() -> Unit = {  }

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

Теперь, давайте поговорим о ссылках на функции-расширения. Если мы сделали ее через val то все просто и понятно, передаем ее просто как foo и ничего лишнего, работаем как с любой другой переменной. Но если через fun, появляются нюансы, на которые имеет смысл обратить внимание.

Давайте посмотрим на вот такой код:

class Some {  fun Other.someExtention() = run { }}

В принципе, ничто не мешает нам так сделать, но есть одно "но", из-за которого я считаю это очень плохой практикой.

Все дело в том, что передать ссылку на эту функцию просто не получится. Никак. Даже внутри самого класса. Если так сделать, то Котлин просто не поймет, как обращаться к этой функции - как к методу класса Some или Other.

Однако, если мы, например, вынесем расширения в отдельный файлик под расширения определённого класса или вообще растащим их по пакетам на свое усмотрение - сможем легко обратиться к функции как Some::someExtention. Естественно, в данном случае класс или объект не важно - поведение будет одинаковым.

P.S.

Кстати, если вы немножко копались в устройстве Котлина, то вот вам еще немного бесполезной информации. Допустим, вы решили непонятно зачем использовать вместо нормального способа передачи функции как параметра класс KFunction.

fun Some.overlay(f: KFunction1<Some, Any>) = f(this)

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

Подробнее..

Перевод Почему Kotlin хуже, чем Java?

20.05.2021 18:13:57 | Автор: admin

Такой провокационный вопрос задал реддитор nenemen в сабреддите Java:

Я думаю о том, чтобы свой следующий проект сделать на Kotlin + Spring Boot, но мощь всенародной любви к Kotlin и одновременно ненависти к Java заставляют всё это походить на какой-то культ. Поэтому хотел бы услышать аргументы против.

Мы в FunCorp в своё время сделали именно такой выбор в пользу Kotlin. И сегодня соотношение Java/Kotlin у нас составляет примерно 20 на 80, продолжая уменьшаться при каждом удобном случае. Поэтому ответы на этот вопрос меня заинтересовали, и я стал листать секцию комментариев. Там наткнулся на реплику реддитора rzwitserloot, которая мне показалась настолько взвешенной, многосторонней и рациональной, что я захотел поделиться ей с нашей командой, а заодно и читателями Хабра.

Далее перевод его аргументов.

Причины использовать Java вместо Kotlin

1. Kotlin более проприетарный. Например, изрядное количество подробностей внутренней работы kotlinc скрыто внутри сгенерированных файлов классов, представляющих из себя аннотации @Metadata с бинарными данными (байтовыми массивами, разрешёнными в аннотациях) внутри. Насколько мне известно, эти данные не описаны ни в каких публичных спецификациях. Также многие типы в Kotlin жёстко закодированы. Это вполне утилитарный подход, но он означает, что без IDEA (автор, видимо, имел в виду JetBrains компанию-разработчик языка Kotlin и серии IDE для работы с разными языками программирования прим. переводчика) Kotlin немедленно умрет. Конечно, это мелкая придирка, но, возможно кому-то этот недостаток открытости будет важен.

2. Есть ощущение, что и сообщество, и IDEA продвигают Kotlin так, будто это Java, но без уродливых нашлёпок. Но что из этого следует? Останется ли Kotlin языком, который чрезвычайно легко освоить, если вы уже знаете Java и так похож на Java, что вы можете взаимозаменять Java и Kotlin, а также вызывать одно из другого почти без усилий в обозримом будущем (в этом случае я вижу проблемы, о которых расскажу ниже)? Или это был способ первоначальной популяризации и роста пользовательской базы, чтобы быстро заполучить сразу кучу Java-разработчиков и дать им возможность постепенно переводить свой код с одного языка на другой шаг за шагом, используя совместимость вызовов и двойную компиляцию? В этом случае к будущему языка тоже есть много вопросов. Мне кажется, что ребята, делающие Kotlin, думали, что оба варианта верные, но на самом деле они взаимоисключающие. Если попросить людей, которые понимают в Kotlin больше моего, объяснить, почему два следующих варианта неверны или не приведут в будущем к проблемам, то сначала решите между собой, что такое Kotlin и для чего он предназначен.

Если Kotlin всегда будет как Java, только лучше

Это реальная проблема. Лучше всего объяснить её на примере новой фичи языка.

Все фичи Kotlin делятся на три категории:

  • Что-то, что уже было в Java, когда Kotlin только проектировался. Тогда Kotlin берёт знакомые Java-разработчикам конструкции, и либо следует им дословно, либо делает по-своему, исходя из своих соображений что такое хорошо. Кстати, перестановка местами типа и имени переменной или отказ от точек с запятой мне не кажутся хорошими идеями. Но текст и так довольно длинный, плюс это в изрядной мере личные предпочтения, так что не будем об этом.

  • Что-то, чего в Java не было и нет до сих пор. Они решили, что это нечто важное и сделали полностью по-своему.

  • Что-то, чего в Java раньше не было, но теперь появилось. Если Kotlin очень повезло, то в Java это сделали достаточно похоже, и разработчику в процессе переучивания с Java на Kotlin это не создаёт проблем. Но что, если это не так?

Суть в том, что со временем всё больше и больше фич Kotlin будут попадать в третью категорию, и поэтому подход как Java, только лучше обречён.

Приведу пример: присвоение типа конструкцией instanceof. Когда она появилась в Kotlin, в Java такого функционала не было даже в проекте: не было ни JEP, ни постов в блогах или рассылках (например amber-dev@openjdk.net).Такое поведение instanceof решает типичную задачу: проверить, принадлежит ли переменная к подходящему классу, и если да то работать с данными в переменной с учётом этого.

В Java вплоть до 14-й версии это выглядело так:

if (x instanceof String) {String y = (String) x;System.out.println(y.toLowerCase());}

В Kotlin сделали примерно так:

if (x instanceof String) {// теперь x имеет тип String!System.out.println(x.toLowerCase());}

Но в Java версии 16+ стало так:

if (x instanceof String y) {System.out.println(y.toLowerCase());}

Получается, что оба языка имеют способ обработать описанный сценарий, но разными способами. Я уверен, что если бы мог вдавить огромную кнопку сброс, разработать Kotlin с нуля и снова выпустить сегодня бета-версию, то в Kotlin было бы сделано так же, как сейчас в Java. Учитывая, что синтаксис Java более мощный: мы можем сделать с ним намного больше, чем просто проверить тип (например, деконструировать типы-значения). Нам даже не нужен блок кода, а можно написать прямо так:

if (!(x instanceof String y)) return;System.out.println(y.toLowerCase());

В целом, следующие несколько релизов Java расширяли этот принцип, добавляя много типов присвоения.

Теперь Kotlin должен сделать выбор:

  1. Всё сломать, убить старый способ и переделать как в Java. Это будет катастрофой, и потому крайне маловероятно. Такой вариант сломает огромную кучу чужого кода и навсегда подорвёт доверие к языку. Кому нужен инструмент, который будет ломаться каждый год или два?

  2. Оставить всё как есть. Это значит, что аргумент перейти с Java на Kotlin легко будет всё слабее и слабее с каждым новым релизом и новой фичей Java.

  3. Оставить всё как есть и добавить новый синтаксис. Звучит хорошо, но это значит, что с каждым своим релизом Kotlin будет накапливать вдвое больше плохих решений, чем Java. Со временем Kotlin превратится в ужасную разбухшую помойку формата куча-способов-сделать-одно-и-то-же. Это приведёт к тому, что изучать Kotlin будет сложнее, а пользы это не принесёт.

  4. Более хитроумное, но сложное решение. Например, сделать оба варианта, но исходный объявить устаревшим и через какое-то время удалить. Это означает, что Kotlin навсегда останется в тени Java без единого шанса оттуда выбраться.

Ни один из этих пунктов не кажется хорошим. Что приводит к более позитивному варианту номер два: начать отходить в сторону от синтаксиса Java. Отсюда следует:

Как Java, но лучше было способом получить первоначальное ускорение и пользовательскую базу

Часики тикают. Java не стоит на месте, а значит через год или три пропасть между ними станет достаточно глубокой, чтобы Kotlin перестал быть как Java, но лучше. Он станет совершенно другим языком.

Это не худший вариант, но количество историй успеха новых языков программирования (видимо, автор имел в виду языки, работающие в JVM прим. переводчика) исчезающе мало. Scala, например, практическ мёртв. Конечно, он собрал изрядно хайпа, на него перешёл Twitter, организовал кучу классных митапов для разрабов, и на сегодня у Scala меньше пользователей, чем было тогда. Это подтверждается инструментами типа TIOBE, которые оставляют желать лучшего в части точности, но давайте будем честны с собой: набирает ли Scala обороты в последнее время? Fan/Fantom зашёл в абсолютный тупик, Groovy не подаёт признаков жизни настолько, что Gradle пытается диверсифицироваться от него подальше. JRuby и Jython появились и исчезли, в том смысле, опять же, что никого они не вдохновили.

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

Ему придётся опираться только на себя и перестать рекламировать доступность всех преимуществ Java и её экосистемы. Пример с instanceof уже демонстрирует, почему я думаю, что Kotlin не будет лучше Java: почти каждая новая фича, которая появилась в Java недавно или вот-вот появится (в смысле, имеет активный JPE и обсуждается в рассылках) выглядит более продуманной, чем любая фича Kotlin. Java развивается в сторону доступа к нативным 80-битным регистрам CPU сложных типов, сохраняющих производительность и требования к памяти как у примитивов, так и в целой новой парадигме программирования, основанной на присвоении типов и деконструировании значений.

[конец перевода]

От себя: очень хочется не согласиться с этим суждением, но в комментариях на Hacker News большинство контраргументов опровергаются. Например, поддержка со стороны Google штука во многом политическая, которая в любой момент может прекратиться, когда тяжба с Oracle закончится. Да и дефицит внимания характерная вещь для Google, пример Dart отбивает охоту делать на него ставку. Нативная поддержка null, которая греет душу любого котлиниста, легко заменяется в Java на обёртку из Optional.ofNullable. Data-объекты могут быть заменены более богатым функционалом record. Скорость компиляции, да и в целом производительность в Kotlin по сравнению с Java тоже оставляют желать лучшего.

Как думаете, сохранит Kotlin свою популярность через пять лет и почему?

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru