Do Andrei Breslav torment Kotlin design mistakes that cannot be fixed // We are doomed # 6



Andrey Breslav hardly speaks about Kotlin recently. Twice I called him for an interview, and both times he asked me not to discuss technical issues.

On the one hand, I am annoyed. I understand that everyone else asked them - but I didn’t. I’m probably the last purely humanitarian journalist in Russia who wants to tell people about the engineering side of the industry, and not just about the millions of successful businessmen raised; and who will not ask this pathetic “well, explain to my listeners on the fingers how it works so that they understand.”

On the other hand, the characters of people are more understandable and interesting to me personally than technologies, and I am glad when a cool developer is ready to talk about himself as a person, not as a working unit.

I took the first interview from Breslav a year ago, but never released him. The second was called into the podcast along withfillpackart. He reflected on the successes and mistakes in Kotlin, fought with our stereotypes about polyamory, listened to complaints about life and attached a powerful lecture with the justification of dynamic typing.




A few quotes from the podcast

Why is it no longer interesting to talk about development


I’ve been doing Kotlin for ten years, and for the last six years everyone wants to talk with me only about him. Everyone has the same questions about Kotlin, I'm terribly tired of answering them. No offense - it’s just very difficult to find a question that someone has not asked in these six years. It seems that this is simply useless - I already answered, all the materials can be found and read. I'm sick of terribly, just terribly.

I have a need to talk about something else. I am now more interested in humanitarian topics - about psychotherapy, polyamory, gender balance. I really want to realize these aspects of my personality. I implemented the engineering aspects - I want others too.

I often find myself talking about areas in which I am poorly versed. Immediately I begin to draw conclusions - I have such a property. I do not have the patience to carefully sort out, read literature, make sure that this was not the first thing I came up with. But speaking of things outside of development, I don’t have the feeling that I am completely out of place. On the contrary - it seems I can bring a new look.

About Kotlin's attitude to success


Yes, I think this is an achievement that seems cool to many. After that I calmed down a bit.

I have always been self-confident - this is both a strength and a disadvantage. After all, it was still necessary to fit in to do such a project, to convince yourself that you can. And I did not have to persuade at all. I was sure that yes, of course, let's go and do it. There was a feeling that he might not fly up. But what to do - there was no question at all.

My self-confidence used to be more disturbing. I thought so - "now, I'm cool, suddenly everyone else will not understand this." Now I have less anxiety, and I'm not even sure that this is due to the very success of Kotlin. This is a cumulative effect of different things.

I was like psychotherapy - this also removed some types of anxiety. I screwed up so many times in different things and found out the real consequences of mistakes. They seemed to be catastrophic, but were far from what I was afraid of. And in general they are not what I expected - the consequences worked in completely different places.

Calm came from understanding the real extent of the risks.

Are Kotlin design flaws that cannot be fixed


There are no such mistakes that I did not sleep at night. But there are things that come up, and every time it’s such a joke. There are a lot of places where it was necessary either to do something small in another way, or to turn something important in the other direction. But I understand that this is the case with everyone.

Any person who has made a large complex system that cannot be redone because such people use it has such thoughts. Especially as in my case - if this system was the first in their life.

There are people who made one language, a compiler, a virtual machine, a database — any complex system, and it has not gained popularity. Then another, third and only fourth attempt took off. And when the fourth attempt, there is already an understanding of where to look; what is important and what does not matter. Not only in things that can be understood mathematically - rather in terms of perception by others.

It’s easier for such people in the sense that they already know a lot in advance. And I did not know, like so many who had successful systems first. They did not know where the mines were laid out. Just stuffed bumps.

It seems to me that the user of any popular system looks and thinks - “Lord, why is this done here !?” Yes, because the one on whom it all depended, once long ago simply did not guess. Well it happens - a person has not guessed.

What mistake would be corrected in the first place, if I had returned to the past


The most important crap - I did not begin to recruit a team at the very beginning.

It was necessary to recruit a team. A lot of everything depends on it. Kotlin was launched in the 16th year, and it was very late. It came out after Java 8. Many very important things from the point of view of language promotion would have gone completely different if I hadn’t been dumb in the first years and typed a team.

Another answer is even better - you had to look for a mentor for project management. Then I was 26 years old, I somehow knew how to write code, I understood better about programming languages ​​than many, but I did not know how to manage people at all. I had to look for a person who knows how to, and ask him to tell me.

That would be the best I could do, and then Kotlin would be much cooler than he is now.

All Articles