Мучают ли Андрея Бреслава ошибки в дизайне Kotlin, которые уже нельзя исправить// Мы обречены #6

kx3etkaax5ur0aedayy0mmmpam8.png

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

С одной стороны — мне досадно. Я понимаю, что их задавали все остальные — но я же не задавал. Я, наверное, последний чисто гуманитарный журналист в России, которому хочется рассказывать людям об инженерной стороне индустрии, а не только о поднятых миллионах успешных бизнесменов; и который не будет задавать вот это жалкое “ну объясни моим слушателям на пальцах, как это работает, чтобы они поняли”.

С другой стороны — характеры людей понятны и интересны лично мне больше, чем технологии, и я рад, когда крутой разработчик, готов рассказывать о себе, как о человеке, а не рабочей единице.

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



Несколько цитат из подкаста

Почему больше не интересно говорить про разработку


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

У меня есть потребность разговаривать о другом. Мне сейчас больше интересны гуманитарные темы — про психотерапию, полиаморию, гендерный баланс. Мне очень хочется реализовывать эти стороны своей личности. Инженерные стороны я реализовал — хочу и другие тоже.

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

Об отношении к успеху Kotlin


Да, я думаю это достижение, которое многим кажется крутым. После этого я немного успокоился.

Я всегда был самоуверенным — это и сильная сторона, и недостаток. Ведь надо было еще вписаться делать такой проект, уговорить себя, что ты можешь. И меня не пришлось уговаривать вообще. Я был уверен, что да, конечно, пойдем и сделаем. Было ощущение, что он может не взлететь. Но что сделаем — вопроса вообще не стояло.

Моя самоуверенность раньше была более тревожная. Я думал так — “вот, я же крутой, вдруг все остальные этого не поймут”. Сейчас у меня меньше тревоги, и я даже не уверен, что это связано с самим успехом Котлина. Это кумулятивный эффект из разных вещей.

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

Появилось спокойствие от понимания реальных масштабов рисков.

Мучают ли ошибки в дизайне Kotlin, которые уже нельзя исправить


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

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

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

Таким людям проще в том смысле, что они уже многое знают заранее. А я не знал, как и очень многие, у кого успешные системы были первыми. Они не знали, где мины разложены. Просто набивали шишки.

Мне кажется пользователь любой популярной системы смотрит и думает — “Господи, почему тут сделано так!?” Да потому что тот, от кого это все зависело, когда-то давно просто не угадал. Ну так бывает — не угадал человек.

Какую бы ошибку исправил в первую очередь, если бы вернулся в прошлое


Самая главная лажа — я не стал набирать команду в самом начале.

Нужно было набирать команду. От этого зависит куча всего. Котлин зарелизился в 16-ом году, и это было очень поздно. Он вышел уже после Java 8. Многие очень важные вещей с точки зрения продвижения языка пошли бы совсем по-другому, если бы я в первые годы не тупил и набирал команду.

Другой ответ еще лучше — надо было искать ментора по управлению проектом. Тогда мне было 26 лет, писать код я худо-бедно умел, про языки программирования я понимал лучше многих, а вот управлять людьми не умел совсем. Надо было искать человека, который умеет, и просить его мне подксказывать.

Вот это было бы лучшее, что я мог сделать, и тогда Котлин был бы гораздо круче, чем он есть сейчас.

© Habrahabr.ru