Scala 3 нарешті вийшла!
Scala 3 нарешті вийшла! 🎉 Після 8 років роботи 28 000 коммітів, 7 400 pull реквестів, 4 100 вирішених проблем. З моменту першого комміту 6 грудня 2012 року понад 100 людей зробили свій внесок у проєкт. Сьогодні Scala 3 містить останні дослідження в області теорії типів, а також галузевий досвід Scala 2. Розробники проаналізували, що добре (або не дуже добре) працювало для спільноти в Scala 2 та на основі цього досвіду створили третю ітерацію Scala — просту у використанні, вивченні та масштабуванні.
З чого почати?
У Scala 3 багато нових функцій і розробники радять починати з вивчення її документації.
Щоб сповна насолодитися фічами нової ітерації Scala, ви також можете почитати статтю New in Scala 3.
Більш детальну інформацію знайдете у книзі Scala 3.
Scala 3 можна спробувати онлайн без інсталяції. Якщо ви хочете встановити нову Scala, подивіться цей гайд.
Макроси — те, що повністю змінилося в Scala 3 у порівнянні зі Scala 2, про що детально можна почитати у документації.
Якщо у вас є проєкти, які ви захочете перевести зі Scala 2 на Scala 3, Керівництво з міграції допоможе вам у цьому. У ньому описана історія сумісності між попередньою та новою ітерацією: сумісність початкового коду, бінарна сумісність, змінені та видалені функції, метапрограмування.
Екосистема
Scaladex — індекс бібліотек Scala, у якій ви можете досліджувати екосистему з мовної версії, платформи або типу роботи, яку виконує бібліотека. На момент публікації новини в Scala 3 налічується 309 ранніх бібліотек в порівнянні з 2604 бібліотеками Scala 2.13.
Випуски та гарантії в епоху 3.x
Розробники мови мають намір випускати оновлення кожні 6 тижнів після релізу 3.0.0, щоразу підвищуючи версію патча. Стабільний випуск 3.0.x передуватиме реліз-кандидат 3.0.x-RC1 за 6 тижнів до стабільного випуску. Такі випуски патчів міститимуть виправлення помилок, що впливають на відповідну додаткову версію. Версії виправлень матимуть пряму і зворотну сумісність одна з одною щодо сумісності з першокодом, бінарної та TASTy сумісності.
Також в наступних додаткових версіях з’являтимуться нові мовні функції та стандартні бібліотечні API. Як і будь-яке додавання в бібліотечні API, вони можуть порушити сумісність початкового коду незначними, рідкісними способами. Однак, другорядні випуски не порушать зворотну сумісність або сумісність з TASTy. Конкретно це означає, що бібліотеки, створені за допомогою Scala 3.0.0, будуть продовжувати працювати зі Scala 3.x.y!
56 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів