SCALA 3



8年間の作業の後、28,000のコミット、7,400のプルリクエスト、4,100のクローズされた問題-Scala3がついにリリースされました。2012年12月6日の最初のコミット以来、100人以上がプロジェクトに貢献してきました。今日のScala3には、型理論の最新の研究とScala 2の業界経験が含まれています。Scala2のコミュニティで何がうまくいくか(またはうまくいかないか)を見ました。この経験に基づいて、Scalaの3回目の反復を作成しました。使用するのは簡単です。使用、調査、拡張。



クールな新機能:どこから始めればよいですか?



Scala 3にはたくさんの新機能があり、これらすべてをどこから学び始めたらよいのか疑問に思われるかもしれません。 Scala 3を学ぶのに最適な場所は、そのドキュメントにあり ます



Scala 3に含まれているすべての新機能を味わうには、記事 Scala3新機能」を読むことができます 。簡略化されたより詳細な紹介については、Scala 3Bookを参照してください Scastieを介してコンピューターに何もインストールせずにScala3をオンラインで試すことも、スタートガイドに従ってコンピューターにインストールすることも でき ます。



Scala3ではScala2:マクロから1つ完全に変更されました。それらがScala3でどのように機能するかについて詳しくは、専用のドキュメントをご覧ください



経験豊富なScala2ユーザーの場合、Scala2からScala3に移行したいプロジェクトがある可能性があります。移行ガイドが役立ち ます。Scala2とScala3の間の互換性の歴史について説明します。ネイティブ互換性、バイナリ互換性、変更および削除された関数、メタプログラミング。



また、Scalaの旅についてサポートが必要場合は、他のScalaユーザーと話すためのさまざまなリソースをここで見つけることができます



生態系



誰がすでにScala3を使用していますか?すでにどのライブラリを使用できますか?この質問に答えるのに最適な場所は Scaladexです。Scaladexは、言語バージョン、プラットフォーム、またはライブラリが実行している作業の種類ごとにエコシステムを探索できるScalaライブラリインデックスです。この記事の執筆時点では、Scala 2.13の2,597に対して、Scala3には308のアーリーアダプターライブラリがあります。



3.x時代のリリースと保証



パッチをアップグレードするたびに、3.0.0以降6週間ごとにアップデートをリリースし続ける予定です。 3.0.xの安定版リリースの前に、安定版リリースの6週間前に3.0.x-RC1リリース候補があります。このようなパッチリリースには、対応するマイナーバージョンに影響するバグ修正が含まれます。パッチバージョンは、ソース互換性、バイナリ互換性、およびTASTy互換性の点で相互に上位互換性と下位互換性があります。



もちろん、エラーを修正するだけでなく、他の方法でも言語を開発し続けるつもりです。新しい言語機能と標準ライブラリAPIは、次の追加バージョンで表示されます。ライブラリAPIへの追加と同様に、マイナーでまれな方法でソースコードの下位互換性を損なう可能性があります。ただし、マイナーリリースでは、バイナリまたはTASTyの下位互換性が損なわれることはありません。具体的には、これは、Scala3.0.0で構築されたライブラリがScala3.xyで引き続き機能することを意味します。



ライブラリ作成者:コミュニティに参加する



Scala 3には現在、Scala 3の毎晩のスナップショット用に作成された、広く使用されている一連の公共図書館があります。現在67のプロジェクトがあり、急速に成長しています。コミュニティビルド参加して 、リグレッションパッケージにライブラリが含まれていることを確認してください。



寄稿者



このリリースを可能



したすべての貢献者に感謝します 。gitshortlog-sn--no-merges 2308509d2651ee78e1122b5d61b798c984c96c4d..3.0.0によると、Scala3を実現した貢献者は次のとおりです。



リスト
8661 Martin Odersky

3186 Nicolas Stucki

1435 Guillaume Martres

976 Dmitry Petrashko

797 Liu Fengyun

774 Felix Mulder

407 Allan Renucci

324 liu fengyun

324 Olivier Blanvillain

323 Martin Duhem

224 Aleksander Boruch-Gruszecki

204 Jamie Thompson

201 Krzysztof Romanowski

200 Sébastien Doeraene

172 Paolo G. Giarrusso

171 Bryan Abate

163 Aggelos Biboudis

162 Anatolii Kmetiuk

160 Anatolii

129 Robert Stoll

103 bishabosha

103 Filip Zybała

101 Miles Sabin

82 Antoine Brunner

64 poechsel

64 Guillaume Raffin

62 Tom Grigg

61 Lan, Jian

55 noti0na1

54 Andrzej Ratajczak

51 odersky

50 Nikita Eshkeev

44 Guillaume R

37 Stéphane Micheloud

34 Enno Runne

33 Sara Alemanno

31 Paweł Marks

30 Ondrej Lhotak

29 Som Snytt

29 Abel Nieto

26 Ruslan Shevchenko

25 VladimirNik

23 Adrien Piquerez

22 Raphael Jolly

22 Jonathan Brachthäuser

22 Michał Pałka

20 vsalvis

20 Tobias Bordenca

20 Fengyun Liu

19 Martijn Hoekstra

19 Samuel Gruetter

19 Phil

19 Maxime Kjaer

18 Jendrik Wenke

17 Jason Zaugg

16 Krzysztof Romanwoski

16 Arnaud ESTEVE

15 Dale Wijnand

14 Jaemin Hong

13 gzoller

13 Vlad Ureche

12 Miron Aseev

12 Wojtek Swiderski

11 Yichen Xu

11 Grzegorz Bielski

10 Sebastian Nadorp

10 Jentsch

10 bjornregnell

10 Arnaud Esteve

10 Dmytro Melnychenko

10 Lionel Parreaux

9 Jonathan Brachthäuser

9 yu-croco

9 Jasper Moeys

8 Clemens Winter

8 Lukas Rytz

8 Varunram Ganesh

8 Oron Port

8 Reto Hablützel

7 Ólafur Páll Geirsson

7 Varunram

7 benkobalog

7 Eugene Melekhov

6 jvican

6 Seth Tisue

6 Natsu Kagami

6 Thierry Treyer

6 Akhtiam Sakaev

6 Olivier ROLAND

6 Olafur Pall Geirsson

5 Nada Amin

5 Michael Pilquist

5 Ausmarton Zarino Fernandes

5 k0ala

5 Vlastimil Dort

5 Valthor Halldorsson

5 Travis Brown

5 Tomasz Godzik

5 Alex Merritt

5 Guillaume Massé

5 Alexander Myltsev

5 Saloni Vithalani

5 Raphael Bosshard

5 Julien Richard-Foy

4 Michał Gutowski

4 Sebastian Harko

4 fhackett

4 ysthakur

4 Ben Elliott

4 Raymond Tay

4 Ayush

4 Neeraj Jaiswal

4 Sarunas Valaskevicius

4 Lucas Burson

4 Dotty CI

4 Eric K Richardson

4 Vitor Vieira

4 Yevgen Nerush

4 Shane Delmore

4 Andrew Valencik

4 senia-psm

4 Minghao Liu

4 Matt D'Souza

4 Eugene Yokota

4 Hanns Holger Rutz

4 Alex Zolotko

4 Georg Schmid

4 Chris Birchall

4 december32

4 Ingar Abrahamsen

3 Michal Gutowski

3 Gabriele Petronella

3 Gabi Volpe

3 Master-Killer

3 Uko

3 Timothée Floure

3 xuwei-k

3 Eric Loots

3 Enno

3 Edmund Noble

3 Saurabh Rawat

3 Albert Chen

3 Jakob Odersky

3 Daniel Li

3 Dani Rey

3 ansvonwa

3 duanebester

3 Alexandre Archambault

3 jerylee

3 kenji yoshida

3 Artur Opala

3 Adriaan Moors

3 Ankit Soni

3 Adam Fraser

3 Pavel Shirshov

3 João Pedro Evangelista

3 Andrea Mocci

3 Krzysztof Bochenek

3 Tudor Voicu

2 Tobias Schlatter

2 Alden Torres

2 AnEmortalKid

2 Andrew Zurn

2 Ara Adkins

2 Artsiom Miklushou

2 Ashwin Bhaskar

2 Aurélien Richez

2 Camila Andrea Gonzalez Williamson

2 Dvir Faivel

2 Fabian Page

2 FabioPinheiro

2 Francois GORET

2 Glavo

2 Greg Pevnev

2 Henrik Huttunen

2 Hermes Espínola González

2 James Thompson

2 Jan Christopher Vogt

2 Jens Kat

2 Jim Van Horn

2 Jon Pretty

2 Lorand Szakacs

2 Luc Henninger

2 Lucas

2 Matthew Pickering

2 Matthias Sperl

2 Mikael Blomstrand

2 Nadezhda Balashova

2 Nikolay

2 Nikolay.Tropin

2 Patrik Mada

2 Philippus

2 Philippus Baalman

2 Radosław Waśko

2 Rafal Piotrowski

2 Robert Soeldner

2 Roberto Bonvallet

2 Rodrigo Fernandes

2 Steven Heidel

2 Thiago Pereira

2 Tudor

2 William Narmontas

2 changvvb

2 dos65

2 esarbe

2 johnregan

2 lloydmeta

2 typeness

2 veera venky

2 xhudik

2 ybasket

1 Jyotman Singh

1 Justin du Coeur, AKA Mark Waks

1 Julien Jean Paul Sirocchi

1 João Pedro de Carvalho

1 rsoeldner

1 Jonathan Skowera

1 Jonathan Rodriguez

1 Jon-Anders Teigen

1 ruben

1 Alexander Slesarenko

1 Pierre Ricadat

1 Piotr Gabara

1 squid314

1 tOverney

1 Raj Parekh

1 Rajesh Veeranki

1 John Sullivan

1 Johannes Rudolph

1 Joan

1 Jimin Hsieh

1 Richard Beddington

1 Rick M

1 Rike-Benjamin Schuppner

1 tanaka takaya

1 Jean Detoeuf

1 tanishiking

1 tim-zh

1 Jarrod Janssen

1 Jan Rock

1 Sam Desborough

1 Jakub Kozłowski

1 Sandro Stucki

1 Jacob J

1 Jaap van der Plas

1 Ivano Pagano

1 Ivan Youroff

1 Iltotore

1 Serhii Pererva

1 Igor Mielientiev

1 Ignasi Marimon-Clos

1 Simon Hafner

1 Simon Popugaev

1 Ian Tabolt

1 SrTobi

1 Stefan Zeiger

1 Stephane MICHELOUD

1 tokkiyaa

1 Stéphane MICHELOUD

1 Herdy Handoko

1 Szymon Pajzert

1 Harrison Houghton

1 Taisuke Oe

1 yytyd

1 Harpreet Singh

1 Haemin Yoo

1 Timur Abishev

1 Grzegorz Kossakowski

1 Tobias Kahlert

1 0xflotus

1 Greg Zoller

1 Tomas

1 George Leontiev

1 Florian Schmaus

1 zgrybus

1 Florian Cassayre

1 Ferhat Aydın

1 Umayah Abdennabi

1 Fedor Shiriaev

1 Dmitry Melnichenko

1 Dmitrii Naumenko

1 Vasil Vasilev

1 Victor

1 Deon Taljaard

1 Denis Buzdalov

1 Dean Wampler

1 David Hoepelman

1 Vykintas Narmontas (William)

1 Alexander Shamukov

1 DarkDimius

1 Daniel Reigada

1 Daniel Murray

1 Yilin Wei

1 Zoltán Elek

1 adpi2

1 aesteve

1 amanjpro

1 andreaTP

1 Damian Albrun

1 ayush

1 benkbalog

1 Csongor Kiss

1 Ciara O'Brien

1 Carlos Quiroz

1 brunnerant

1 =

1 costa100

1 Bunyod

1 dieutth

1 AlexSikia

1 Brian Wignall

1 张志豪

1 felher

1 Brandon Elam Barker

1 fschueler

1 gan74

1 gnp

1 gosubpl

1 Bojan Dunaj

1 iroha168

1 Ben Hutchison

1 Albert Serrallé Ríos

1 Batanick

1 Bartosz Krasiński

1 August Nagro

1 AngAng

1 Adam Trousdale

1 lpwisniewski

1 manojo

1 mentegy

1 mikhail

1 Mathias

1 msosnicki

1 Ang9876

1 Max Ovsiankin

1 Markus Kahl

1 Markus Hauck

1 Marc Karassev

1 Mads Hartmann

1 Lukas Ciszewski

1 Ang Hao Yang

1 Mike Samuel

1 Lucas Jenß

1 Li Haoyi

1 Lanny Ripple

1 Mohuety Kirisame

1 Krzysiek Bochenek

1 phderome

1 Kevin Dreßler

1 Keith Pinson

1 Kazuyoshi Kato

1 Kazuhiro Sera

1 Niklas Vest

1 Amadou CISSE

1 riiswa

1 Katrix

1 Karol Chmist

1 Ondra Pelech




All Articles