Как стать автором
Обновить

Комментарии 29

Не знаю чем «вдохновлялись» создатели блоков текста, но если Скалой (а там это реализовано точно также), то хочется, чтобы вдохновились еще сильнее и сделали уже и интерполяцию.
Ага. Самое смешное, что и в груви это реализовано сто лет как, и тоже вполне удобно. И почему бы не срисовать с хороших примеров — не ясно.
наверно всякие обсуждения, тестирование, регрессия. я видел в java journal давно даже показывали как добавить в язык свои конструкции чтобы их компилировал javac и там делали «Elvis Operator ?:». Казалось бы что мешает вот так прямо взять и добавить это в язык? видимо процессы

Еще в Swift так же.

И в котлине, но там я думаю из скалы взято.

В Dart тоже.

Чем и откуда вдохновляются бывает написано в самих JEPах, причём с описанием того, как "это было бы в нашем случае": как поддерживать, на что влияет, как тестировать и т.д. и т.п. (это ответ и комментаторам ниже).


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

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

По словам Брайана Гетца:

Многие люди считают, что Java должна сделать многострочные строковые литералы такими же, как в Swift или Rust. Однако подход «просто делай то, что делает язык X» по сути своей безответственен; почти каждая особенность каждого языка обусловлена ​​другими особенностями этого языка. Вместо этого нужно узнать, как работают другие языки, оценить компромиссы, которые они выбрали(явным и неявным образом), и спросить, что можно применить к ограничениям языка, который у нас есть, и ожиданиям пользователей в нашем сообществе.


Для JEP 326 (необработанные строковые литералы) мы рассмотрели многие современные языки программирования и их поддержку многострочных строковых литералов. Результаты этих опросов повлияли на текущее предложение, например, на выбор трех «символов для разделителей(хотя были и другие причины) и признание необходимости автоматического управления отступами.
НЛО прилетело и опубликовало эту надпись здесь
Не знаю чем «вдохновлялись» создатели блоков текста
Ну раз java принадлежит теперь ораклу, то вдохновлялись, вестимо, оракловым диалектом SQL ;)
Ну раз java принадлежит теперь ораклу


Теперь? Уже вроде несколько лет как.

Интересно почему предидуший jep отменили. Выглядело неплохо…

Автор не стал переводить раздел "Альтернативы", а зря. Там подробнее описывается опыт с Raw String Literals.


Я не переводчик, но вкратце: что-то у них там не зашло с разделителями строки в её содержимом. Они хотели сделать такой случай сразу неэкранируемым, но этот вариант "плохо бы поддерживался в будущем".

А не слишком сильно похоже на Python? Там так само
Не только в Python «так само», в JVM языках Groovy и Scala также. А еще, судя по комментариям, в C# и Swift. Просто в случае с jvm-языками, можно посмотреть как реализовано технически.
и даже С++ последние 8 лет.
С каждым релизом Java все больше становиться похожа на C#.
Вы рады этому или негодуете?
Рад. Это напоминает ситуацию с iOS и Android. Изначально один был скопирован с другого, теперь черпают друг у друга фичи. Конечный пользователь выигрывает в любом случае.

На мой взгляд проблема именно в том что идёт копирование фич, а самостоятельное развитие языка крайне неспешно. Позиция догоняющего не очень хороша. В котлине например сейчас экспериментируют с инлайн классами которых вроде бы нет в других языках (не уверен на 100%)

Я считаю, что брать лучшие практики — хорошая стратегия развития. Описание inline class Котлина напоминает делегат.
Вы что, хотите, как в java script?!
В котлине например сейчас экспериментируют с инлайн классами которых вроде бы нет в других языках (не уверен на 100%)
Похоже на value class в Скале.
value class немного костыльные и не всегда работают, поэтому в скале работают над новым механизмом — opaque types
Будет скорее всего в 2.14, возможно в 2.13 под фича флагом
НЛО прилетело и опубликовало эту надпись здесь
Остаётся её только сделать для Enterprise Edition, а для Standard Edition и Community закрыть лицензионным соглашением…
Выглядит отлично. Жаль, что LTS будет нескоро.
Спасибо за статью! Интересно было почитать
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации