La fin du battage médiatique: ce qui attend la langue Scala prochaine


Il y a toujours eu beaucoup de battage médiatique et de jugements ambigus autour de la langue Scala.


Maintenant, le débat s'est calmé, mais sur Twitter, il y a eu des rapports sur le départ de certains participants importants d'entreprises développant activement l'écosystème linguistique Scala. À cet égard, une fois encore, il a été dit que Scala est tout.


En réponse à cela, l'un des membres très actifs de la communauté (Li Haoyi) a décrit sa vision de la voie future de la langue Scala.


Il a reçu un article intéressant, alors j'ai décidé de le traduire.


, .
. , .

, Scala, , , , . , , , , Scala Scala.


:


, Typesafe/Lightbend, , , .

Scala . " Clojure", , , Scala 2016 . , .

Jamie Allen


, Scala, , : , .. . , , Scala, , - ( , COVID19 ), , , Scala.


, , , «Hype Cycle», :



Scala , : , , , Apache Spark. , . , , .


:


Scala 2004 , 2010- :


~2009: Twitter


~2010: Scalaz


~2011: Lightbend, Scala


~2014: Apache Spark Scala


~2015: Cats


Scala , , . , , , Apache Spark, . :



Scala : , , / ( ), . , - , .


, HTTP- Databinder Dispatch, Scala-Graph SBT:


// Making a HTTP request and processing the output in Databinder Dispatch
executer(:/(host, port) / target << reqBody >- { fromRespStr })

// Constructing a simple directed graph with labelled edges in Scala Graph
val flights = Graph(
    (jfc ~+#> fra)(Flight("LH 400" ,10 o 25, 8 h 20)),
    (fra ~+#> dme)(Flight("LH 1444", 7 o 50, 3 h 10))

// Append the contents of a URL to a File after filtering through grep using SBT
url("http://databinder.net/dispatch/About") #> "grep JSON" #>> file("About_JSON") !

// Search for uses of null in the source directory using SBT
"find src -name *.scala -exec grep null {} ;"  #|  "xargs test -z"  #&&  "echo null-free"  #||  "echo null detected"  !

Scala API . , >- ~+#> #&& , . , , Scala - Scala.



, Lightbend Akka Actor, . , «» , , .


Akka Actors , Scala: , API . Akka , Scala, , .


, Typed Actors Reactive Streams, , Scala. , : , , . .



Scala Scalaz Cats. Haskell Scala: , , - .


, . , Scala.


Apache Spark


, Scala, Apache Spark. , Apache Spark Scala , map, filter reduce, , . Apache Spark API Hadoop — .


Apache Spark Scala. Scala Scala , - Spark.


Apache Spark API- : SQL, R, Python. Python . API, API , API SQL, , , Apache Spark. , Apache Spark Scala.



, . , . , : , , .


, , 2016-2018 .


. , , . , , , , . , .


2010-, . , . , , : Scala , .


, « ».


:


Scala 2010-, - 2010-. ?




, Scala . , IP-, Maven Central, 2 . , .


, , , : Scala . , , Scala .


Redmonk Tiobe, , Scala , 13 28 . , .


, Scala , , . , Scala , .



, Scala , :


  • SBT , .
  • SBT, : Bazel Pants Scala, Mill .
  • , Coursier, : Ammonite SBT Mill
  • Metals Scala VSCode, Sublime Text .
  • Intellij Scala : , , Ammonite Mill.
  • Scala 2.13 API (, 25-40% Sjsonnet)
  • «» , , .
  • , , .


, , , . 2017 , , Scala, !


Scala, , .



, - Scala. , , , , , , . , , .


, : , .


Scala : , , , . Scala Haskell, Python, Java Go. , , Scala , , , - .


Actors, , . , , Free Applicatives, . , : , , , Scala.



, , , Scala?


Scala . Java- , , «» , , () Python (, Azure-CLI!).


, Scala , . , :



Scala : . , , FP-Cats / Scalaz: - .


?


- Python : « », . Python. Python. , Python. , Python , , , .


Scala , Python?


— , . , Python. :



, Scala , Python. Python — , , — Scala . Scala Python, Java Go, -, . !


, , , , Scala, , .


Scala Native


Scala.js Scala : Javascript, JVM, , Scala , .


Scala-Native : Scala . Scala , JVM Javascript .
Scala.js Scala , Scala-Native Scala :


  • , git, ls, rsync .., JVM.
  • , - JVM Scala .
  • iOS iPhone iPad, .
  • , JVM JVM .
  • , Tensorflow.

, C C ++. Rust Go, -C , Nim, Zig Crystal, . Scala-Native , .


Scala-Native , Scala.js. , Scala.js , Javascript, Scala-Native : , , . . , Scala.



Scala , , , , . , , , , , . Scala , , -, Scala.


, .


, , . , . , . , . 2 !


, Scala , - , . , , : , , , iOS . Jetbrains 2019 Python, , Python:


Scala / Spark, , Scala . Scala , , / , Scala , , , Scala .


: (Haoyi) — -, Scala.js Scala , Ammonite REPL FastParse.


Si vous avez aimé ce blog, ou si vous avez aimé utiliser d'autres bibliothèques open source Haoyi, veuillez vous connecter (ou faire adhérer votre entreprise!) Via Patreon afin qu'il puisse continuer son travail open source.


All Articles