Skip to content

Commit

Permalink
org.jetbrains.org.objectweb.asm.ByteVector.encodeUTF8 maxByteLength w…
Browse files Browse the repository at this point in the history
…orkaround.
  • Loading branch information
IRus committed Apr 16, 2017
1 parent 8a35ef5 commit 354fedd
Showing 1 changed file with 4 additions and 2 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ import link.kotlin.scripts.LinkType.article
import java.time.LocalDate

// language=Markdown
val body = """
val body1 = """
Сегодня пятница, а пятница на хабре — это отличный день для чего-то необычного. Сегодня я предлагаю вашему вниманию интервью с **Дмитрием [yole](https://habrahabr.ru/users/yole/) Жемеровым**, человеком, который приложил руку и к IntelliJ IDEA, PyCharm, Kotlin и многим другим продуктам компании JetBrains.
О чем мы поговорили:
Expand Down Expand Up @@ -195,7 +195,9 @@ IDEA, конечно, все равно полезна и помогает, но
Развитие кода за 15 лет было довольно феноменальное. Вначале это была монолитная Java IDE, у которой не было вообще никакого API. То есть когда делался релиз 1.0 мы поняли, что сделать API для плагинов – это два лишних месяца работы, а денег тогда было очень ограниченное количество. Надо было выпускать продукт, и получать деньги от продаж. Потом в версии 3.0 появился какой-то Plugin API, потом он постоянно расширялся. Потом появилась поддержка не только Java, но и других языков. В версии 5.0 появился JavaScript в частности. В итоге получилось сделать IDE, в которой про Java нет ничего.
В PyCharm нет ничего про Java внутри. Это стоило заметного количества усилий. Потом у нас появились компилятор Kotlin и Upsource. Код, который был распилен по одной оси, чтобы отделить Java от не Java, нужно было теперь распилить по другой оси, чтобы отделить UI от не-UI. В Kotlin’овском компиляторе нет никакого редактора. Там компилятор. Там есть файловая система, есть PSI, то есть, модель для работы с кодом. Есть еще несколько таких абстракций. Но там нет ничего визуального.
"""

val body2 = """
Соответственно, это была отдельная большая работа – сделать так, чтобы можно было сложить в такую кучку классы и платформы, чтобы они этим свойствам удовлетворяли. Не было никаких шансов сохранить совместимость API в процессе всех этих трансформаций.
— **Для этого все используют механизм версионности. Вы можете сказать, что внутри Major-версии у вас API фиксированный. От Major к Major менять API и сопровождать изменения гайдлайнами или туториалами.**
Expand Down Expand Up @@ -397,5 +399,5 @@ Article(
lang = RU,
author = "Алексей Фёдоров",
date = LocalDate.of(2015, 7, 31),
body = body
body = body1 + body2
)

0 comments on commit 354fedd

Please sign in to comment.