Comments 29
И в котлине, но там я думаю из скалы взято.
Чем и откуда вдохновляются бывает написано в самих JEPах, причём с описанием того, как "это было бы в нашем случае": как поддерживать, на что влияет, как тестировать и т.д. и т.п. (это ответ и комментаторам ниже).
Про интерполяцию упомянуто, что это отдельная тема. Сначала запилят одно, потом итеративно другое. Собственно, и релизный цикл этому способствует.
По словам Брайана Гетца:
Многие люди считают, что Java должна сделать многострочные строковые литералы такими же, как в Swift или Rust. Однако подход «просто делай то, что делает язык X» по сути своей безответственен; почти каждая особенность каждого языка обусловлена другими особенностями этого языка. Вместо этого нужно узнать, как работают другие языки, оценить компромиссы, которые они выбрали(явным и неявным образом), и спросить, что можно применить к ограничениям языка, который у нас есть, и ожиданиям пользователей в нашем сообществе.
Для JEP 326 (необработанные строковые литералы) мы рассмотрели многие современные языки программирования и их поддержку многострочных строковых литералов. Результаты этих опросов повлияли на текущее предложение, например, на выбор трех «символов для разделителей(хотя были и другие причины) и признание необходимости автоматического управления отступами.
Не знаю чем «вдохновлялись» создатели блоков текстаНу раз java принадлежит теперь ораклу, то вдохновлялись, вестимо, оракловым диалектом SQL ;)
Интересно почему предидуший jep отменили. Выглядело неплохо…
Автор не стал переводить раздел "Альтернативы", а зря. Там подробнее описывается опыт с Raw String Literals.
Я не переводчик, но вкратце: что-то у них там не зашло с разделителями строки в её содержимом. Они хотели сделать такой случай сразу неэкранируемым, но этот вариант "плохо бы поддерживался в будущем".
На мой взгляд проблема именно в том что идёт копирование фич, а самостоятельное развитие языка крайне неспешно. Позиция догоняющего не очень хороша. В котлине например сейчас экспериментируют с инлайн классами которых вроде бы нет в других языках (не уверен на 100%)
В котлине например сейчас экспериментируют с инлайн классами которых вроде бы нет в других языках (не уверен на 100%)Похоже на value class в Скале.
Будет скорее всего в 2.14, возможно в 2.13 под фича флагом
В Java 13 хотят добавить «текстовые блоки»