This is a pretty huge deal. Our backend API depends pretty much exclusively on these, and everything is wrapped in them. Performance enhancements for these will bubble into basically every Scala Play app.
Scala 2.13 is now available
51–60 of 87 posts
Re: Scala 2.13 is now available
#52Extremely excited with the release! I work at a fashion renting company and our backends are built on top of Scala stack. Contrary to popular belief, Scala is actually quite a simple language. Most of our engineers came from PHP or Python, or Ruby and all have expressed how type safety gave them great assurances that everything works if it compiles. On top of that the behaviour of the language is very predictable! We…
You mentioned PHP or Python, or Ruby devs. How was your experience on-boarding programmers with no Scala experience?
First step was to learn SBT, which in itself is simple (building projects, dependencies, plugins).
Later we have them do scala exercises (scala-exercises.org) to understand Scala basics, and the philosophy behind Scala, onboard on Framework (Play/Lagom).
Then we move on to Slick, and then Future API, error handling with Try, for yield comprehension, map and flatMap, collections, and of course implicits.
The rest would be comments on pull request.
Re: Scala 2.13 is now available
#53Extremely excited with the release! I work at a fashion renting company and our backends are built on top of Scala stack. Contrary to popular belief, Scala is actually quite a simple language. Most of our engineers came from PHP or Python, or Ruby and all have expressed how type safety gave them great assurances that everything works if it compiles. On top of that the behaviour of the language is very predictable! We…
To me this is possibly the biggest attraction, Scala feels solidly build and still somehow manages to resemble the fun of using a scripting languages.
And for the same reasons.
Re: Scala 2.13 is now available
#54I work at a major online fashion aggregator and my team uses Scala extensively for our search API (with Twitter's Finatra) and also in several of our data pipeline systems (Akka, Spark). When I joined a few years ago, I was honestly not most excited about working with Scala, but the more I got into it, the more I realised that Scala got a lot of things just right. In particular, I really miss working with the collect…
I used Scala five-ish years ago, and I loved it, but I had two qualms: 1. The community was terribly split between FP purists who wanted to write Haskell on the JVM and pragmatists who leaned more towards the "better Java" side of things. Plus the occasional ex-Rubyists who came up with method names consisting solely of interpunction ("embedded DSL!"). Has any side won? It would be nice to have anything resembling "i…
In idiomatic example of this style is the ByteString library that is used by akka.
Re: Scala 2.13 is now available
#55Earlier quoted context omitted.
I heard that some are fearmongering that Scala 3 will be as big of the change like Perl 6 and as a result no one will ever use it. I'm not familiar with dotty but somehow it doesn't make sense that Scala core devs would be stupid enough to repeat the same mistakes that Perl did.
A few differences between Scala2-to-3 and Perl5-to-6 or Python 2-to-3: * Scala 2.14 and Scala 3 will be binary compatible (via an intermediate form called TASTY) * The Scala 3.0 compiler will accept most Scala 2.14 source minus some deprecations that have been coming for a while * Scala is a compiled language and a statically typed one at that, so any source incompatibility or library API incompatibility will be caug…
Re: Scala 2.13 is now available
#56Re: Scala 2.13 is now available
#57Earlier quoted context omitted.
I used Scala five-ish years ago, and I loved it, but I had two qualms: 1. The community was terribly split between FP purists who wanted to write Haskell on the JVM and pragmatists who leaned more towards the "better Java" side of things. Plus the occasional ex-Rubyists who came up with method names consisting solely of interpunction ("embedded DSL!"). Has any side won? It would be nice to have anything resembling "i…
I don't think any side has won, but from what I gather Odersky thinks pragmatic functional is the way to go, i.e. only mutate when it brings substantial benefits to code clarity over a pure approach. That is, the default should always be functional, but use an imperative style where it makes sense.
For example, the other day there was a PR for creating a simple csv report and they wrote something like
val buffer = new StringBuffer()
buffer.add(header)
buffer.add("\n")
someList.forEach { item =>
val values: List[String] = someTransformation(item)
buffer.add(values.mkString(","))
buffer.add("\n")
}
buffer.toString
which is fine and readable, but it doesn't really seem like having side-effects (even though the scope was contained in the function and there weren't any worries about thread safety) aren't worth it over doing something like val rows: List[String] = someList.map { item =>
val values: List[String] = someTransformation(item)
values.mkString(",")
}
(header :: rows).mkString("\n") + "\n" // I forgot whether they appended the string with a line break or not...Re: Scala 2.13 is now available
#58Interesting that so many fashion companies use scala :)
And all of them are Zalando. =)