5 ms·
Scala.js author here. Ask me anything ;)
by sjrd 9y ago
Scala.js author here. Ask me anything ;)
- atemerev 9y agoDo your know that you have done the impossible and single-handedly revived Scala? It was slowly dying two years ago, with all that Dotty uncertainty and Typesafe->Lightbend transition. Then you came and showed us that Scala can be productively used beyond JVM. A new hope appeared, Scala-native was inspired by your example, and Dotty was upgraded from a purely academic exercise to a viable pragmatic way to Scala 3. The attitude was "if Scala.js guys did it, so can we". So thank you, from me and all Scala hackers out there. Martin owes you a beer. :)
- sjrd 9y agoThank you for your kind words :) It's always nice to see that one's work is appreciated!
- adriaanm 9y ago> Typesafe->Lightbend transition The renaming never affected the staffing of the Scala team at Lightbend -- we've been doing about 2/3 of core Scala development (major thank you to the community for the other third!) since 2.10 (when I went from post-doc in Martin's lab to the Scala team lead position). In my opinion, it was a good thing that feature development slowed down in Scala 2.x (while Martin pushed the research frontier forward in Dotty), so we could focus on (in no particular order) compiler performance, a new back-end and optimizer, Java 8 support, modularization,...
- atemerev 9y agoYes, it all went in a good way. However, this was a scary time, observing Typesafe (now Lightbend) slowly transforming into a garden variety enterprise Java consulting shop, and watching more and more core platforms like Akka being adapted back to Java... Things look better now. :)
- adriaanm 9y agoGood to hear! I agree :-) It was a necessary transition because we need to keep attracting customers that initially are reluctant to invest in Scala training. We've found our Java APIs to be a potent gateway drug to Scala, with many of our customers who begin with the Java APIs quickly realizing they'll be even more productive with Scala :-)
- AheadOfTime295 9y agoFacilitating contributions from the Scala community, what can be improved: [0] https://github.com/scala/scala/pull/5515 https://github.com/scala/scala/pull/5515 [1] https://failex.blogspot.nl/2017/04/why-i-didnt-sign-scala-cla.html https://failex.blogspot.nl/2017/04/why-i-didnt-sign-scala-cl...
- virtualwhys 9y agoThe in-process Scala collections library overhaul, what impact will that have on Scala.js when Scala 2.13 lands? From what I've seen so far there hasn't been much in the way of removals. Ideally the compiler and standard library would be as small as possible in order to help Scala.js streamline generated application binaries.
- sjrd 9y agoHopefully the new design means less interdependencies between all the collections. That would mean that the reachability analysis of Scala.js could be more aggressive in its dead code elimination.
- AzzieElbab 9y agoIs there any way or anything in the works that would allow dealing with JSON without relying on libs that originated on JVM? They always feels like quite a bit of an overkill considering that underlying platform is JS.
- sjrd 9y agoSure, you can just use `js.Dynamic`, or write `trait`s describing the "schema" of your JSON, and of you go. Let's say you have have an array of Persons with a name and age, you can type it as: @ScalaJSDefined trait Person extends js.Object { var name: String var age: Int } type Persons = js.Array[Person] Done deal. With the new option `-P:scalajs:sjsDefinedByDefault` of this release, you don't even need the `@ScalaJSDefined`.
- AzzieElbab 9y agothanks -P:) awesome! takes circe out of the equation when talking to graphql which is already "typed"