Akhir dari hype: Apa yang menunggu bahasa Scala selanjutnya


Selalu ada banyak hype dan penilaian ambigu di sekitar bahasa Scala.


Sekarang perdebatan telah mereda, tetapi ada pesan di Twitter tentang kepergian beberapa peserta penting dari perusahaan yang secara aktif mengembangkan ekosistem bahasa Scala. Dalam hubungan ini, sekali lagi ada pembicaraan bahwa Scala adalah segalanya.


Menanggapi hal ini, salah satu anggota komunitas yang sangat aktif (Li Haoyi) menggambarkan visinya tentang jalur masa depan bahasa Scala.


Dia punya artikel yang menarik, jadi saya memutuskan untuk menerjemahkannya.


, .
. , .

, 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.


Jika Anda menyukai blog ini, atau suka menggunakan perpustakaan open source Haoyi lainnya, silakan sambungkan (atau minta perusahaan Anda bergabung!) Melalui Patreon sehingga dapat melanjutkan pekerjaan open source-nya.


All Articles