El final del bombo: lo que le espera al idioma Scala a continuación


Siempre ha habido mucha publicidad y juicios ambiguos en torno al lenguaje Scala.


Ahora el debate se ha calmado, pero en Twitter hubo informes de la partida de algunos participantes importantes de compañías que desarrollaron activamente el ecosistema del lenguaje Scala. A este respecto, una vez más se habló de que Scala lo es todo.


En respuesta a esto, uno de los miembros muy activos de la comunidad (Li Haoyi) describió su visión del futuro camino del lenguaje Scala.


Obtuvo un artículo interesante, así que decidí traducirlo.


, .
. , .

, 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 le gustó este blog o si le gustó usar otras bibliotecas de código abierto de Haoyi, conéctese (o haga que su empresa se una) a través de Patreon para que pueda continuar con su trabajo de código abierto.


All Articles